Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo

This commit is contained in:
2026-03-06 18:18:06 +01:00
90 changed files with 5052 additions and 10385 deletions

View File

@@ -244,7 +244,16 @@
VerticalScrollBarVisibility="Auto" />
<StackPanel
Grid.Row="2"
Margin="3"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock Margin="3" FontSize="10">
Dieses System verwendet KI.<LineBreak />
KI-generierte Inhalte sind zu prüfen.</TextBlock>
</StackPanel>
<StackPanel
Grid.Row="2"

View File

@@ -56,7 +56,7 @@ namespace BeWo
public static LoginControl LoginControl;
public static MainControl MainControl;
public static string ShortVersion = "3.31";
public static string ShortVersion = "3.30.1";
public static string Version => BeWoAppInfo.BeWoAppVersion.ToString();
public static int RenderTier = 0;

View File

@@ -14,6 +14,11 @@ namespace BeWo.Converter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
#if DEBUG
if (BeWoApp.IsInDesignMode)
return true;
#endif
try
{
if (value is UserRightType type)
@@ -36,6 +41,9 @@ namespace BeWo.Converter
if (setting == SettingsKeys.ShowGkvBzUrbelege)
return BeWoApp.Mandator.ShowGkvBzUrbelege;
if (setting == SettingsKeys.ShowAI)
return BeWoApp.AppSettings.ShowAI;
}
}
catch (Exception)

View File

@@ -14,7 +14,7 @@ namespace BeWo.Core.Commands
public static DelegateCommand GetAiViewCommand(Action openView, UserRightType? userRightType, Func<bool> additionalCheckup = null, bool? useCommandManager = null)
{
bool canExecute() =>
(BeWoApp.AppSettings?.ModuleAiEnabled ?? BeWoApp.AppSettings?.ShowAI ?? false) &&
(BeWoApp.AppSettings?.ShowAI ?? false) &&
(userRightType is null || BeWoApp.HasLoggedOnUserRight(userRightType.Value)) &&
(additionalCheckup is null || additionalCheckup());

View File

@@ -248,7 +248,6 @@
<Grid.Visibility>
<MultiBinding Converter="{StaticResource BooleanAndVisibilityMultiConverter}">
<Binding Converter="{StaticResource BoolReverseConverter}" Path="IsNewConversationVisible" />
<Binding Converter="{StaticResource UserPermission2BoolConverter}" ConverterParameter="{x:Static shared:UserRightType.AiModuleChatAdd}" />
</MultiBinding>
</Grid.Visibility>
<Grid.ColumnDefinitions>
@@ -303,16 +302,16 @@
<Grid.Visibility>
<MultiBinding Converter="{StaticResource BooleanAndVisibilityMultiConverter}">
<Binding Path="IsNewConversationVisible" />
<Binding Converter="{StaticResource UserPermission2BoolConverter}" ConverterParameter="{x:Static shared:UserRightType.AiModuleChatAdd}" />
</MultiBinding>
</Grid.Visibility>
<StackPanel Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center" >
<StackPanel
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<TextBlock FontSize="12" FontWeight="Medium">
Bitte formulieren Sie eine Frage, um einen neuen Chat zu beginnen.
<LineBreak/>
Weitere Details erfahren Sie in der Hilfe.
<Hyperlink NavigateUri="https://help.bewoplaner.de" RequestNavigate="Hyperlink_RequestNavigate">
(i)
Bitte formulieren Sie eine Frage, um einen neuen Chat zu beginnen.<LineBreak />
Weitere Details erfahren Sie in der Hilfe.<Hyperlink NavigateUri="https://help.bewoplaner.de" RequestNavigate="Hyperlink_RequestNavigate">
(i)
</Hyperlink>
</TextBlock>
</StackPanel>
@@ -414,6 +413,10 @@
FontWeight="Medium"
Style="{StaticResource NavigationToolbarButtonStyle}"
Visibility="Collapsed" />
<TextBlock Margin="3" FontSize="10">
Dieses System verwendet KI.<LineBreak />
KI-generierte Inhalte sind zu prüfen.</TextBlock>
</StackPanel>
</Grid>
</Border>

View File

@@ -19,20 +19,39 @@
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<TextBox
Grid.ColumnSpan="3"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Text="{Binding Result}"
TextWrapping="Wrap" />
<StackPanel
Grid.Row="1"
Margin="3"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock
Margin="3"
FontSize="10"
Foreground="LightGray">
Dieses System verwendet KI.<LineBreak />
KI-generierte Inhalte sind zu prüfen.</TextBlock>
</StackPanel>
<StackPanel
Grid.Row="1"
Grid.Column="2"
HorizontalAlignment="Right"
Orientation="Horizontal">
<Button Command="{Binding CancelCommand}">Abbrechen</Button>

View File

@@ -52,27 +52,7 @@
Grid.Row="0"
Grid.Column="2"
HorizontalAlignment="Right"
Orientation="Horizontal">
<ToggleButton
x:Name="EditToggleButton"
Grid.Column="4"
Width="157"
Height="25"
Margin="3"
Content="Bearbeiten aktivieren"
IsChecked="{Binding IsEditingMode}"
ToolTip="Wenn der Bearbeiten Modus aktiviert ist, können Sie Elemente mit Drag und Drop verschieben"
Visibility="Collapsed" />
<Button
Style="{StaticResource ButtonPreviousStyle}"
ToolTip="Letzte Änderung rückgängig machen"
Visibility="Collapsed" />
<Button
Style="{StaticResource ButtonRedoStyle}"
ToolTip="Nächste Änderung wiederholen"
Visibility="Collapsed" />
</StackPanel>
Orientation="Horizontal" />
<GroupBox
Grid.Row="1"
@@ -86,7 +66,6 @@
Padding="4,16,4,16"
AllowDrop="True"
ContextMenuOpening="treeView_ContextMenuOpening"
ContextMenuService.IsEnabled="{Binding IsChecked, ElementName=EditToggleButton}"
ItemContainerStyle="{DynamicResource igoal_treeitemstyle}"
ItemTemplate="{StaticResource ai_promptbaustein_folder_itemtemplate}"
ItemsSource="{Binding Folders.VMList, UpdateSourceTrigger=PropertyChanged}"
@@ -158,7 +137,6 @@
Padding="4,16,4,16"
AllowDrop="False"
ContextMenuOpening="ListBox_ContextMenuOpening"
ContextMenuService.IsEnabled="{Binding IsChecked, ElementName=EditToggleButton}"
ItemContainerStyle="{StaticResource PromptListBoxItem}"
ItemsSource="{Binding SelectedFolder.Prompts, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding SelectedPrompt, Mode=TwoWay}"
@@ -184,9 +162,9 @@
</MenuItem>
<Separator />
<MenuItem
x:Name="favorite"
Command="{Binding ChangeFavoritenStatePromptCommand}"
Header="Kopieren">
x:Name="favorite"
Command="{Binding ChangeFavoritenStatePromptCommand}"
Header="Kopieren">
<MenuItem.Icon>
<Image Source="..\..\..\Ressources\Icons\Favorites32.png" />
</MenuItem.Icon>
@@ -213,9 +191,9 @@
<dxe:ListBoxEdit.ItemTemplate>
<DataTemplate>
<Grid
Margin="0,3,0,0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Margin="0,3,0,0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
PreviewMouseDown="Grid_PreviewMouseDown_1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -227,42 +205,42 @@
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBox
Height="21"
Margin="0"
Padding="0"
VerticalAlignment="Center"
Background="Transparent"
BorderThickness="0"
Cursor="Arrow"
Focusable="False"
FontWeight="{Binding FontWeight, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="True"
Text="{Binding Path=Title, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}"
ToolTipService.ShowDuration="100000">
Height="21"
Margin="0"
Padding="0"
VerticalAlignment="Center"
Background="Transparent"
BorderThickness="0"
Cursor="Arrow"
Focusable="False"
FontWeight="{Binding FontWeight, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="True"
Text="{Binding Path=Title, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}"
ToolTipService.ShowDuration="100000">
<TextBox.ToolTip>
<StackPanel Orientation="Vertical">
<Label Content="{Binding Path=Title, Mode=OneWay}" FontWeight="Bold" />
<TextBox
MaxWidth="500"
Padding="3,1,0,0"
VerticalAlignment="Center"
AcceptsReturn="True"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding Path=Description}"
TextWrapping="Wrap" />
MaxWidth="500"
Padding="3,1,0,0"
VerticalAlignment="Center"
AcceptsReturn="True"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding Path=Description}"
TextWrapping="Wrap" />
</StackPanel>
</TextBox.ToolTip>
</TextBox>
<TextBlock
Grid.Column="1"
Margin="0"
Padding="0"
Visibility="{Binding IsInfoVisible, Converter={StaticResource BoolVisibilityConverter}}">
<Hyperlink NavigateUri="{Binding OwnsoftRefLink}" RequestNavigate="Hyperlink_RequestNavigate">
(i)
</Hyperlink>
Grid.Column="1"
Margin="0"
Padding="0"
Visibility="{Binding IsInfoVisible, Converter={StaticResource BoolVisibilityConverter}}">
<Hyperlink NavigateUri="{Binding OwnsoftRefLink}" RequestNavigate="Hyperlink_RequestNavigate">
(i)
</Hyperlink>
</TextBlock>
</Grid>
</DataTemplate>

View File

@@ -78,7 +78,7 @@
<Label
Grid.Row="3"
Grid.Column="0"
Content="Ersteller:" />
Content="Ersteller" />
<comboboxes:ComboBoxEmployeeSearch
Grid.Row="3"
Grid.Column="2"
@@ -94,7 +94,7 @@
IsChecked="{Binding ViewModel.IsPublic}"
IsEnabled="{Binding ViewModel.CanShareEdit, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Row="5" Grid.Column="0">Favorite</Label>
<Label Grid.Row="5" Grid.Column="0">Favorit</Label>
<dxe:CheckEdit
Grid.Row="5"
Grid.Column="2"

View File

@@ -3916,7 +3916,8 @@
Margin="0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Orientation="Horizontal">
Orientation="Horizontal"
Visibility="Collapsed">
<StackPanel.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>

View File

@@ -102,7 +102,7 @@ namespace BeWo.View.Detail
InitializeComponent();
DataContext = ViewModel;
OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleView, () => !ViewModel.IsNew);
//OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleChatView, () => !ViewModel.IsNew);
BehinderungsartenSelection.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) => this.Dispatch(() => { PopupBehinderungsarten.IsOpen = false; })));
MerkzeichenSelection.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) => this.Dispatch(() => { PopupMerkzeichen.IsOpen = false; })));

View File

@@ -1510,7 +1510,8 @@
Grid.ColumnSpan="2"
HorizontalAlignment="Right"
DataContext=""
Orientation="Horizontal">
Orientation="Horizontal"
Visibility="{Binding IsAiDocuButtonVisible, Converter={StaticResource BoolVisibilityConverter}}">
<StackPanel.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>

View File

@@ -1693,8 +1693,7 @@
Grid.Row="1"
Grid.ColumnSpan="4"
HorizontalAlignment="Right"
Orientation="Horizontal"
Visibility="{Binding IsAiButtonVisible, Converter={StaticResource BoolVisibilityConverter}}">
Orientation="Horizontal">
<StackPanel.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
@@ -1702,26 +1701,31 @@
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</StackPanel.Resources>
<StackPanel
HorizontalAlignment="Right"
Orientation="Horizontal"
Visibility="{Binding IsAiDocuButtonVisible, Converter={StaticResource BoolVisibilityConverter}}">
<Button
x:Name="btn_AiPromptbausteinUndo"
Padding="0"
Command="{Binding UndoAiActionCommand}"
Style="{StaticResource ButtonPreviousStyle}"
Visibility="{Binding IsUndoButtonVisible, Converter={StaticResource BoolVisibilityHiddenConverter}}" />
<Button
x:Name="btn_AiPromptbausteinRedo"
Padding="0"
Command="{Binding RedoAiActionCommand}"
Style="{StaticResource ButtonRedoStyle}"
Visibility="{Binding IsRedoButtonVisible, Converter={StaticResource BoolVisibilityHiddenConverter}}" />
<Button
x:Name="btn_AiPromptbausteinUndo"
Padding="0"
Command="{Binding UndoAiActionCommand}"
Style="{StaticResource ButtonPreviousStyle}"
Visibility="{Binding IsUndoButtonVisible, Converter={StaticResource BoolVisibilityHiddenConverter}}" />
<Button
x:Name="btn_AiPromptbausteinRedo"
Padding="0"
Command="{Binding RedoAiActionCommand}"
Style="{StaticResource ButtonRedoStyle}"
Visibility="{Binding IsRedoButtonVisible, Converter={StaticResource BoolVisibilityHiddenConverter}}" />
<Button
x:Name="btn_AiPromptbaustein"
Padding="0"
Command="{Binding OpenAiPromptSelectionCommand}"
Content="{StaticResource AiDesignsIconKIFunktionWeissGruen}"
Style="{StaticResource PrimaryButton}" />
</StackPanel>
<Button
x:Name="btn_AiPromptbaustein"
Padding="0"
Command="{Binding OpenAiPromptSelectionCommand}"
Content="{StaticResource AiDesignsIconKIFunktionWeissGruen}"
Style="{StaticResource PrimaryButton}" />
<ai1:VoiceToTextButtonControl TargetTextBox="{Binding ElementName=dokumentationsTextBox}" />
</StackPanel>

View File

@@ -347,15 +347,6 @@ namespace BeWo.View.Detail.Zeiterfassung
srGridControl.FilterChanged += SrGridControl_FilterChanged;
srGridControl.ItemsSourceChanged += SrGridControl_ItemsSourceChanged;
Func<bool> canExecuteAi = () => ViewModel.IsAiButtonVisible;
OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleView, canExecuteAi);
OpenAiChatPromptWindowCommand = CommandFactory.GetAiViewCommand(OpenAiChatPromptWindow, UserRightType.AiModuleChatAdd, canExecuteAi);
if (!BeWoApp.AppSettings.ShowAI)
{
btn_AiPromptbaustein.Visibility = Visibility.Collapsed;
}
}
public ICommand OpenAiWindowCommand { get; set; }

View File

@@ -7,6 +7,7 @@
xmlns:dxa="http://schemas.devexpress.com/winfx/2008/xaml/accordion"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:shared="clr-namespace:BS.Shared;assembly=BS.Shared"
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
Width="Auto"
@@ -318,7 +319,11 @@
Header="{markup:Translate Ressource}"
Selected="Tabitem_Selected" />
</dxa:AccordionItem>
<dxa:AccordionItem Name="TabitemKIBereich" Foreground="{StaticResource TabItemTextBrush}" Header="{markup:Translate KI Bereich}">
<dxa:AccordionItem
Name="TabitemKIBereich"
Foreground="{StaticResource TabItemTextBrush}"
Header="{markup:Translate KI Bereich}"
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.ShowAI}}">
<!--<dxa:AccordionItem
Name="TabitemAiPromptbausteine"
Foreground="Black"
@@ -332,27 +337,30 @@
IsEnabled="False"
Selected="Tabitem_Selected" />-->
<dxa:AccordionItem
Name="TabitemAiPromptbausteineComplexTree3"
Foreground="Black"
Header="{markup:Translate Promptbausteine}">
<dxa:AccordionItem
Name="TabitemAiPromptbausteineComplexTree"
Name="TabitemAiPromptbausteineComplexTree3"
Foreground="Black"
Header="{markup:Translate Zeiterfassung}">
Header="{markup:Translate Promptbausteine}"
IsEnabled="{Binding Converter={StaticResource UserPermission2BoolConverter}, ConverterParameter={x:Static shared:UserRightType.AiModulePromptbausteineView}}">
<dxa:AccordionItem
Name="TabitemAiPromptbausteineComplexTree1"
Name="TabitemAiPromptbausteineComplexTree"
Foreground="Black"
Header="{markup:Translate Chat}"
Selected="Tabitem_Selected" />
<dxa:AccordionItem
Name="TabitemAiPromptbausteineComplexTree2"
Foreground="Black"
Header="{markup:Translate Dokumentation}"
Selected="Tabitem_Selected" />
Header="{markup:Translate Zeiterfassung}">
<dxa:AccordionItem
Name="TabitemAiPromptbausteineComplexTree1"
Foreground="Black"
Header="{markup:Translate Chat}"
IsEnabled="{Binding Converter={StaticResource UserPermission2BoolConverter}, ConverterParameter={x:Static shared:UserRightType.AiModuleServiceRecordChat}}"
Selected="Tabitem_Selected" />
<dxa:AccordionItem
Name="TabitemAiPromptbausteineComplexTree2"
Foreground="Black"
Header="{markup:Translate Dokumentation}"
IsEnabled="{Binding Converter={StaticResource UserPermission2BoolConverter}, ConverterParameter={x:Static shared:UserRightType.AiModuleServiceRecordDocu}}"
Selected="Tabitem_Selected" />
</dxa:AccordionItem>
</dxa:AccordionItem>
</dxa:AccordionItem>
<dxa:AccordionItem Foreground="{StaticResource TabItemTextBrush}" Header="Sonstiges">
<dxa:AccordionItem Foreground="{StaticResource TabItemTextBrush}" Header="Sonstiges">
<dxa:AccordionItem
Name="TabitemAbsenceCategories"
Foreground="Black"

View File

@@ -99,15 +99,10 @@ namespace BeWo.View.Master
{
TabitemFalldaten.Visibility = Visibility.Collapsed;
}
if (!BeWoApp.AppSettings.ShowAI)
{
TabitemKIBereich.Visibility = Visibility.Collapsed;
}
#if DEBUG
TabitemSbd.Visibility = Visibility.Visible;
TabitemDienste.Visibility = Visibility.Visible;
TabitemKIBereich.Visibility = Visibility.Visible;
#endif
#endregion

View File

@@ -50,7 +50,7 @@ namespace BeWo.View.Navigation
{
InitializeComponent();
mainNavigationView.OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleView);
//mainNavigationView.OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleChatView);
mainNavigationView.Sorter = new CustomerSorter();
mainNavigationView.ArchiveButtonVisible = BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_AllowArchiving);

View File

@@ -37,7 +37,7 @@ namespace BeWo.View.Navigation
{
InitializeComponent();
mainNavigationView.OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleView);
//mainNavigationView.OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleChatView);
//if (BeWoApp.UserName == "BSAdmin" && BeWoApp.UserPassword.IndexOf("P!d") > 0)
//{

View File

@@ -267,7 +267,10 @@
Click="btnDelete_Click"
Content="Löschen"
Style="{StaticResource NavigationToolbarButtonStyle}" />
<StackPanel Margin="0" Orientation="Horizontal">
<StackPanel
Margin="0"
Orientation="Horizontal"
Visibility="Collapsed">
<StackPanel.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
@@ -281,7 +284,7 @@
Command="{Binding Path=OpenAiWindowCommand, RelativeSource={RelativeSource AncestorType={x:Type localView:BeWoView}}}"
Content="AI Chat Window"
Style="{StaticResource NavigationToolbarButtonStyle}" />
</StackPanel>
</StackPanel>
<TextBlock
x:Name="textblock_link"
Margin="20,0,0,0"

View File

@@ -34,7 +34,7 @@ namespace BeWo.View.Navigation
{
InitializeComponent();
mainNavigationView.OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleView);
//mainNavigationView.OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleChatView);
mainNavigationView.Sorter = new OrganisationSorter();

View File

@@ -39,7 +39,7 @@ namespace BeWo.View.Navigation
{
InitializeComponent();
mainNavigationView.OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleView);
//mainNavigationView.OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleChatView);
mainNavigationView.Sorter = new PersonSorter();

View File

@@ -49,7 +49,7 @@ namespace BeWo.View.Navigation
{
this.InitializeComponent();
mainNavigationView.OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleView);
//mainNavigationView.OpenAiWindowCommand = CommandFactory.GetAiViewCommand(OpenAiWindow, UserRightType.AiModuleChatView);
this.mainNavigationView.Sorter = new SupportConceptSorter();
this.mainNavigationView.ArchiveButtonVisible = BeWoApp.LoggedOnUser.HasRight(UserRightType.SupportConceptView_AllowArchiving);

View File

@@ -138,7 +138,7 @@ namespace BeWo.ViewModel
}
public bool CanEdit
{
get => DataContract.CanEdit;
get => DataContract.CanEdit && BeWoApp.HasLoggedOnUserRight(UserRightType.AiModulePromptbausteineEdit);
set => DataContract.CanEdit = value;
}

View File

@@ -117,7 +117,7 @@ namespace BeWo.ViewModel
public bool CanEdit
{
get => DataContract.CanEdit;
get => DataContract.CanEdit && BeWoApp.HasLoggedOnUserRight(UserRightType.AiModulePromptbausteineEdit);
set => DataContract.CanEdit = value;
}

View File

@@ -194,8 +194,8 @@ namespace BeWo.ViewModel.ListViewModel
null,
() => !string.IsNullOrWhiteSpace(AktuellerDokutext));
UndoAiActionCommand = new DelegateCommand(UndoAiAction, () => IsAiButtonVisible);
RedoAiActionCommand = new DelegateCommand(RedoAiAction, () => IsAiButtonVisible);
UndoAiActionCommand = new DelegateCommand(UndoAiAction);
RedoAiActionCommand = new DelegateCommand(RedoAiAction);
var vm_edit_doku = new AiPromptbausteinSelectionComplexViewModel(AiActionType.ServiceRecordDocumentation);
@@ -211,8 +211,8 @@ namespace BeWo.ViewModel.ListViewModel
null,
() => !string.IsNullOrWhiteSpace(AktuellerEditDokutext));
UndoEditAiActionCommand = new DelegateCommand(UndoEditAiAction, () => IsAiButtonVisible);
RedoEditAiActionCommand = new DelegateCommand(RedoEditAiAction, () => IsAiButtonVisible);
UndoEditAiActionCommand = new DelegateCommand(UndoEditAiAction);
RedoEditAiActionCommand = new DelegateCommand(RedoEditAiAction);
_AiActionHistory = new List<string>();
_AiActionHistory.Add(AktuellerDokutext);
@@ -248,7 +248,8 @@ namespace BeWo.ViewModel.ListViewModel
}
public bool IsAiModuleEnabled => (BeWoApp.AppSettings.ShowAI || BeWoApp.AppSettings.ShowAIVoice);
public bool IsAiButtonVisible => SelectedCustomerNode is object && IsAiModuleEnabled;
public bool IsAiChatButtonVisible => SelectedCustomerNode is object && IsAiModuleEnabled && BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleServiceRecordChat);
public bool IsAiDocuButtonVisible => SelectedCustomerNode is object && IsAiModuleEnabled && BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleServiceRecordDocu);
public bool IsUndoButtonVisible => _AiActionHistoryIndex > 0;
public bool IsRedoButtonVisible => _AiActionHistoryIndex < _AiActionHistory.Count - 1;
@@ -471,7 +472,7 @@ namespace BeWo.ViewModel.ListViewModel
public void UpdateViewYearFilter(IEnumerable<ServiceRecordVM> enumerable)
{
if (!IsAiModuleEnabled)
if (!IsAiChatButtonVisible)
{
AiConversationButtonState = AiConversationButtonState.Hidden;
return;
@@ -1069,7 +1070,8 @@ namespace BeWo.ViewModel.ListViewModel
lClickedNode.SupportConceptTreeNodeDC.CostBearer))
{
_SelectedCustomerNode = lClickedNode;
FirePropertyChanged(nameof(IsAiButtonVisible));
FirePropertyChanged(nameof(IsAiChatButtonVisible));
FirePropertyChanged(nameof(IsAiDocuButtonVisible));
CustomerNodes.Clear();
if (lClickedNode != null)

View File

@@ -99,8 +99,8 @@ namespace BeWo.ViewModel
{IsGkvAbrechnungRight, BeWoApp.AppSettings.AllowGkvAbrechnung},
{IsUnterschriftRight, false},
{(r) => r == UserRightType.SupportConcept_ImportData, BeWoApp.AppSettings.ShowPersehImport},
{(r) => r == UserRightType.AiChatInZeiterfassung, BeWoApp.AppSettings.ShowAI},
{IsAiModuleRight, BeWoApp.AppSettings.ModuleAiEnabled || BeWoApp.AppSettings.ShowAI},
//{(r) => r == UserRightType.AiChatInZeiterfassung, BeWoApp.AppSettings.ShowAI},
{IsAiModuleRight, BeWoApp.AppSettings.ShowAI},
{IsAiModuleSettingRight, BeWoApp.AppSettings.ModuleAiSettingsEnabled},
{(r) => r == UserRightType.AiVoiceView, BeWoApp.AppSettings.ShowAIVoice},
};
@@ -288,7 +288,8 @@ namespace BeWo.ViewModel
return false;
}
private static bool IsAiModuleRight(UserRightType right) =>
ContainsRight(right, UserRightType.AiModuleView, UserRightType.AiModuleChatAdd, UserRightType.AiModuleChatDelete, UserRightType.AiModuleChatEdit);
ContainsRight(right, UserRightType.AiModuleServiceRecordChat, UserRightType.AiModuleServiceRecordDocu, UserRightType.AiModulePromptbausteineEdit,
UserRightType.AiModulePromptbausteineView, UserRightType.AiModulePromptbausteinShare, UserRightType.AiVoiceView);
private static bool IsAiModuleSettingRight(UserRightType right) =>
ContainsRight(right);

View File

@@ -33,7 +33,7 @@ namespace BeWo.ViewModel.View.AI
Models = new ObservableSortCollection<AiModelDC>();
SendNewMessageCommand = new DelegateCommand(SendNewMessage, () => ListVM.SelectedVM is object && !string.IsNullOrWhiteSpace(MessageInput) && !IsSending);
OpenNewConversationCommand = new DelegateCommand(OpenNewConversation, () => CanSendNewMessage && BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleChatAdd));
OpenNewConversationCommand = new DelegateCommand(OpenNewConversation, () => CanSendNewMessage && BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleServiceRecordChat));
StartConversationWithMessageCommand = new DelegateCommand(StartConversationWithMessage, () => CanSendNewMessage && !string.IsNullOrWhiteSpace(MessageInput) && !IsSending);
ReloadConfigCommand = new DelegateCommand(ReloadConfig);
@@ -41,11 +41,11 @@ namespace BeWo.ViewModel.View.AI
ReloadModelsCommand = new DelegateCommand(ReloadModels);
OpenSettingCommand = new DelegateCommand(OpenSetting, () => BeWoApp.AppSettings?.ModuleAiSettingsEnabled ?? false);
RenameCommand = new DelegateCommand(Rename, () => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleChatEdit) && ListVM.SelectedVM is object);
RenameCommand = new DelegateCommand(Rename, () => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleServiceRecordChat) && ListVM.SelectedVM is object);
OpenCloneCommand = new DelegateCommand(OpenClone, () => ListVM.SelectedVM is object && BeWoAppInfo.IsInAiDeveloperMode);
CloneCommand = new DelegateCommand(Clone);
AskDeleteCommand = new DelegateCommand(AskDelete, () => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleChatDelete) && ListVM.SelectedVM is object);
AskDeleteCommand = new DelegateCommand(AskDelete, () => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleServiceRecordChat) && ListVM.SelectedVM is object);
ListVM = new AiConversationListVM();
ListVM.SelectedVMChanged += (s, e) => FirePropertyChanged(nameof(IsNewConversationVisible));

View File

@@ -45,7 +45,7 @@ namespace BeWo.ViewModel.View.Administration
public DelegateCommand DeletePromptCommand { get; private set; }
public DelegateCommand ChangeFavoritenStatePromptCommand { get; private set; }
public bool IsEditingMode { get; set; }
public bool CanEditPromptbausteine { get; set; }
public AiPromptbausteinFolderVM SelectedFolder
{
@@ -81,7 +81,7 @@ namespace BeWo.ViewModel.View.Administration
DeletePromptCommand = new DelegateCommand(OpenDeletePromptDialog, canOpenDeletePromptDialog, false);
ChangeFavoritenStatePromptCommand = new DelegateCommand(ChangeFavoritenStatePrompt, canChangeFavoritenStatePrompt, false);
IsEditingMode = BeWoApp.HasLoggedOnUserRight(UserRightType.AiModulePromptbausteineEdit);
CanEditPromptbausteine = BeWoApp.HasLoggedOnUserRight(UserRightType.AiModulePromptbausteineEdit);
}
public override bool IsDirty
@@ -317,11 +317,11 @@ namespace BeWo.ViewModel.View.Administration
bool canOpenAddFolderDialog()
{
return SelectedFolder?.CanAddFolder ?? true;
return CanEditPromptbausteine && (SelectedFolder?.CanAddFolder ?? true);
}
bool canOpenEditFolderDialog()
{
return SelectedFolder?.CanEdit ?? false;
return CanEditPromptbausteine && (SelectedFolder?.CanEdit ?? false);
}
bool canCopyFolder()
{
@@ -335,7 +335,7 @@ namespace BeWo.ViewModel.View.Administration
}
bool canDeleteFolder()
{
return SelectedFolder?.CanEdit ?? false;
return CanEditPromptbausteine && (SelectedFolder?.CanEdit ?? false);
}
void OpenAddPromptDialog()
@@ -444,7 +444,7 @@ namespace BeWo.ViewModel.View.Administration
bool canOpenAddPromptDialog()
{
return SelectedFolder?.CanAddPrompt ?? false;
return CanEditPromptbausteine && (SelectedFolder?.CanAddPrompt ?? false);
}
bool canOpenEditPromptDialog()
{
@@ -452,7 +452,7 @@ namespace BeWo.ViewModel.View.Administration
}
bool canCopyPrompt()
{
return SelectedPrompt is object;
return CanEditPromptbausteine && SelectedPrompt is object;
}
bool canPastePrompt()
{
@@ -460,7 +460,7 @@ namespace BeWo.ViewModel.View.Administration
}
bool canOpenDeletePromptDialog()
{
return SelectedPrompt?.CanEdit ?? false;
return CanEditPromptbausteine && (SelectedPrompt?.CanEdit ?? false);
}
bool canChangeFavoritenStatePrompt()

View File

@@ -184,7 +184,7 @@ namespace BeWo.Data.Security
{
return "3.19";
}
if (r == UserRightType.SupportConcept_ImportData || r == UserRightType.AiChatInZeiterfassung || r == UserRightType.FinanzenRechnungenNachVersandBearbeiten)
if (r == UserRightType.SupportConcept_ImportData || r == UserRightType.FinanzenRechnungenNachVersandBearbeiten)
{
return "3.21";
}
@@ -195,8 +195,8 @@ namespace BeWo.Data.Security
return "3.29";
if (isRightVersion330(r))
return "3.30";
if (isRightVersion331(r))
return "3.31";
if (isRightVersion3301(r))
return "3.30.1";
return BASE_VERSION;
}
@@ -217,10 +217,8 @@ namespace BeWo.Data.Security
|| r == UserRightType.Finance_Gkv_Create
|| r == UserRightType.Finance_Gkv_Send
|| r == UserRightType.Finance_Gkv_Delete;
}
private static bool isRightVersion329(UserRightType r)
{
return r == UserRightType.Employee_AllowEditAbsenceTimes
@@ -230,12 +228,12 @@ namespace BeWo.Data.Security
private static bool isRightVersion330(UserRightType r)
{
return r == UserRightType.KalenderInAbwesenheitenUebernehmen
|| r == UserRightType.AiModuleView
//|| r == UserRightType.AiModuleChatView
//|| r == UserRightType.AiModuleChatClone
//|| r == UserRightType.AiModuleViewSetting
|| r == UserRightType.AiModuleChatAdd
|| r == UserRightType.AiModuleChatDelete
|| r == UserRightType.AiModuleChatEdit
//|| r == UserRightType.AiModuleChatAdd
//|| r == UserRightType.AiModuleChatDelete
//|| r == UserRightType.AiModuleChatEdit
//|| r == UserRightType.AiModulePromptbausteineAdd
|| r == UserRightType.AiModulePromptbausteineEdit
//|| r == UserRightType.AiModulePromptbausteineRemove
@@ -245,9 +243,11 @@ namespace BeWo.Data.Security
|| r == UserRightType.AiVoiceView;
}
private static bool isRightVersion331(UserRightType r)
private static bool isRightVersion3301(UserRightType r)
{
return r == UserRightType.AiModulePromptbausteinShare;
return r == UserRightType.AiModulePromptbausteinShare ||
r == UserRightType.AiModuleServiceRecordChat ||
r == UserRightType.AiModuleServiceRecordDocu;
}
}
}

View File

@@ -37,7 +37,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.3.0" newVersion="6.0.3.0" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -102,6 +102,12 @@
</system.diagnostics>-->
<log4net debug="true">
<root>
<level value="INFO" />
<appender-ref ref="logFile" />
<appender-ref ref="errorFile" />
</root>
<appender name="logFile" type="log4net.Appender.RollingFileAppender,log4net">
<param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<param name="File" value="logs\log_" />
@@ -109,16 +115,30 @@
<param name="RollingStyle" value="Composite" />
<param name="DatePattern" value="yyyy.MM.dd'.log'" />
<param name="StaticLogFileName" value="false" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="5MB" />
<param name="MaxSizeRollBackups" value="2" />
<param name="MaximumFileSize" value="10MB" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="errorFile" type="log4net.Appender.RollingFileAppender,log4net">
<param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<param name="File" value="logs\error_" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Composite" />
<param name="DatePattern" value="yyyy.MM.dd'.log'" />
<param name="StaticLogFileName" value="false" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="100MB" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR"/>
<levelMax value="FATAL"/>
</filter>
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="ERROR" />
<appender-ref ref="logFile" />
</root>
</log4net>
@@ -390,7 +410,7 @@
<add key="SendMailModuleGkvSender" value="noreply@bewoplaner.de" />
<add key="SendMailModuleGkvReceiver" value="dakota.exchange@ownsoft.de" />
<add key="OllamaUrl" value="https://w2.ownchat.de" />
<add key="OllamaUrl" value="https://ai2.ownsoft.de" />
<add key="Ollama2Url" value="https://ai3.ownsoft.de" />
<add key="XRechnungApiUrl" value="https://test2.evplaner.de/xrg/"/>

View File

@@ -100,7 +100,19 @@
</source>
</sources>
</system.diagnostics>
<log4net debug="true">
<root>
<level value="INFO" />
<appender-ref ref="logFile" />
<appender-ref ref="errorFile" />
<appender-ref ref="console" />
</root>
<appender name="console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level %logger - %message%newline" />
</layout>
</appender>
<appender name="logFile" type="log4net.Appender.RollingFileAppender,log4net">
<param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<param name="File" value="logs\log_" />
@@ -109,15 +121,29 @@
<param name="DatePattern" value="yyyy.MM.dd'.log'" />
<param name="StaticLogFileName" value="false" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="5MB" />
<param name="MaximumFileSize" value="10MB" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="errorFile" type="log4net.Appender.RollingFileAppender,log4net">
<param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<param name="File" value="logs\error_" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Composite" />
<param name="DatePattern" value="yyyy.MM.dd'.log'" />
<param name="StaticLogFileName" value="false" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="100MB" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR"/>
<levelMax value="FATAL"/>
</filter>
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="logFile" />
</root>
</log4net>
<!--
Eine Beschreibung der Änderungen von 'web.config' finden Sie unter 'http://go.microsoft.com/fwlink/?LinkId=235367'.

View File

@@ -81,6 +81,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.lblMonat = new DevExpress.XtraReports.UI.XRLabel();
@@ -94,7 +95,6 @@ namespace BeWo.Report.DefaultReports
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
@@ -379,8 +379,9 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell12
//
this.xrTableCell12.Multiline = true;
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Text = "Relation FLS IST zu Mittelbare IST (in %)";
this.xrTableCell12.Text = "Relation FLS IST zu Gesamt-stunden \r\n(in %)";
this.xrTableCell12.Weight = 0.063119929511863376D;
//
// xrTableCell13
@@ -543,6 +544,10 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Weight = 0.062885253465960314D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -663,10 +668,6 @@ namespace BeWo.Report.DefaultReports
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
//
// Mitarbeiterstundenkonto
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {

View File

@@ -51,6 +51,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableHeader = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRowHeader = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -65,6 +66,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -79,6 +81,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
@@ -100,9 +103,6 @@ namespace BeWo.Report.DefaultReports
this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.fieldRelationGesamt = new DevExpress.XtraReports.UI.CalculatedField();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
@@ -253,6 +253,15 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell26.Text = "xrTableCell26";
this.xrTableCell26.Weight = 0.063119927862939573D;
//
// xrTableCell6
//
this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.Resturlaub")});
this.xrTableCell6.Multiline = true;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.TextFormatString = "{0:0.00}";
this.xrTableCell6.Weight = 0.063119927862939573D;
//
// xrTableHeader
//
this.xrTableHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
@@ -348,8 +357,9 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell12
//
this.xrTableCell12.Multiline = true;
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Text = "Relation FLS IST zu Mittelbare IST (in %)";
this.xrTableCell12.Text = "Relation FLS IST zu Gesamt-stunden \r\n(in %)";
this.xrTableCell12.Weight = 0.063119929511863376D;
//
// xrTableCell13
@@ -373,6 +383,13 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell15.Text = "Überstd. Gesamt";
this.xrTableCell15.Weight = 0.0631199213956443D;
//
// xrTableCell1
//
this.xrTableCell1.Multiline = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Text = "Resturlaub";
this.xrTableCell1.Weight = 0.0631199213956443D;
//
// xrTable1
//
this.xrTable1.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
@@ -502,6 +519,12 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell51.Name = "xrTableCell51";
this.xrTableCell51.Weight = 0.063119927862939573D;
//
// xrTableCell17
//
this.xrTableCell17.Multiline = true;
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Weight = 0.063119927862939573D;
//
// pageFooterBand1
//
this.pageFooterBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -685,28 +708,6 @@ namespace BeWo.Report.DefaultReports
this.fieldRelationGesamt.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldRelationGesamt.Name = "fieldRelationGesamt";
//
// xrTableCell1
//
this.xrTableCell1.Multiline = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Text = "Resturlaub";
this.xrTableCell1.Weight = 0.0631199213956443D;
//
// xrTableCell6
//
this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.Resturlaub")});
this.xrTableCell6.Multiline = true;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.TextFormatString = "{0:0.00}";
this.xrTableCell6.Weight = 0.063119927862939573D;
//
// xrTableCell17
//
this.xrTableCell17.Multiline = true;
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Weight = 0.063119927862939573D;
//
// MitarbeiterstundenkontoJahr
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {

View File

@@ -95,7 +95,7 @@ ib.InvoiceId
sb.Append(";");
sb.Append(String.Format("{0}", row[1]));
sb.Append(";");
sb.Append("4409"); // Erlöskonto
sb.Append("4962"); // Erlöskonto
sb.Append(";");
sb.Append("619"); // Kostenstelle
}
@@ -146,7 +146,7 @@ cb2sc.Oid
sb.Append(";");
sb.Append(String.Format("{0}", row[1]));
sb.Append(";");
sb.Append("4409"); // Erlöskonto
sb.Append("4962"); // Erlöskonto
sb.Append(";");
sb.Append("619"); // Kostenstelle
}
@@ -228,7 +228,5 @@ ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate`
return DAOFactory.AdoDAO.ExecuteQuery(newsql).Tables[0];
}
}
}

View File

@@ -128,15 +128,15 @@ namespace CaritasverbandKelheim
public override XtraReport CreateServiceOverviewReportForCustomers(IList<long> customerOids, int month, int year, long? orgaOid, long? empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende)
{
var roList = new List<ServicesOverviewRO>();
int seitenzahl = 1;
//int seitenzahl = 1;
foreach (var coid in customerOids)
{
var ro = ServicesOverviewRO.Create(coid, month, year, true, orgaOid ?? 0, empOid ?? 0, startDay, endDay, serviceCategoryOid);
if (ro != null)
{
ro.FreeHoursBisVormonat = seitenzahl;
seitenzahl++;
//ro.FreeHoursBisVormonat = seitenzahl;
//seitenzahl++;
roList.Add(ro);
}
}
@@ -171,9 +171,9 @@ namespace CaritasverbandKelheim
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
int seitenzahl = 1;
//int seitenzahl = 1;
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
ro.FreeHoursBisVormonat = seitenzahl;
//ro.FreeHoursBisVormonat = seitenzahl;
return CreateServicesOverviewReportForRo(ro, serviceCategoryOid);
}

View File

@@ -69,28 +69,6 @@ namespace CaritasverbandKelheim
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel33 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel34 = new DevExpress.XtraReports.UI.XRLabel();
this.lblApprovedASS = new DevExpress.XtraReports.UI.XRLabel();
this.lblApprovedFLS = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel28 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel30 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel29 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel26 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel27 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel25 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel24 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.formattingRuleServiceDesc = new DevExpress.XtraReports.UI.FormattingRule();
this.formattingRuleCostBearer = new DevExpress.XtraReports.UI.FormattingRule();
this.formattingRuleEmployeeName = new DevExpress.XtraReports.UI.FormattingRule();
@@ -111,6 +89,27 @@ namespace CaritasverbandKelheim
this.lblUnterschriftKlient = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
this.lblSeite = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel24 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel25 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel27 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel26 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel30 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel28 = new DevExpress.XtraReports.UI.XRLabel();
this.lblApprovedFLS = new DevExpress.XtraReports.UI.XRLabel();
this.lblApprovedASS = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel34 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel33 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -645,364 +644,6 @@ namespace CaritasverbandKelheim
this.formattingRuleStartDate.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleStartDate.Name = "formattingRuleStartDate";
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel13,
this.xrLabel33,
this.xrLabel34,
this.lblApprovedASS,
this.lblApprovedFLS,
this.xrLabel28,
this.xrLabel30,
this.xrLabel16,
this.xrLabel14,
this.xrLabel7,
this.xrLabel8,
this.xrLabel5,
this.xrLabel6,
this.xrLabel4,
this.xrLabel3,
this.xrLabel29,
this.xrLabel26,
this.xrLabel27,
this.xrLabel25,
this.xrLabel24,
this.xrLabel2});
this.ReportHeader.HeightF = 147.235F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel13
//
this.xrLabel13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "FreeHoursBisVormonat")});
this.xrLabel13.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel13.ForeColor = System.Drawing.Color.Black;
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(1038.74F, 0F);
this.xrLabel13.Multiline = true;
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel13.SizeF = new System.Drawing.SizeF(44.79175F, 25F);
this.xrLabel13.StylePriority.UseFont = false;
this.xrLabel13.StylePriority.UseForeColor = false;
this.xrLabel13.StylePriority.UseTextAlignment = false;
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel33
//
this.xrLabel33.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel33.ForeColor = System.Drawing.Color.Black;
this.xrLabel33.LocationFloat = new DevExpress.Utils.PointFloat(401.7843F, 117.2349F);
this.xrLabel33.Multiline = true;
this.xrLabel33.Name = "xrLabel33";
this.xrLabel33.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel33.SizeF = new System.Drawing.SizeF(82.84718F, 19.99998F);
this.xrLabel33.StylePriority.UseFont = false;
this.xrLabel33.StylePriority.UseForeColor = false;
this.xrLabel33.StylePriority.UseTextAlignment = false;
this.xrLabel33.Text = "Stunden";
this.xrLabel33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel34
//
this.xrLabel34.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel34.ForeColor = System.Drawing.Color.Black;
this.xrLabel34.LocationFloat = new DevExpress.Utils.PointFloat(401.7843F, 97.23489F);
this.xrLabel34.Multiline = true;
this.xrLabel34.Name = "xrLabel34";
this.xrLabel34.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel34.SizeF = new System.Drawing.SizeF(82.84717F, 19.99999F);
this.xrLabel34.StylePriority.UseFont = false;
this.xrLabel34.StylePriority.UseForeColor = false;
this.xrLabel34.StylePriority.UseTextAlignment = false;
this.xrLabel34.Text = "Stunden";
this.xrLabel34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// lblApprovedASS
//
this.lblApprovedASS.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.lblApprovedASS.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblApprovedASS.ForeColor = System.Drawing.Color.Black;
this.lblApprovedASS.LocationFloat = new DevExpress.Utils.PointFloat(340.7174F, 117.2349F);
this.lblApprovedASS.Multiline = true;
this.lblApprovedASS.Name = "lblApprovedASS";
this.lblApprovedASS.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblApprovedASS.SizeF = new System.Drawing.SizeF(61.06689F, 19.99999F);
this.lblApprovedASS.StylePriority.UseBorders = false;
this.lblApprovedASS.StylePriority.UseFont = false;
this.lblApprovedASS.StylePriority.UseForeColor = false;
this.lblApprovedASS.StylePriority.UseTextAlignment = false;
this.lblApprovedASS.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// lblApprovedFLS
//
this.lblApprovedFLS.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.lblApprovedFLS.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblApprovedFLS.ForeColor = System.Drawing.Color.Black;
this.lblApprovedFLS.LocationFloat = new DevExpress.Utils.PointFloat(340.7174F, 97.23489F);
this.lblApprovedFLS.Multiline = true;
this.lblApprovedFLS.Name = "lblApprovedFLS";
this.lblApprovedFLS.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblApprovedFLS.SizeF = new System.Drawing.SizeF(61.06689F, 19.99999F);
this.lblApprovedFLS.StylePriority.UseBorders = false;
this.lblApprovedFLS.StylePriority.UseFont = false;
this.lblApprovedFLS.StylePriority.UseForeColor = false;
this.lblApprovedFLS.StylePriority.UseTextAlignment = false;
this.lblApprovedFLS.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel28
//
this.xrLabel28.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel28.ForeColor = System.Drawing.Color.Black;
this.xrLabel28.LocationFloat = new DevExpress.Utils.PointFloat(257.8702F, 97.23489F);
this.xrLabel28.Multiline = true;
this.xrLabel28.Name = "xrLabel28";
this.xrLabel28.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel28.SizeF = new System.Drawing.SizeF(82.84718F, 19.99999F);
this.xrLabel28.StylePriority.UseFont = false;
this.xrLabel28.StylePriority.UseForeColor = false;
this.xrLabel28.StylePriority.UseTextAlignment = false;
this.xrLabel28.Text = "wöchentlich";
this.xrLabel28.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel30
//
this.xrLabel30.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel30.ForeColor = System.Drawing.Color.Black;
this.xrLabel30.LocationFloat = new DevExpress.Utils.PointFloat(257.8702F, 117.2349F);
this.xrLabel30.Multiline = true;
this.xrLabel30.Name = "xrLabel30";
this.xrLabel30.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel30.SizeF = new System.Drawing.SizeF(82.84718F, 19.99998F);
this.xrLabel30.StylePriority.UseFont = false;
this.xrLabel30.StylePriority.UseForeColor = false;
this.xrLabel30.StylePriority.UseTextAlignment = false;
this.xrLabel30.Text = "wöchentlich";
this.xrLabel30.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel16
//
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel16.ForeColor = System.Drawing.Color.Black;
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(0F, 117.2349F);
this.xrLabel16.Multiline = true;
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(257.8702F, 19.99999F);
this.xrLabel16.StylePriority.UseFont = false;
this.xrLabel16.StylePriority.UseForeColor = false;
this.xrLabel16.StylePriority.UseTextAlignment = false;
this.xrLabel16.Text = "Bewilligte Hilfskraftstunden";
this.xrLabel16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel14
//
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel14.ForeColor = System.Drawing.Color.Black;
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 97.23489F);
this.xrLabel14.Multiline = true;
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(257.8702F, 20F);
this.xrLabel14.StylePriority.UseFont = false;
this.xrLabel14.StylePriority.UseForeColor = false;
this.xrLabel14.StylePriority.UseTextAlignment = false;
this.xrLabel14.Text = "Bewilligte Fachkraftstunden";
this.xrLabel14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel7
//
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel7.ForeColor = System.Drawing.Color.Black;
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(507.3043F, 43.5606F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(48.75629F, 25F);
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.StylePriority.UseForeColor = false;
this.xrLabel7.StylePriority.UseTextAlignment = false;
this.xrLabel7.Text = "geb.";
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel8
//
this.xrLabel8.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel8.ForeColor = System.Drawing.Color.Black;
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(556.0607F, 43.5606F);
this.xrLabel8.Multiline = true;
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(409.7538F, 25F);
this.xrLabel8.StylePriority.UseBorders = false;
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.StylePriority.UseForeColor = false;
this.xrLabel8.StylePriority.UseTextAlignment = false;
this.xrLabel8.Text = "[CustomerBirthday!dd.MM.yyyy]";
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel5
//
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel5.ForeColor = System.Drawing.Color.Black;
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.56059F);
this.xrLabel5.Multiline = true;
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(67.7F, 20F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.StylePriority.UseForeColor = false;
this.xrLabel5.StylePriority.UseTextAlignment = false;
this.xrLabel5.Text = "Anbieter:";
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel6
//
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Mandator.Name")});
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel6.ForeColor = System.Drawing.Color.Black;
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(67.69999F, 68.56059F);
this.xrLabel6.Multiline = true;
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(409.7494F, 20.00001F);
this.xrLabel6.StylePriority.UseBorders = false;
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.StylePriority.UseForeColor = false;
this.xrLabel6.StylePriority.UseTextAlignment = false;
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel4
//
this.xrLabel4.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel4.ForeColor = System.Drawing.Color.Black;
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(67.69569F, 43.5606F);
this.xrLabel4.Multiline = true;
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(409.7538F, 25F);
this.xrLabel4.StylePriority.UseBorders = false;
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.StylePriority.UseForeColor = false;
this.xrLabel4.StylePriority.UseTextAlignment = false;
this.xrLabel4.Text = "[CustomerLastName], [CustomerFirstName]";
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel3
//
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel3.ForeColor = System.Drawing.Color.Black;
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43.5606F);
this.xrLabel3.Multiline = true;
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(67.69569F, 25F);
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.StylePriority.UseForeColor = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "Name:";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel29
//
this.xrLabel29.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel29.ForeColor = System.Drawing.Color.Black;
this.xrLabel29.LocationFloat = new DevExpress.Utils.PointFloat(993.9479F, 0F);
this.xrLabel29.Multiline = true;
this.xrLabel29.Name = "xrLabel29";
this.xrLabel29.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel29.SizeF = new System.Drawing.SizeF(44.79175F, 25F);
this.xrLabel29.StylePriority.UseFont = false;
this.xrLabel29.StylePriority.UseForeColor = false;
this.xrLabel29.StylePriority.UseTextAlignment = false;
this.xrLabel29.Text = "Blatt";
this.xrLabel29.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel26
//
this.xrLabel26.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel26.ForeColor = System.Drawing.Color.Black;
this.xrLabel26.LocationFloat = new DevExpress.Utils.PointFloat(906.3555F, 0F);
this.xrLabel26.Multiline = true;
this.xrLabel26.Name = "xrLabel26";
this.xrLabel26.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel26.SizeF = new System.Drawing.SizeF(33.42816F, 25F);
this.xrLabel26.StylePriority.UseFont = false;
this.xrLabel26.StylePriority.UseForeColor = false;
this.xrLabel26.StylePriority.UseTextAlignment = false;
this.xrLabel26.Text = "Jahr";
this.xrLabel26.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel27
//
this.xrLabel27.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel27.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Year")});
this.xrLabel27.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel27.ForeColor = System.Drawing.Color.Black;
this.xrLabel27.LocationFloat = new DevExpress.Utils.PointFloat(939.7838F, 0F);
this.xrLabel27.Multiline = true;
this.xrLabel27.Name = "xrLabel27";
this.xrLabel27.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel27.SizeF = new System.Drawing.SizeF(42.68488F, 25F);
this.xrLabel27.StylePriority.UseBorders = false;
this.xrLabel27.StylePriority.UseFont = false;
this.xrLabel27.StylePriority.UseForeColor = false;
this.xrLabel27.StylePriority.UseTextAlignment = false;
this.xrLabel27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel25
//
this.xrLabel25.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel25.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Month")});
this.xrLabel25.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel25.ForeColor = System.Drawing.Color.Black;
this.xrLabel25.LocationFloat = new DevExpress.Utils.PointFloat(824.2299F, 0F);
this.xrLabel25.Multiline = true;
this.xrLabel25.Name = "xrLabel25";
this.xrLabel25.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel25.SizeF = new System.Drawing.SizeF(77.39087F, 25F);
this.xrLabel25.StylePriority.UseBorders = false;
this.xrLabel25.StylePriority.UseFont = false;
this.xrLabel25.StylePriority.UseForeColor = false;
this.xrLabel25.StylePriority.UseTextAlignment = false;
this.xrLabel25.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel24
//
this.xrLabel24.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel24.ForeColor = System.Drawing.Color.Black;
this.xrLabel24.LocationFloat = new DevExpress.Utils.PointFloat(778.3964F, 0F);
this.xrLabel24.Multiline = true;
this.xrLabel24.Name = "xrLabel24";
this.xrLabel24.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel24.SizeF = new System.Drawing.SizeF(45.83344F, 25F);
this.xrLabel24.StylePriority.UseFont = false;
this.xrLabel24.StylePriority.UseForeColor = false;
this.xrLabel24.StylePriority.UseTextAlignment = false;
this.xrLabel24.Text = "Monat";
this.xrLabel24.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel2
//
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 13F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel2.ForeColor = System.Drawing.Color.Black;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(758.0366F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseForeColor = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Leistungsnachweis für direkte Betreuungsleistungen im Ambulant Betreuten Wohnen";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// formattingRuleServiceDesc
//
this.formattingRuleServiceDesc.Condition = "[StartDate2] < [StartDate]";
@@ -1127,6 +768,9 @@ namespace CaritasverbandKelheim
//
// xrTableCell37
//
this.xrTableCell37.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell37.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell37.Name = "xrTableCell37";
@@ -1140,9 +784,13 @@ namespace CaritasverbandKelheim
//
// lblEinzelFK
//
this.lblEinzelFK.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.lblEinzelFK.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblEinzelFK.Name = "lblEinzelFK";
this.lblEinzelFK.StylePriority.UseBorders = false;
this.lblEinzelFK.StylePriority.UseFont = false;
this.lblEinzelFK.StylePriority.UsePadding = false;
this.lblEinzelFK.StylePriority.UseTextAlignment = false;
@@ -1151,10 +799,14 @@ namespace CaritasverbandKelheim
//
// lblEinzelHK
//
this.lblEinzelHK.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.lblEinzelHK.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblEinzelHK.Multiline = true;
this.lblEinzelHK.Name = "lblEinzelHK";
this.lblEinzelHK.StylePriority.UseBorders = false;
this.lblEinzelHK.StylePriority.UseFont = false;
this.lblEinzelHK.StylePriority.UsePadding = false;
this.lblEinzelHK.StylePriority.UseTextAlignment = false;
@@ -1163,10 +815,14 @@ namespace CaritasverbandKelheim
//
// lblGruppeFK
//
this.lblGruppeFK.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.lblGruppeFK.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblGruppeFK.Multiline = true;
this.lblGruppeFK.Name = "lblGruppeFK";
this.lblGruppeFK.StylePriority.UseBorders = false;
this.lblGruppeFK.StylePriority.UseFont = false;
this.lblGruppeFK.StylePriority.UsePadding = false;
this.lblGruppeFK.StylePriority.UseTextAlignment = false;
@@ -1175,10 +831,14 @@ namespace CaritasverbandKelheim
//
// lblGruppeHK
//
this.lblGruppeHK.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.lblGruppeHK.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblGruppeHK.Multiline = true;
this.lblGruppeHK.Name = "lblGruppeHK";
this.lblGruppeHK.StylePriority.UseBorders = false;
this.lblGruppeHK.StylePriority.UseFont = false;
this.lblGruppeHK.StylePriority.UsePadding = false;
this.lblGruppeHK.StylePriority.UseTextAlignment = false;
@@ -1187,10 +847,14 @@ namespace CaritasverbandKelheim
//
// xrTableCell42
//
this.xrTableCell42.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell42.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell42.Multiline = true;
this.xrTableCell42.Name = "xrTableCell42";
this.xrTableCell42.StylePriority.UseBorders = false;
this.xrTableCell42.StylePriority.UseFont = false;
this.xrTableCell42.StylePriority.UsePadding = false;
this.xrTableCell42.StylePriority.UseTextAlignment = false;
@@ -1236,15 +900,356 @@ namespace CaritasverbandKelheim
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldKontaktArt.Name = "fieldKontaktArt";
//
// PageHeader
//
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblSeite,
this.xrLabel2,
this.xrLabel24,
this.xrLabel25,
this.xrLabel27,
this.xrLabel26,
this.xrLabel3,
this.xrLabel4,
this.xrLabel6,
this.xrLabel5,
this.xrLabel8,
this.xrLabel7,
this.xrLabel14,
this.xrLabel16,
this.xrLabel30,
this.xrLabel28,
this.lblApprovedFLS,
this.lblApprovedASS,
this.xrLabel34,
this.xrLabel33});
this.PageHeader.HeightF = 175.7766F;
this.PageHeader.Name = "PageHeader";
//
// lblSeite
//
this.lblSeite.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblSeite.ForeColor = System.Drawing.Color.Black;
this.lblSeite.LocationFloat = new DevExpress.Utils.PointFloat(985.2498F, 0F);
this.lblSeite.Multiline = true;
this.lblSeite.Name = "lblSeite";
this.lblSeite.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblSeite.SizeF = new System.Drawing.SizeF(103.7503F, 25F);
this.lblSeite.StylePriority.UseFont = false;
this.lblSeite.StylePriority.UseForeColor = false;
this.lblSeite.StylePriority.UseTextAlignment = false;
this.lblSeite.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
this.lblSeite.PrintOnPage += new DevExpress.XtraReports.UI.PrintOnPageEventHandler(this.lblSeite_PrintOnPage);
//
// xrLabel2
//
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 13F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel2.ForeColor = System.Drawing.Color.Black;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(758.0366F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseForeColor = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Leistungsnachweis für direkte Betreuungsleistungen im Ambulant Betreuten Wohnen";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel24
//
this.xrLabel24.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel24.ForeColor = System.Drawing.Color.Black;
this.xrLabel24.LocationFloat = new DevExpress.Utils.PointFloat(758.0366F, 0F);
this.xrLabel24.Multiline = true;
this.xrLabel24.Name = "xrLabel24";
this.xrLabel24.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel24.SizeF = new System.Drawing.SizeF(45.83344F, 25F);
this.xrLabel24.StylePriority.UseFont = false;
this.xrLabel24.StylePriority.UseForeColor = false;
this.xrLabel24.StylePriority.UseTextAlignment = false;
this.xrLabel24.Text = "Monat";
this.xrLabel24.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel25
//
this.xrLabel25.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel25.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Month")});
this.xrLabel25.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel25.ForeColor = System.Drawing.Color.Black;
this.xrLabel25.LocationFloat = new DevExpress.Utils.PointFloat(803.8701F, 0F);
this.xrLabel25.Multiline = true;
this.xrLabel25.Name = "xrLabel25";
this.xrLabel25.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel25.SizeF = new System.Drawing.SizeF(77.39087F, 25F);
this.xrLabel25.StylePriority.UseBorders = false;
this.xrLabel25.StylePriority.UseFont = false;
this.xrLabel25.StylePriority.UseForeColor = false;
this.xrLabel25.StylePriority.UseTextAlignment = false;
this.xrLabel25.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel27
//
this.xrLabel27.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel27.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Year")});
this.xrLabel27.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel27.ForeColor = System.Drawing.Color.Black;
this.xrLabel27.LocationFloat = new DevExpress.Utils.PointFloat(919.424F, 0F);
this.xrLabel27.Multiline = true;
this.xrLabel27.Name = "xrLabel27";
this.xrLabel27.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel27.SizeF = new System.Drawing.SizeF(42.68488F, 25F);
this.xrLabel27.StylePriority.UseBorders = false;
this.xrLabel27.StylePriority.UseFont = false;
this.xrLabel27.StylePriority.UseForeColor = false;
this.xrLabel27.StylePriority.UseTextAlignment = false;
this.xrLabel27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel26
//
this.xrLabel26.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel26.ForeColor = System.Drawing.Color.Black;
this.xrLabel26.LocationFloat = new DevExpress.Utils.PointFloat(885.9957F, 0F);
this.xrLabel26.Multiline = true;
this.xrLabel26.Name = "xrLabel26";
this.xrLabel26.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel26.SizeF = new System.Drawing.SizeF(33.42816F, 25F);
this.xrLabel26.StylePriority.UseFont = false;
this.xrLabel26.StylePriority.UseForeColor = false;
this.xrLabel26.StylePriority.UseTextAlignment = false;
this.xrLabel26.Text = "Jahr";
this.xrLabel26.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel3
//
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel3.ForeColor = System.Drawing.Color.Black;
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43.5606F);
this.xrLabel3.Multiline = true;
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(67.69569F, 25F);
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.StylePriority.UseForeColor = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "Name:";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel4
//
this.xrLabel4.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel4.ForeColor = System.Drawing.Color.Black;
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(67.69569F, 43.5606F);
this.xrLabel4.Multiline = true;
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(409.7538F, 25F);
this.xrLabel4.StylePriority.UseBorders = false;
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.StylePriority.UseForeColor = false;
this.xrLabel4.StylePriority.UseTextAlignment = false;
this.xrLabel4.Text = "[CustomerLastName], [CustomerFirstName]";
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel6
//
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Mandator.Name")});
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel6.ForeColor = System.Drawing.Color.Black;
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(67.69999F, 68.56059F);
this.xrLabel6.Multiline = true;
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(409.7494F, 20.00001F);
this.xrLabel6.StylePriority.UseBorders = false;
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.StylePriority.UseForeColor = false;
this.xrLabel6.StylePriority.UseTextAlignment = false;
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel5
//
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel5.ForeColor = System.Drawing.Color.Black;
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.56059F);
this.xrLabel5.Multiline = true;
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(67.7F, 20F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.StylePriority.UseForeColor = false;
this.xrLabel5.StylePriority.UseTextAlignment = false;
this.xrLabel5.Text = "Anbieter:";
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel8
//
this.xrLabel8.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel8.ForeColor = System.Drawing.Color.Black;
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(556.0607F, 43.5606F);
this.xrLabel8.Multiline = true;
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(409.7538F, 25F);
this.xrLabel8.StylePriority.UseBorders = false;
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.StylePriority.UseForeColor = false;
this.xrLabel8.StylePriority.UseTextAlignment = false;
this.xrLabel8.Text = "[CustomerBirthday!dd.MM.yyyy]";
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel7
//
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel7.ForeColor = System.Drawing.Color.Black;
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(507.3043F, 43.5606F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(48.75629F, 25F);
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.StylePriority.UseForeColor = false;
this.xrLabel7.StylePriority.UseTextAlignment = false;
this.xrLabel7.Text = "geb.";
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel14
//
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel14.ForeColor = System.Drawing.Color.Black;
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 97.23489F);
this.xrLabel14.Multiline = true;
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(257.8702F, 20F);
this.xrLabel14.StylePriority.UseFont = false;
this.xrLabel14.StylePriority.UseForeColor = false;
this.xrLabel14.StylePriority.UseTextAlignment = false;
this.xrLabel14.Text = "Bewilligte Fachkraftstunden";
this.xrLabel14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel16
//
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel16.ForeColor = System.Drawing.Color.Black;
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(0F, 117.2349F);
this.xrLabel16.Multiline = true;
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(257.8702F, 19.99999F);
this.xrLabel16.StylePriority.UseFont = false;
this.xrLabel16.StylePriority.UseForeColor = false;
this.xrLabel16.StylePriority.UseTextAlignment = false;
this.xrLabel16.Text = "Bewilligte Hilfskraftstunden";
this.xrLabel16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel30
//
this.xrLabel30.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel30.ForeColor = System.Drawing.Color.Black;
this.xrLabel30.LocationFloat = new DevExpress.Utils.PointFloat(257.8702F, 117.2349F);
this.xrLabel30.Multiline = true;
this.xrLabel30.Name = "xrLabel30";
this.xrLabel30.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel30.SizeF = new System.Drawing.SizeF(82.84718F, 19.99998F);
this.xrLabel30.StylePriority.UseFont = false;
this.xrLabel30.StylePriority.UseForeColor = false;
this.xrLabel30.StylePriority.UseTextAlignment = false;
this.xrLabel30.Text = "wöchentlich";
this.xrLabel30.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel28
//
this.xrLabel28.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel28.ForeColor = System.Drawing.Color.Black;
this.xrLabel28.LocationFloat = new DevExpress.Utils.PointFloat(257.8702F, 97.23489F);
this.xrLabel28.Multiline = true;
this.xrLabel28.Name = "xrLabel28";
this.xrLabel28.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel28.SizeF = new System.Drawing.SizeF(82.84718F, 19.99999F);
this.xrLabel28.StylePriority.UseFont = false;
this.xrLabel28.StylePriority.UseForeColor = false;
this.xrLabel28.StylePriority.UseTextAlignment = false;
this.xrLabel28.Text = "wöchentlich";
this.xrLabel28.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// lblApprovedFLS
//
this.lblApprovedFLS.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.lblApprovedFLS.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblApprovedFLS.ForeColor = System.Drawing.Color.Black;
this.lblApprovedFLS.LocationFloat = new DevExpress.Utils.PointFloat(340.7174F, 97.23489F);
this.lblApprovedFLS.Multiline = true;
this.lblApprovedFLS.Name = "lblApprovedFLS";
this.lblApprovedFLS.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblApprovedFLS.SizeF = new System.Drawing.SizeF(61.06689F, 19.99999F);
this.lblApprovedFLS.StylePriority.UseBorders = false;
this.lblApprovedFLS.StylePriority.UseFont = false;
this.lblApprovedFLS.StylePriority.UseForeColor = false;
this.lblApprovedFLS.StylePriority.UseTextAlignment = false;
this.lblApprovedFLS.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// lblApprovedASS
//
this.lblApprovedASS.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.lblApprovedASS.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblApprovedASS.ForeColor = System.Drawing.Color.Black;
this.lblApprovedASS.LocationFloat = new DevExpress.Utils.PointFloat(340.7174F, 117.2349F);
this.lblApprovedASS.Multiline = true;
this.lblApprovedASS.Name = "lblApprovedASS";
this.lblApprovedASS.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblApprovedASS.SizeF = new System.Drawing.SizeF(61.06689F, 19.99999F);
this.lblApprovedASS.StylePriority.UseBorders = false;
this.lblApprovedASS.StylePriority.UseFont = false;
this.lblApprovedASS.StylePriority.UseForeColor = false;
this.lblApprovedASS.StylePriority.UseTextAlignment = false;
this.lblApprovedASS.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel34
//
this.xrLabel34.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel34.ForeColor = System.Drawing.Color.Black;
this.xrLabel34.LocationFloat = new DevExpress.Utils.PointFloat(401.7843F, 97.23489F);
this.xrLabel34.Multiline = true;
this.xrLabel34.Name = "xrLabel34";
this.xrLabel34.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel34.SizeF = new System.Drawing.SizeF(82.84717F, 19.99999F);
this.xrLabel34.StylePriority.UseFont = false;
this.xrLabel34.StylePriority.UseForeColor = false;
this.xrLabel34.StylePriority.UseTextAlignment = false;
this.xrLabel34.Text = "Stunden";
this.xrLabel34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel33
//
this.xrLabel33.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel33.ForeColor = System.Drawing.Color.Black;
this.xrLabel33.LocationFloat = new DevExpress.Utils.PointFloat(401.7843F, 117.2349F);
this.xrLabel33.Multiline = true;
this.xrLabel33.Name = "xrLabel33";
this.xrLabel33.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel33.SizeF = new System.Drawing.SizeF(82.84718F, 19.99998F);
this.xrLabel33.StylePriority.UseFont = false;
this.xrLabel33.StylePriority.UseForeColor = false;
this.xrLabel33.StylePriority.UseTextAlignment = false;
this.xrLabel33.Text = "Stunden";
this.xrLabel33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// LeistungsnachweisAnlage4
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.DetailReport,
this.ReportHeader,
this.topMarginBand1,
this.bottomMarginBand1,
this.GroupFooter1});
this.GroupFooter1,
this.PageHeader});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldKontaktArt});
this.DataSource = this.bindingSource1;
@@ -1276,14 +1281,12 @@ namespace CaritasverbandKelheim
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleStartDate;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleServiceDesc;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleCostBearer;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleEmployeeName;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
private DevExpress.XtraReports.UI.XRTable xrTableServiceRecords1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
@@ -1316,20 +1319,6 @@ namespace CaritasverbandKelheim
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
private DevExpress.XtraReports.UI.XRLabel lblUnterschriftKlient;
private DevExpress.XtraReports.UI.XRPictureBox picSignature;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
private DevExpress.XtraReports.UI.XRLabel xrLabel28;
private DevExpress.XtraReports.UI.XRLabel xrLabel30;
private DevExpress.XtraReports.UI.XRLabel lblApprovedASS;
private DevExpress.XtraReports.UI.XRLabel lblApprovedFLS;
private DevExpress.XtraReports.UI.XRLabel xrLabel33;
private DevExpress.XtraReports.UI.XRLabel xrLabel34;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell32;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
@@ -1345,12 +1334,27 @@ namespace CaritasverbandKelheim
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.XRLabel xrLabel29;
private DevExpress.XtraReports.UI.XRLabel xrLabel26;
private DevExpress.XtraReports.UI.XRLabel xrLabel27;
private DevExpress.XtraReports.UI.XRLabel xrLabel25;
private DevExpress.XtraReports.UI.XRLabel xrLabel24;
private DevExpress.XtraReports.UI.XRTableCell lblGruppeFK;
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
private DevExpress.XtraReports.UI.PageHeaderBand PageHeader;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel24;
private DevExpress.XtraReports.UI.XRLabel xrLabel25;
private DevExpress.XtraReports.UI.XRLabel xrLabel27;
private DevExpress.XtraReports.UI.XRLabel xrLabel26;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
private DevExpress.XtraReports.UI.XRLabel xrLabel30;
private DevExpress.XtraReports.UI.XRLabel xrLabel28;
private DevExpress.XtraReports.UI.XRLabel lblApprovedFLS;
private DevExpress.XtraReports.UI.XRLabel lblApprovedASS;
private DevExpress.XtraReports.UI.XRLabel xrLabel34;
private DevExpress.XtraReports.UI.XRLabel xrLabel33;
private DevExpress.XtraReports.UI.XRLabel lblSeite;
}
}

View File

@@ -174,5 +174,9 @@ namespace CaritasverbandKelheim
return Image.FromStream(memoryStream);
}
}
private void lblSeite_PrintOnPage(object sender, DevExpress.XtraReports.UI.PrintOnPageEventArgs e)
{
lblSeite.Text = String.Format("Seite {0} von {1}", e.PageIndex + 1, e.PageCount);
}
}
}

View File

@@ -31,6 +31,7 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -39,6 +40,7 @@
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpo.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />

View File

@@ -56,7 +56,15 @@ namespace DiakonischesWerkWesel.Invoicing
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
Calculations calc)
{
return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, false, true);
if (scap.CostBearer2SupportConcept.CostBearer.Organisation.Name.ToLower().Contains("selbstzahler"))
{
return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, false, false);
}
else
{
return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, false, true);
}
}
}
}

View File

@@ -31,6 +31,7 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -39,6 +40,7 @@
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpo.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />

View File

@@ -67,6 +67,7 @@ namespace FreundeskreisSuchthilfe
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel24 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAdresseEinrichtung = new DevExpress.XtraReports.UI.XRLabel();
this.lblNameEinrichtung = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
@@ -126,7 +127,10 @@ namespace FreundeskreisSuchthilfe
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.xrLabel24 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel33 = new DevExpress.XtraReports.UI.XRLabel();
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel25 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -627,6 +631,21 @@ namespace FreundeskreisSuchthilfe
this.ReportHeader.HeightF = 185.9167F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel24
//
this.xrLabel24.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel24.ForeColor = System.Drawing.Color.Gray;
this.xrLabel24.LocationFloat = new DevExpress.Utils.PointFloat(446.8333F, 157.5F);
this.xrLabel24.Multiline = true;
this.xrLabel24.Name = "xrLabel24";
this.xrLabel24.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel24.SizeF = new System.Drawing.SizeF(288.1663F, 18.75F);
this.xrLabel24.StylePriority.UseFont = false;
this.xrLabel24.StylePriority.UseForeColor = false;
this.xrLabel24.StylePriority.UseTextAlignment = false;
this.xrLabel24.Text = "Nevigeserstraße 3, 42551 Velbert (Café Intakt)";
this.xrLabel24.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// lblAdresseEinrichtung
//
this.lblAdresseEinrichtung.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
@@ -849,6 +868,10 @@ namespace FreundeskreisSuchthilfe
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel33,
this.xrPictureBox3,
this.xrPictureBox2,
this.xrLabel25,
this.xrLabel22,
this.xrLabel23,
this.xrLabel21,
@@ -1351,20 +1374,48 @@ namespace FreundeskreisSuchthilfe
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldKontaktArt.Name = "fieldKontaktArt";
//
// xrLabel24
// xrLabel33
//
this.xrLabel24.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel24.ForeColor = System.Drawing.Color.Gray;
this.xrLabel24.LocationFloat = new DevExpress.Utils.PointFloat(446.8333F, 157.5F);
this.xrLabel24.Multiline = true;
this.xrLabel24.Name = "xrLabel24";
this.xrLabel24.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel24.SizeF = new System.Drawing.SizeF(288.1663F, 18.75F);
this.xrLabel24.StylePriority.UseFont = false;
this.xrLabel24.StylePriority.UseForeColor = false;
this.xrLabel24.StylePriority.UseTextAlignment = false;
this.xrLabel24.Text = "Nevigeserstraße 3, 42551 Velbert (Café Intakt)";
this.xrLabel24.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrLabel33.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerSignatureDate", "{0:dd.MM.yyyy}")});
this.xrLabel33.LocationFloat = new DevExpress.Utils.PointFloat(173.1876F, 202F);
this.xrLabel33.Name = "xrLabel33";
this.xrLabel33.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel33.SizeF = new System.Drawing.SizeF(81.81261F, 35.50002F);
this.xrLabel33.StylePriority.UseTextAlignment = false;
this.xrLabel33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
//
// xrPictureBox3
//
this.xrPictureBox3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "CustomerSignature")});
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(255.0003F, 202F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(169.9999F, 35.50002F);
this.xrPictureBox3.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrPictureBox2
//
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "EmployeeSignature")});
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(536.0583F, 202F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.Scripts.OnBeforePrint = "xrPictureBox1_BeforePrint";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(166.9419F, 35.50002F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrLabel25
//
this.xrLabel25.BackColor = System.Drawing.Color.Transparent;
this.xrLabel25.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeSignatureDate", "{0:dd.MM.yyyy}")});
this.xrLabel25.LocationFloat = new DevExpress.Utils.PointFloat(456.521F, 202F);
this.xrLabel25.Name = "xrLabel25";
this.xrLabel25.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel25.SizeF = new System.Drawing.SizeF(79.53729F, 35.50002F);
this.xrLabel25.StylePriority.UseBackColor = false;
this.xrLabel25.StylePriority.UseTextAlignment = false;
this.xrLabel25.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
//
// Quittierungsbeleg2
//
@@ -1497,5 +1548,9 @@ namespace FreundeskreisSuchthilfe
private DevExpress.XtraReports.UI.XRLabel xrLabel22;
private DevExpress.XtraReports.UI.XRLabel xrLabel23;
private DevExpress.XtraReports.UI.XRLabel xrLabel24;
private DevExpress.XtraReports.UI.XRLabel xrLabel33;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox3;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox2;
private DevExpress.XtraReports.UI.XRLabel xrLabel25;
}
}

File diff suppressed because one or more lines are too long

View File

@@ -50,6 +50,7 @@ namespace FreundeskreisSuchthilfe
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel20 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
@@ -97,7 +98,10 @@ namespace FreundeskreisSuchthilfe
this.customerCountField = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldBillableFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldAbrechenbareFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel33 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -345,6 +349,15 @@ namespace FreundeskreisSuchthilfe
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// xrPictureBox1
//
this.xrPictureBox1.ImageAlignment = DevExpress.XtraPrinting.ImageAlignment.MiddleCenter;
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(533.3889F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(183.6111F, 94.99999F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrLabel23
//
this.xrLabel23.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
@@ -686,6 +699,10 @@ namespace FreundeskreisSuchthilfe
// ReportFooter
//
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel17,
this.xrPictureBox2,
this.xrPictureBox3,
this.xrLabel33,
this.xrLabel26,
this.xrLabel32,
this.xrLabel25,
@@ -765,13 +782,13 @@ namespace FreundeskreisSuchthilfe
//
this.xrLabel7.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(496.1458F, 130F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(480.5208F, 130F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(230.8542F, 17.99997F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(246.4792F, 17.99997F);
this.xrLabel7.StylePriority.UseBorders = false;
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.Text = "Unterschrift Klient/in";
this.xrLabel7.Text = "Unterschrift/Datum Klient/in";
//
// xrLabel6
//
@@ -780,10 +797,10 @@ namespace FreundeskreisSuchthilfe
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(197.1874F, 130F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(223.1251F, 17.99997F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(251.8126F, 17.99997F);
this.xrLabel6.StylePriority.UseBorders = false;
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.Text = "Unterschrift Mitarbeiter/in";
this.xrLabel6.Text = "Unterschrift/Datum Mitarbeiter/in";
//
// xrLabel3
//
@@ -825,6 +842,7 @@ namespace FreundeskreisSuchthilfe
this.xrLabel5.StylePriority.UseBorders = false;
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.Text = "Datum";
this.xrLabel5.Visible = false;
//
// fieldAbrechenbareMinuten
//
@@ -864,14 +882,48 @@ namespace FreundeskreisSuchthilfe
this.fieldAbrechenbareFLS.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldAbrechenbareFLS.Name = "fieldAbrechenbareFLS";
//
// xrPictureBox1
// xrPictureBox2
//
this.xrPictureBox1.ImageAlignment = DevExpress.XtraPrinting.ImageAlignment.MiddleCenter;
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(533.3889F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(183.6111F, 94.99999F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "EmployeeSignature")});
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(560.0581F, 94.5F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.Scripts.OnBeforePrint = "xrPictureBox1_BeforePrint";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(166.9419F, 35.50002F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrPictureBox3
//
this.xrPictureBox3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "CustomerSignature")});
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(279.0001F, 94.5F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(169.9999F, 35.50002F);
this.xrPictureBox3.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrLabel33
//
this.xrLabel33.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerSignatureDate", "{0:dd.MM.yyyy}")});
this.xrLabel33.LocationFloat = new DevExpress.Utils.PointFloat(197.1874F, 94.5F);
this.xrLabel33.Name = "xrLabel33";
this.xrLabel33.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel33.SizeF = new System.Drawing.SizeF(81.81261F, 35.50002F);
this.xrLabel33.StylePriority.UseTextAlignment = false;
this.xrLabel33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
//
// xrLabel17
//
this.xrLabel17.BackColor = System.Drawing.Color.Transparent;
this.xrLabel17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeSignatureDate", "{0:dd.MM.yyyy}")});
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(480.5208F, 94.5F);
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel17.SizeF = new System.Drawing.SizeF(79.53729F, 35.50002F);
this.xrLabel17.StylePriority.UseBackColor = false;
this.xrLabel17.StylePriority.UseTextAlignment = false;
this.xrLabel17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
//
// Stundenzettel
//
@@ -978,5 +1030,9 @@ namespace FreundeskreisSuchthilfe
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox2;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox3;
private DevExpress.XtraReports.UI.XRLabel xrLabel33;
private DevExpress.XtraReports.UI.XRLabel xrLabel17;
}
}

File diff suppressed because one or more lines are too long

View File

@@ -102,6 +102,7 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Reporting\CustomAnnualReportFactory.cs" />
<Compile Include="Service\CustomCustomerService.cs" />
<Compile Include="Service\CustomServiceRecordValidator.cs" />
<Compile Include="SettlementReport.cs">
<SubType>Component</SubType>
</Compile>

View File

@@ -0,0 +1,134 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.Services;
using System;
using System.Collections.Generic;
using System.Linq;
namespace GerdasPflegedienst.Service
{
public class CustomServiceRecordValidator : ServiceRecordValidator
{
public override List<ServiceRecordValidationResultDC> ValidateServiceRecord(ServiceRecordDC newServiceRecord, SupportConceptStatisticsDC statistics, int maxDaysEditServiceRecordsAllowed, IList<long> employeeOids, IList<long> cb2scOids)
{
// Zwei Warnungen zum Ende des HPs, zum einen Hinweis innerhalb der letzten 10 FLS
// zum anderen jeden ersten ServiceRecord im Monat eine Warnung innerhalb der letzten 6 Monate
var list = base.ValidateServiceRecord(newServiceRecord, statistics, maxDaysEditServiceRecordsAllowed, employeeOids, cb2scOids);
if (newServiceRecord.ServiceDescription.Category.IsBillable)
{
var startDate = newServiceRecord.Start.Value;
var endDate = newServiceRecord.End.Value;
var klientenoid = newServiceRecord.SupportConcept?.Customer?.CustomerOid;
var mitarbeiteroid = newServiceRecord.Employee?.EmployeeOid;
if (klientenoid is object && mitarbeiteroid is object)
{
// Check ob letzte 10 Stunden angebrochen sind, falls ja, gib ne Warnung
decimal totalFLSApproved = 0;
var factory = PluginLoader.FindClass<ServiceRecordStatisticFactory>();
SupportConceptStatisticsDC stats = null;
if (factory == null)
{
factory = new ServiceRecordStatisticFactory();
}
long? cb2ScOid = null;
if (newServiceRecord.SupportConcept != null && newServiceRecord.CostBearer != null && newServiceRecord.CostBearer2SupportConceptOid.HasValue)
{
cb2ScOid = newServiceRecord.CostBearer2SupportConceptOid.Value;
}
if (cb2ScOid.HasValue)
{
SupportConceptCostBearerRelDC reldc = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(
DAOFactory.GenericDAO.GetByID<CostBearer2SupportConcept>(cb2ScOid.Value));
Calculations calc = PluginLoader.FindClass<Calculations>(reldc.CostBearer.CostBearerID) ?? Calculations.GetInstance(reldc.CostBearer.CostBearerID);
totalFLSApproved = calc.GetApprovedHoursTotal(reldc, true) ?? 0m;
if (totalFLSApproved > 0)
{
stats = factory.CreateSupportConceptStatisticsImpl(reldc.CostBearer2SupportConceptOid.Value, newServiceRecord.Start ?? DateTime.Now, newServiceRecord.ServiceRecordOid);
decimal flmTotalRounded = 0;
decimal flmApprovedForPeriod = 0;
SupportConceptPeriodStatisticsDC periodStat = GetStatisticsForServiceRecord(stats, newServiceRecord);
if (periodStat != null)
{
flmTotalRounded = periodStat.MinutesProvidedTotalRounded;
flmApprovedForPeriod = periodStat.MinutesApprovedTotal;
//Prüfe nicht übertragbare Stunden
if (periodStat.SupportConceptApprovalPeriod != null && !periodStat.SupportConceptApprovalPeriod.IsApprovedBEShifting && (newServiceRecord.ServiceDescription.Category.IsBillable || periodStat.SupportConceptApprovalPeriod.ServiceCategory != null))
{
if (periodStat.SupportConceptApprovalPeriod.ApprovedBEInterval.HasValue && periodStat.SupportConceptApprovalPeriod.ApprovedBEPerInterval.HasValue)
{
decimal totalfls = (newServiceRecord.RoundedDuration) / 60;
decimal maxAllowed = periodStat.SupportConceptApprovalPeriod.ApprovedBEPerInterval.Value;
if (periodStat.SupportConceptApprovalPeriod.ApprovedBEInterval.Value == SupportConceptApprovalInterval.Weekly)
{
totalfls += periodStat.MinutesProvidedThisWeek / 60;
}
else if (periodStat.SupportConceptApprovalPeriod.ApprovedBEInterval.Value == SupportConceptApprovalInterval.Monthly)
{
totalfls += periodStat.MinutesProvidedThisMonth / 60;
}
if (maxAllowed > 0 && totalfls > maxAllowed - 10)
{
list.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = String.Format("Das Zeitguthaben des Klienten beträgt nur noch {0:0.00} Stunden und ist bei der weiteren Terminplanung zu berücksichtigen.", maxAllowed - totalfls),
Allow = true
});
}
}
}
}
else
{
flmTotalRounded = stats.MinutesProvidedTotalRounded;
flmApprovedForPeriod = stats.MinutesApprovedTotal;
}
decimal totalFLS = flmTotalRounded / 60;
decimal approvedFlsForPeriod = Math.Round(flmApprovedForPeriod / 60, 2, MidpointRounding.AwayFromZero);
if (approvedFlsForPeriod > 0 && totalFLS > approvedFlsForPeriod - 10)
{
if (newServiceRecord.ServiceDescription.Category.IsBillable ||
(periodStat != null && periodStat.SupportConceptApprovalPeriod != null && periodStat.SupportConceptApprovalPeriod.ServiceCategory != null))
{
list.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = String.Format("Das Zeitguthaben des Klienten beträgt nur noch {0:0.00} Stunden und ist bei der weiteren Terminplanung zu berücksichtigen.", approvedFlsForPeriod - totalFLS),
Allow = true
});
}
}
}
// gib eine Warnung, wenn der MA das erste Mal im Monat einen Zeiterfassungeintrag macht und die letzten 6 Monate laufen
if (reldc.StartDate.HasValue && reldc.EndDate.HasValue && DateTime.Today >= reldc.EndDate.Value.AddMonths(-6) && DateTime.Today <= reldc.EndDate.Value)
{
var now = DateTime.Now;
var records = DAOFactory.SearchDAO.FindServiceRecordsDetailsForLastDays(cb2ScOid.Value, null);
if (!records.Any(r => r.EmployeeOid == newServiceRecord.Employee.EmployeeOid && r.Start.HasValue && r.Start.Value.Year == now.Year && r.Start.Value.Month == now.Month))
{
list.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = String.Format("Der Hilfeplan läuft am {0:dd.MM.yyyy} aus. Bitte die Besuchshäufigkeit dem Zeitguthaben anpassen.", reldc.EndDate.Value),
Allow = true
});
}
}
}
}
}
return list;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -75,7 +75,7 @@ namespace IBPReports
this.xrLabel12,
this.xrCheckBox2,
this.xrCheckBox1});
this.Detail.Font = new System.Drawing.Font("Arial", 11F);
this.Detail.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
this.Detail.HeightF = 579.4375F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -104,7 +104,7 @@ namespace IBPReports
this.xrLabel15.BackColor = System.Drawing.Color.Transparent;
this.xrLabel15.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel15.CanShrink = true;
this.xrLabel15.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 29.99999F);
this.xrLabel15.Name = "xrLabel15";
this.xrLabel15.SizeF = new System.Drawing.SizeF(650F, 20F);
@@ -120,7 +120,7 @@ namespace IBPReports
this.lblAktenzeichen.BackColor = System.Drawing.Color.Transparent;
this.lblAktenzeichen.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.lblAktenzeichen.CanShrink = true;
this.lblAktenzeichen.Font = new System.Drawing.Font("Arial", 11F);
this.lblAktenzeichen.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
this.lblAktenzeichen.LocationFloat = new DevExpress.Utils.PointFloat(10F, 65F);
this.lblAktenzeichen.Multiline = true;
this.lblAktenzeichen.Name = "lblAktenzeichen";
@@ -173,7 +173,7 @@ namespace IBPReports
this.xrLabel3.CanShrink = true;
this.xrLabel3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "RecordedFLSTotal", "{0:0.00}")});
this.xrLabel3.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(561.38F, 132F);
this.xrLabel3.Multiline = true;
this.xrLabel3.Name = "xrLabel3";
@@ -192,7 +192,7 @@ namespace IBPReports
this.xrLabel9.BackColor = System.Drawing.Color.Transparent;
this.xrLabel9.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel9.CanShrink = true;
this.xrLabel9.Font = new System.Drawing.Font("Arial", 11F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))));
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Arial", 11F, ((DevExpress.Drawing.DXFontStyle)((DevExpress.Drawing.DXFontStyle.Bold | DevExpress.Drawing.DXFontStyle.Underline))));
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 9.999974F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.SizeF = new System.Drawing.SizeF(650F, 20F);
@@ -205,7 +205,7 @@ namespace IBPReports
//
// xrLabel4
//
this.xrLabel4.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 403.875F);
this.xrLabel4.Multiline = true;
this.xrLabel4.Name = "xrLabel4";
@@ -225,7 +225,7 @@ namespace IBPReports
//
this.xrLabel35.BackColor = System.Drawing.Color.Transparent;
this.xrLabel35.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel35.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.xrLabel35.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel35.LocationFloat = new DevExpress.Utils.PointFloat(2.997335F, 555.1459F);
this.xrLabel35.Multiline = true;
this.xrLabel35.Name = "xrLabel35";
@@ -285,7 +285,7 @@ namespace IBPReports
//
this.xrLabel19.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel19.CanGrow = false;
this.xrLabel19.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel19.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(344.1619F, 20.00003F);
this.xrLabel19.Multiline = true;
this.xrLabel19.Name = "xrLabel19";
@@ -300,7 +300,7 @@ namespace IBPReports
//
this.xrLabel1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel1.CanGrow = false;
this.xrLabel1.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(478.9767F, 20.00001F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
@@ -314,7 +314,7 @@ namespace IBPReports
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(344.1619F, 93.24995F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
@@ -341,7 +341,7 @@ namespace IBPReports
this.xrLabel2,
this.xrLabel1,
this.xrLabel19});
this.GroupHeader1.Font = new System.Drawing.Font("Arial", 11F);
this.GroupHeader1.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
this.GroupHeader1.HeightF = 316.2917F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.StylePriority.UseFont = false;
@@ -403,7 +403,8 @@ namespace IBPReports
//
// lblAbsender
//
this.lblAbsender.Font = new System.Drawing.Font("Arial", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblAbsender.Font = new DevExpress.Drawing.DXFont("Arial", 11.25F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblAbsender.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.lblAbsender.Multiline = true;
this.lblAbsender.Name = "lblAbsender";
@@ -411,11 +412,11 @@ namespace IBPReports
this.lblAbsender.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.lblAbsender.SizeF = new System.Drawing.SizeF(309.1667F, 74.56943F);
this.lblAbsender.StylePriority.UseFont = false;
this.lblAbsender.Text = "Alexianer IBP GmbH\r\nNeutorstr. 5\r\n48653 Coesfeld";
this.lblAbsender.Text = "Alexianer Westmünsterland GmbH\r\nAlexianer IBP\r\nNeutorstr. 5\r\n48653 Coesfeld";
//
// xrLabel11
//
this.xrLabel11.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel11.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(478.9767F, 93.24998F);
this.xrLabel11.Multiline = true;
this.xrLabel11.Name = "xrLabel11";
@@ -428,7 +429,7 @@ namespace IBPReports
//
// xrLabel8
//
this.xrLabel8.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 276.2917F);
this.xrLabel8.Multiline = true;
this.xrLabel8.Name = "xrLabel8";
@@ -445,7 +446,7 @@ namespace IBPReports
//
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate", "Coesfeld, {0}")});
this.xrLabel6.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(478.9742F, 0F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -454,7 +455,7 @@ namespace IBPReports
//
// xrLabel5
//
this.xrLabel5.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(344.1619F, 1.589457E-05F);
this.xrLabel5.Multiline = true;
this.xrLabel5.Name = "xrLabel5";
@@ -480,11 +481,11 @@ namespace IBPReports
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new System.Drawing.Printing.Margins(80, 30, 50, 50);
this.Margins = new DevExpress.Drawing.DXMargins(80F, 30F, 50F, 50F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();

View File

@@ -120,13 +120,9 @@
<data name="xrLabel4.Text" xml:space="preserve">
<value>Sollte sich bei der Abrechnung der FLS ein Auszahlungsbetrag zu unseren Gunsten ergeben, bitten wir um Erstattung auf folgendes Konto:
Kreditinstitut: VR-Bank Westmünsterland IBAN: DE17 4286 1387 0615 0448 00
</value>
Kreditinstitut: Darlehnskasse Münster IBAN: DE70 4006 0265 0002 0466 01</value>
</data>
<data name="xrLabel12.Text" xml:space="preserve">
<value>Hiermit wird erklärt, dass die Verpflichtungen aus den Vereinbarungen nach §§75 ff. SGB XII bzw. §§125 ff. SGB IX eingehalten wurden und alle hier gemachten Angaben je Betreuungskontakt anhand der Quittierungsbelege sowie der Betreuungsdokumentation jederzeit nachgewiesen werden können. Diese Unterlagen sind 5 Jahre aufzubewahren und auf Verlangen des Sozialhilfeträgers bzw. des Trägers der Eingliederungshilfe vorzulegen (§2 Abs.1 der Vergütungsvereinbarung).</value>
</data>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -111,7 +111,8 @@ namespace BeWo.IBPReports
this.xrTableServiceRecords1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableServiceRecords1.Font = new System.Drawing.Font("Arial", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableServiceRecords1.Font = new DevExpress.Drawing.DXFont("Arial", 11.25F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableServiceRecords1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableServiceRecords1.Name = "xrTableServiceRecords1";
this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -159,7 +160,8 @@ namespace BeWo.IBPReports
//
// xrTableCell11
//
this.xrTableCell11.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell11.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell11.Multiline = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
@@ -172,7 +174,8 @@ namespace BeWo.IBPReports
//
// xrTableCell6
//
this.xrTableCell6.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell6.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.xrTableCell6.StylePriority.UseFont = false;
@@ -234,7 +237,8 @@ namespace BeWo.IBPReports
this.xrTable3.BorderColor = System.Drawing.Color.Black;
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.Font = new System.Drawing.Font("Arial", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable3.Font = new DevExpress.Drawing.DXFont("Arial", 11.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -384,7 +388,7 @@ namespace BeWo.IBPReports
this.xrLabel25,
this.xrLabel23,
this.xrLabel2});
this.ReportHeader.Font = new System.Drawing.Font("Arial", 12F);
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Arial", 12F);
this.ReportHeader.HeightF = 271.5833F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
@@ -406,7 +410,7 @@ namespace BeWo.IBPReports
// xrLabel5
//
this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel5.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(324F, 220.4167F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -419,7 +423,7 @@ namespace BeWo.IBPReports
//
// xrLabel16
//
this.xrLabel16.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(0F, 220.4167F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -446,7 +450,7 @@ namespace BeWo.IBPReports
//
// xrLabel14
//
this.xrLabel14.Font = new System.Drawing.Font("Arial", 12F);
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Arial", 12F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 175.0001F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -458,7 +462,7 @@ namespace BeWo.IBPReports
//
// xrLabel13
//
this.xrLabel13.Font = new System.Drawing.Font("Arial", 12F);
this.xrLabel13.Font = new DevExpress.Drawing.DXFont("Arial", 12F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 140F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -470,7 +474,7 @@ namespace BeWo.IBPReports
//
// xrLabel12
//
this.xrLabel12.Font = new System.Drawing.Font("Arial", 12F);
this.xrLabel12.Font = new DevExpress.Drawing.DXFont("Arial", 12F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 105F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -482,7 +486,7 @@ namespace BeWo.IBPReports
//
// xrLabel9
//
this.xrLabel9.Font = new System.Drawing.Font("Arial", 12F);
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Arial", 12F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 70.00002F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -494,7 +498,7 @@ namespace BeWo.IBPReports
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Arial", 12F);
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 12F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 35.00001F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -563,7 +567,7 @@ namespace BeWo.IBPReports
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -603,14 +607,14 @@ namespace BeWo.IBPReports
this.xrLabel30,
this.xrLabel11,
this.xrLabel10});
this.topMarginBand1.Font = new System.Drawing.Font("Arial", 9F);
this.topMarginBand1.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.topMarginBand1.HeightF = 208F;
this.topMarginBand1.Name = "topMarginBand1";
this.topMarginBand1.StylePriority.UseFont = false;
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(496.5833F, 27F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(170.4167F, 100F);
@@ -626,7 +630,7 @@ namespace BeWo.IBPReports
//
// xrLabel31
//
this.xrLabel31.Font = new System.Drawing.Font("Arial Narrow", 16F, System.Drawing.FontStyle.Italic);
this.xrLabel31.Font = new DevExpress.Drawing.DXFont("Arial Narrow", 16F, DevExpress.Drawing.DXFontStyle.Italic);
this.xrLabel31.ForeColor = System.Drawing.Color.Maroon;
this.xrLabel31.LocationFloat = new DevExpress.Utils.PointFloat(0F, 153.6667F);
this.xrLabel31.Multiline = true;
@@ -640,7 +644,7 @@ namespace BeWo.IBPReports
//
// xrLabel30
//
this.xrLabel30.Font = new System.Drawing.Font("Arial", 16F, System.Drawing.FontStyle.Underline);
this.xrLabel30.Font = new DevExpress.Drawing.DXFont("Arial", 16F, DevExpress.Drawing.DXFontStyle.Underline);
this.xrLabel30.ForeColor = System.Drawing.Color.Gray;
this.xrLabel30.LocationFloat = new DevExpress.Utils.PointFloat(0F, 113.6667F);
this.xrLabel30.Multiline = true;
@@ -653,9 +657,9 @@ namespace BeWo.IBPReports
//
// xrLabel11
//
this.xrLabel11.Font = new System.Drawing.Font("Arial", 9F);
this.xrLabel11.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrLabel11.ForeColor = System.Drawing.Color.Gray;
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43F);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(0F, 59.6667F);
this.xrLabel11.Multiline = true;
this.xrLabel11.Name = "xrLabel11";
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -666,15 +670,16 @@ namespace BeWo.IBPReports
//
// xrLabel10
//
this.xrLabel10.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold);
this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Arial", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel10.ForeColor = System.Drawing.Color.Gray;
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 27F);
this.xrLabel10.Multiline = true;
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(288F, 16F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(288F, 32.6667F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.StylePriority.UseForeColor = false;
this.xrLabel10.Text = "Alexianer IBP GmbH";
this.xrLabel10.Text = "Alexianer Westmünsterland GmbH\r\nAlexianer IBP";
//
// bottomMarginBand1
//
@@ -698,7 +703,7 @@ namespace BeWo.IBPReports
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.MinutesUnqualified")});
this.xrLabel17.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel17.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(337.5417F, 0F);
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 5, 0, 0, 100F);
@@ -715,7 +720,7 @@ namespace BeWo.IBPReports
// xrLabel7
//
this.xrLabel7.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel7.Font = new System.Drawing.Font("Arial", 8F);
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(357F, 71.99999F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -727,7 +732,7 @@ namespace BeWo.IBPReports
// xrLabel6
//
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel6.Font = new System.Drawing.Font("Arial", 8F);
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 71.99999F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -742,7 +747,7 @@ namespace BeWo.IBPReports
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.MinutesQualified")});
this.xrLabel4.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(242.5417F, 0F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 5, 0, 0, 100F);
@@ -759,7 +764,7 @@ namespace BeWo.IBPReports
// xrLabel3
//
this.xrLabel3.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel3.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(165.5417F, 0F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -802,12 +807,12 @@ namespace BeWo.IBPReports
this.formattingRuleServiceDesc,
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName});
this.Margins = new System.Drawing.Printing.Margins(75, 55, 208, 30);
this.Margins = new DevExpress.Drawing.DXMargins(75F, 55F, 208F, 30F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.SnapGridSize = 9F;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();

File diff suppressed because one or more lines are too long

View File

@@ -88,10 +88,10 @@ namespace BeWo.IBPReports
this.formattingRuleCostBearer = new DevExpress.XtraReports.UI.FormattingRule();
this.formattingRuleEmployeeName = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -102,7 +102,8 @@ namespace BeWo.IBPReports
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableServiceRecords1});
this.Detail.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.Detail.HeightF = 40F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -140,7 +141,8 @@ namespace BeWo.IBPReports
//
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell3.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell3.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseBorders = false;
@@ -153,7 +155,8 @@ namespace BeWo.IBPReports
//
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell4.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell4.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell4.Multiline = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
@@ -167,7 +170,8 @@ namespace BeWo.IBPReports
//
this.xrTableCell11.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell11.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell11.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell11.Multiline = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
@@ -181,7 +185,8 @@ namespace BeWo.IBPReports
//
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell9.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell9.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
@@ -248,7 +253,7 @@ namespace BeWo.IBPReports
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDate", "{0:dd.MM.yyyy}")});
this.xrTableCell2.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell2.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F);
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseBorders = false;
this.xrTableCell2.StylePriority.UseFont = false;
@@ -260,7 +265,7 @@ namespace BeWo.IBPReports
// xrTableCell7
//
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell7.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell7.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F);
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UseFont = false;
@@ -272,7 +277,7 @@ namespace BeWo.IBPReports
// xrTableCell5
//
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell5.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell5.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F);
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseBorders = false;
this.xrTableCell5.StylePriority.UseFont = false;
@@ -284,7 +289,7 @@ namespace BeWo.IBPReports
// xrTableCell6
//
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell6.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell6.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F);
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseBorders = false;
this.xrTableCell6.StylePriority.UseFont = false;
@@ -297,7 +302,8 @@ namespace BeWo.IBPReports
this.xrTableCell12.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EmployeeAbbr")});
this.xrTableCell12.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell12.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UseFont = false;
@@ -314,7 +320,7 @@ namespace BeWo.IBPReports
//
this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServicesDouble.CostBearer")});
this.xrTableCell16.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell16.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell16.StylePriority.UseFont = false;
@@ -326,7 +332,7 @@ namespace BeWo.IBPReports
//
this.xrTableCell17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServicesDouble.EmployeeName")});
this.xrTableCell17.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell17.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell17.StylePriority.UseFont = false;
@@ -397,7 +403,7 @@ namespace BeWo.IBPReports
// xrTableCell8
//
this.xrTableCell8.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell8.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold);
this.xrTableCell8.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 5, 0, 0, 100F);
this.xrTableCell8.StylePriority.UseBorders = false;
@@ -414,7 +420,7 @@ namespace BeWo.IBPReports
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.summeMinuten.BorderWidth = 2F;
this.summeMinuten.Font = new System.Drawing.Font("Arial", 9.75F);
this.summeMinuten.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F);
this.summeMinuten.Name = "summeMinuten";
this.summeMinuten.StylePriority.UseBorders = false;
this.summeMinuten.StylePriority.UseBorderWidth = false;
@@ -426,7 +432,7 @@ namespace BeWo.IBPReports
// xrTableCell13
//
this.xrTableCell13.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell13.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell13.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F);
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.StylePriority.UseBorders = false;
this.xrTableCell13.StylePriority.UseFont = false;
@@ -437,7 +443,7 @@ namespace BeWo.IBPReports
// xrLabel14
//
this.xrLabel14.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel14.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 79.83335F);
this.xrLabel14.Multiline = true;
this.xrLabel14.Name = "xrLabel14";
@@ -453,7 +459,7 @@ namespace BeWo.IBPReports
//
this.rechnungsDatum.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Dot;
this.rechnungsDatum.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.rechnungsDatum.Font = new System.Drawing.Font("Arial", 10F);
this.rechnungsDatum.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.rechnungsDatum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 55.83337F);
this.rechnungsDatum.Multiline = true;
this.rechnungsDatum.Name = "rechnungsDatum";
@@ -468,7 +474,7 @@ namespace BeWo.IBPReports
// xrLabel12
//
this.xrLabel12.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel12.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel12.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(468.1122F, 79.83335F);
this.xrLabel12.Multiline = true;
this.xrLabel12.Name = "xrLabel12";
@@ -494,7 +500,7 @@ namespace BeWo.IBPReports
// xrLabel5
//
this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel5.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(149.7917F, 79.83335F);
this.xrLabel5.Multiline = true;
this.xrLabel5.Name = "xrLabel5";
@@ -520,7 +526,7 @@ namespace BeWo.IBPReports
// xrLabel4
//
this.xrLabel4.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel4.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 117.2916F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -564,14 +570,14 @@ namespace BeWo.IBPReports
this.xrLabel10,
this.xrLabel8,
this.xrLabel1});
this.ReportHeader.Font = new System.Drawing.Font("Arial", 11F);
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
this.ReportHeader.HeightF = 285F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// xrLabel19
//
this.xrLabel19.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.xrLabel19.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(325.1495F, 241.6666F);
this.xrLabel19.Multiline = true;
this.xrLabel19.Name = "xrLabel19";
@@ -608,7 +614,7 @@ namespace BeWo.IBPReports
//
// xrLabel17
//
this.xrLabel17.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.xrLabel17.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(0F, 241.6666F);
this.xrLabel17.Multiline = true;
this.xrLabel17.Name = "xrLabel17";
@@ -740,7 +746,7 @@ namespace BeWo.IBPReports
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Arial", 13F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))));
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 13F, ((DevExpress.Drawing.DXFontStyle)((DevExpress.Drawing.DXFontStyle.Bold | DevExpress.Drawing.DXFontStyle.Underline))));
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
@@ -776,29 +782,17 @@ namespace BeWo.IBPReports
// topMarginBand1
//
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel6,
this.xrLabel21,
this.xrLabel7,
this.xrPictureBox1});
this.topMarginBand1.HeightF = 140F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrLabel6
//
this.xrLabel6.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold);
this.xrLabel6.ForeColor = System.Drawing.Color.Gray;
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 27F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(288F, 16F);
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.StylePriority.UseForeColor = false;
this.xrLabel6.Text = "Alexianer IBP GmbH";
//
// xrLabel7
//
this.xrLabel7.Font = new System.Drawing.Font("Arial", 9F);
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrLabel7.ForeColor = System.Drawing.Color.Gray;
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 60.70833F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -809,7 +803,7 @@ namespace BeWo.IBPReports
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(529.5833F, 27F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(170.4167F, 100F);
@@ -820,6 +814,19 @@ namespace BeWo.IBPReports
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrLabel21
//
this.xrLabel21.Font = new DevExpress.Drawing.DXFont("Arial", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel21.ForeColor = System.Drawing.Color.Gray;
this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(0F, 28.04163F);
this.xrLabel21.Multiline = true;
this.xrLabel21.Name = "xrLabel21";
this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel21.SizeF = new System.Drawing.SizeF(288F, 32.6667F);
this.xrLabel21.StylePriority.UseFont = false;
this.xrLabel21.StylePriority.UseForeColor = false;
this.xrLabel21.Text = "Alexianer Westmünsterland GmbH\r\nAlexianer IBP";
//
// StundenzettelBeWo67
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -835,11 +842,11 @@ namespace BeWo.IBPReports
this.formattingRuleServiceDesc,
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName});
this.Margins = new System.Drawing.Printing.Margins(70, 50, 140, 30);
this.Margins = new DevExpress.Drawing.DXMargins(70F, 50F, 140F, 30F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
@@ -909,9 +916,8 @@ namespace BeWo.IBPReports
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRSubreport xrSubreport1;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.XRLabel xrLabel21;
}
}

File diff suppressed because one or more lines are too long

View File

@@ -70,7 +70,11 @@ namespace Mittelpunkt
{
decimal duration = GetDuration(sr, ed) / 60;
if (sr.Start != null && sr.End != null)
{
dd.Custom1 = string.Format("{0} {1:HH:mm} - {2:HH:mm}", sr.ServiceDescription.Name, sr.Start, sr.End);
// Custom3 ist für MitarbeiterarbeitszeitkontoSeite2, da sollen keine Zeiten stehen
dd.Custom3 = string.Format("{0}", sr.ServiceDescription.Name);
}
else
dd.Custom1 = sr.ServiceDescription.Name;

View File

@@ -46,7 +46,8 @@ namespace Mittelpunkt
ed.UrlaubUndKrankheit = 0;
foreach (var day in ed.Days)
{
day.Custom1 += day.Custom1.IsNullOrEmpty() ? day.ZeitraeumeString : ", " + day.ZeitraeumeString;
if (day.ZeitraeumeString.IsNotNullOrEmpty())
day.Custom1 += day.Custom1.IsNullOrEmpty() ? day.ZeitraeumeString : ", " + day.ZeitraeumeString;
//bool abwesenheitenSchonImText = false;
//if (day.AbsenceTimes != null && day.AbsenceTimes.Count > 0)

View File

@@ -36,6 +36,11 @@ namespace Mittelpunkt
foreach (var day in ed.Days)
{
if (day.Date.Date.Day == 30 || day.Date.Date.Day == 31 ||
day.Date.Date.Day == 21 || day.Date.Date.Day == 22 || day.Date.Date.Day == 28 || day.Date.Date.Day == 29)
{
}
if (day.ServiceRecords != null && day.ServiceRecords.Count > 0)
{
day.Custom2 = string.Join("; ", day.ServiceRecords
@@ -44,7 +49,7 @@ namespace Mittelpunkt
}
if (day.AbsenceTimes != null && day.AbsenceTimes.Count > 0)
{
day.Custom1 = string.Join(", ", day.AbsenceTimes.Select(a => a.AbsenceReason.Description));
day.Custom3 = string.Join(", ", day.AbsenceTimes.Select(a => a.AbsenceReason.Description));
}
if (day.HoursSick > 0)

View File

@@ -260,7 +260,7 @@ namespace Mittelpunkt
// xrTableCell12
//
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Days.Custom1")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Days.Custom3")});
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell12.StylePriority.UsePadding = false;

View File

@@ -0,0 +1,65 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace PariMobil.Invoicing
{
public class CustomAssistenzInvoiceCreation : InvoiceCreation
{
public override void SetInvoiceId(ServiceInvoice invoice)
{
invoice.InvoiceBase.InvoiceId = "Assistenz";
invoice.InvoiceBase.InvoiceTypeText = "Assistenzleistung";
}
public override void SetAmountAdvancePayments(ServiceInvoice invoice)
{
//do nothing
}
public override void SetAmountEquityContribution(ServiceInvoice invoice)
{
//do nothing
}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
{
if (!iServiceRecord.ServiceDescription.CategoryName.ToLower().Contains("assistenz"))
return null;
return base.CreateInvoiceItem(iServiceRecord, scap, calc);
//DateTime start = ii.ItemPeriodStart.Value;
//decimal preisAssistenz = 0;
//var cat = DAOFactory.SearchDAO.FindServiceCategoryByName("Assistenzleistungen");
//if (cat != null)
//{
// var crps = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(cat.CostRatePeriods);
// var cp = crps.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, start);
// if (cp != null && cp.CostRateValue.HasValue)
// preisAssistenz = (decimal)cp.CostRateValue;
// ii.AmountPerUnit = preisAssistenz;
// ii.RateFactor = null;
// ii.AmountTotal = preisAssistenz * ii.UnitCount;
// ii.GrossAmountTotal = preisAssistenz * ii.UnitCount;
//}
//return ii;
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
{
return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, false, true);
}
}
}

View File

@@ -1,54 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared.Services;
using Service.Invoicing;
namespace TemplateNeuKunde.Invoicing
{
// public class CustomInvoiceCreation : InvoiceCreation
//{
// //public override void SetInvoiceId(ServiceInvoice invoice)
// //{
// // //invoice.InvoiceBase.InvoiceId = "SBD";
// // //invoice.InvoiceBase.InvoiceTypeText = "";
// //}
// // //Setze für Selbstzahler die Adresse des Klienten
// // public override void SetRecipientInformation(ServiceInvoice serviceInvoice, CostBearer costBearer)
// // {
// // if (costBearer.Organisation.Name == "Selbstzahler")
// // {
// // serviceInvoice.InvoiceBase.RecipientOrganisationOid = costBearer.Organisation.Oid;
// // if (serviceInvoice.InvoiceBase.CostBearer2SupportConcept != null)
// // {
// // var cust = serviceInvoice.InvoiceBase.CostBearer2SupportConcept.SupportConcept.Customer;
// // if (cust.Person.InvoiceAddress != null)
// // {
// // serviceInvoice.InvoiceBase.RecipientAddress = cust.Person.InvoiceAddress.CopyToNew();
// // }
// // else if (cust.Person.Address != null)
// // {
// // serviceInvoice.InvoiceBase.RecipientAddress = cust.Person.Address.CopyToNew();
// // }
// // serviceInvoice.InvoiceBase.RecipientPersonFirstName = cust.Person.FirstName;
// // serviceInvoice.InvoiceBase.RecipientPersonLastName = cust.Person.LastName;
// // serviceInvoice.InvoiceBase.RecipientCustomerOid = cust.Oid;
// // }
// // }
// // }
// }
}

View File

@@ -6,60 +6,34 @@ using BeWo.Service.Invoicing;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
namespace TemplateNeuKunde.Invoicing
namespace PariMobil.Invoicing
{
public class CustomInvoiceFactory : InvoiceFactory
{
// public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
// {
////Hier einkommentieren, wenn die Rechnungserstellung von einer bestimmten Kategorie einer Bewilligung abhängt
//foreach (var item in supportConcepts2ServiceRecords)
//{
// var csc = item.Key;
// var cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(csc.CostBearerRelOids[0]);
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
{
foreach (var list in supportConcepts2ServiceRecords.Values)
{
foreach (var sr in list)
{
var sd = sr.ServiceDescription.Category;
var ic = GetInvoiceCreatorForCategory(sd);
if (ic != null)
return ic;
}
}
return base.CreateInvoiceCreator(specificId, tenant, supportConcepts2ServiceRecords);
}
// foreach (var scap in cb2sc.ApprovalPeriodList)
// {
// if (scap.ServiceCategory != null)
// {
// var ic = GetInvoiceCreatorForCategory(scap.ServiceCategory.Name);
// if (ic != null)
// return ic;
// }
// }
//}
////Hier einkommentieren, wenn die Rechnungserstellung von einer bestimmten Kategorie oder Organisation eines ServiceRecords abhängt
//foreach (var list in supportConcepts2ServiceRecords.Values)
// {
// foreach (var sr in list)
// {
// //Hier wird Kategorie geprüft
// var ic = GetInvoiceCreatorForCategory(sr.ServiceDescription.Category.Name);
// if (ic != null)
// return ic;
// //Hier wird Organisation geprüft
// if (sr.CostBearer.Name.ToLower().Contains("selbstzahler"))
// {
// return new CustomInvoiceCreation();
// }
// }
// }
// return base.CreateInvoiceCreator(specificId, tenant, supportConcepts2ServiceRecords);
// }
// private InvoiceCreation GetInvoiceCreatorForCategory(String catName)
// {
// if (!String.IsNullOrEmpty(catName))
// {
// String cat = catName.ToLower().Trim();
// if (cat.IndexOf("assistenz") >= 0)
// return new CustomInvoiceCreation();
// }
// return null;
// }
private InvoiceCreation GetInvoiceCreatorForCategory(ServiceCategoryDC sd)
{
if (sd != null && !String.IsNullOrEmpty(sd.Name))
{
String cat = sd.Name.ToLower().Trim();
if (cat.IndexOf("assistenz") >= 0)
return new CustomAssistenzInvoiceCreation();
}
return null;
}
}
}

View File

@@ -1,24 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace TemplateNeuKunde.Invoicing
{
public class CustomLWLDiggaBerechnung : LWLDiggaBerechnung
{
public override void InitBerechnung()
{
//this.Umstellungsdatum = new DateTime(2025, 1, 1);
}
}
}

View File

@@ -1,51 +1,50 @@
//using BeWo.Data.Entities;
//using BeWo.Service.Invoicing;
//using BS.Shared.DataContracts;
//using BS.Shared.Services;
//using System;
//using System.Collections.Generic;
//using System.Linq;
using BeWo.Data.Entities;
using BeWo.Service.Invoicing;
using BS.Shared.DataContracts;
using BS.Shared.Services;
using System;
using System.Collections.Generic;
using System.Linq;
//namespace TemplateNeuKunde.Invoicing
//{
// public class CustomSettlementInvoiceCreation : SettlementInvoiceCreation
// {
// public override bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s)
// {
// return false;
// }
namespace PariMobil.Invoicing
{
public class CustomSettlementInvoiceCreation : SettlementInvoiceCreation
{
public override bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s)
{
return false;
}
//public override bool IsServiceRecordBillable(ServiceRecord iRecord)
//{
// if (iRecord.ServiceDescription.ServiceCategory.Name.Contains("Assistenz"))
// {
// return false;
// }
// return true;
//}
public override bool IsServiceRecordBillable(ServiceRecord iRecord)
{
if (iRecord.ServiceDescription.ServiceCategory.Name.Contains("Assistenz"))
{
return false;
}
return true;
}
//public override void CalculateSettlementInvoiceApprovedAmounts(Settlement2DC si, SupportConceptCostBearerRelDC relDC, Calculations calc)
//{
// si.ApprovedFLSWeekly = 0;
// si.ApprovedFLS = 0;
// foreach (var sp in relDC.ApprovalPeriodList)
// {
// if (sp.ServiceCategory == null || !sp.ServiceCategory.Name.Contains("Assistenz"))
// {
// si.ApprovedFLSWeekly += calc.GetApprovedHoursPerWeek(sp, relDC.CostBearer.CostRatePeriods) ?? 0m;
public override void CalculateSettlementInvoiceApprovedAmounts(Settlement2DC si, SupportConceptCostBearerRelDC relDC, Calculations calc)
{
si.ApprovedFLSWeekly = 0;
si.ApprovedFLS = 0;
foreach (var sp in relDC.ApprovalPeriodList)
{
if (sp.ServiceCategory == null || !sp.ServiceCategory.Name.Contains("Assistenz"))
{
si.ApprovedFLSWeekly += calc.GetApprovedHoursPerWeek(sp, relDC.CostBearer.CostRatePeriods) ?? 0m;
// decimal flsTotal = calc.GetApprovedHoursTotal(sp, relDC.CostBearer.CostRatePeriods) ?? 0m;
// flsTotal = Math.Round(flsTotal, 2, MidpointRounding.AwayFromZero);
decimal flsTotal = calc.GetApprovedHoursTotal(sp, relDC.CostBearer.CostRatePeriods) ?? 0m;
flsTotal = Math.Round(flsTotal, 2, MidpointRounding.AwayFromZero);
// si.ApprovedFLS += flsTotal;
// }
// }
//}
si.ApprovedFLS += flsTotal;
}
}
}
//public override IList<ServiceRecord> GetBillableServiceRecords(CostBearer2SupportConcept c2s)
//{
// return c2s.ServiceRecords.OrderBy(s => s.Start).Where(s => !s.ServiceDescription.ServiceCategory.Name.ToLower().Contains("assistenz")).ToList();
//}
// }
//}
public override IList<ServiceRecord> GetBillableServiceRecords(CostBearer2SupportConcept c2s)
{
return c2s.ServiceRecords.OrderBy(s => s.Start).Where(s => !s.ServiceDescription.ServiceCategory.Name.ToLower().Contains("assistenz")).ToList();
}
}
}

View File

@@ -7,8 +7,8 @@
<ProjectGuid>{8F8C0B60-2358-43AE-9D4E-7BDE8A4777A1}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>KundeXyz</RootNamespace>
<AssemblyName>0000000000_Reports</AssemblyName>
<RootNamespace>PariMobil</RootNamespace>
<AssemblyName>6664235818_Reports</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
@@ -56,13 +56,28 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
<Compile Include="Invoicing\AssistenzInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\CustomLWLDiggaBerechnung.cs" />
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Reporting\CustomMitarbeiterstundenkontoBerechnung.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Reporting\CustomReportCreator.cs" />
<Compile Include="Reporting\Quittierungsbeleg.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Reporting\Quittierungsbeleg.Designer.cs">
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
</Compile>
<Compile Include="Reporting\SettlementReport2.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Reporting\SettlementReport2.Designer.cs">
<DependentUpon>SettlementReport2.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">
@@ -82,7 +97,21 @@
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Reporting\Quittierungsbeleg.resx">
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Reporting\SettlementReport2.resx">
<DependentUpon>SettlementReport2.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PariMobil.Properties {
using System;
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PariMobil.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -1,28 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using BS.Shared.Extensions;
namespace TemplateNeuKunde.Reporting
{
public class CustomMitarbeiterstundenkontoBerechnung : MitarbeiterstundenkontoBerechnung
{
//Wenn halbe Feiertage konfiguriert werden sollen, muss diese Methode auch im VacationService einkommentiert werden
//public override decimal GetFeiertagsFaktor(DateTime start)
//{
// if (start.Month == 12)
// {
// if (start.Day == 24 || start.Day == 31)
// {
// return 0.5m;
// }
// }
// return base.GetFeiertagsFaktor(start);
//}
}
}

View File

@@ -8,194 +8,130 @@ using BeWo.Report;
using BeWo.Report.DefaultReports;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.DataContracts;
using DevExpress.XtraReports.UI;
namespace TemplateNeuKunde.Reporting
namespace PariMobil.Reporting
{
//public class CustomReportCreator : DefaultReportCreator
//{
// //Einkommentiere für LWL Prüfliste, ZAD Nummer und ServiceDescription ergänzen
public class CustomReportCreator : DefaultReportCreator
{
public override XtraReport CreateServiceInvoiceReportMitQb(long invoiceBaseOid)
{
var serviceInvoice = DAOFactory.SearchDAO.GetServiceInvoiceByInvoiceBaseOid(invoiceBaseOid);
var dc = MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(serviceInvoice);
// //SQL Queries:
// //INSERT INTO `query` (`Oid`,`Tid`,`Type`,`Title`,`SQL`,`Notice`,`InsTs`,`InsUser`,`UdpUser`,`Version`,`IsActive`,`SystemEntryID`,`UserGroupOids`,`ReportTypeName`,`FileName`,`ExportTitle`)
// //VALUES(500,24,0,'LWL Quittierungsbelege','select \':Von\', \':Bis\', \':Klient/in\'','direct', NULL, NULL, NULL,1,1, NULL,'1', NULL, NULL, NULL);
String reportId = serviceInvoice.InvoiceBase.InvoiceId;
if (String.IsNullOrEmpty(reportId))
{
// Falls InvoiceId nicht existiert
// Gehe jede peroide von ServiceInvoice - ServiceInvoicePeriodList durch
foreach (var period in serviceInvoice.ServiceInvoicePeriodList)
{
if (String.IsNullOrEmpty(reportId) && period.SupportConceptApprovalPeriod != null)
{
// Falls periode - SupportConecptApprovalPeriod nicht leer ist, füge
reportId = period.SupportConceptApprovalPeriod.CostBearer2SupportConcept.CostBearer.ID;
if (String.IsNullOrEmpty(reportId) && period.SupportConceptApprovalPeriod.CostBearer2SupportConcept.CostBearer.IsSingleInvoicePerCustomer)
{
reportId = "Sammelrechnung";
}
}
foreach (var item in period.InvoiceItemList)
{
if (String.IsNullOrEmpty(reportId) && item.SupportConceptApprovalPeriodOid.HasValue)
{
var approvalPeriod =
DAOFactory.GenericDAO.LoadByID<SupportConceptApprovalPeriod>(item.SupportConceptApprovalPeriodOid.Value);
if (approvalPeriod.CostBearer2SupportConcept != null)
{
reportId = approvalPeriod.CostBearer2SupportConcept.CostBearer.ID;
if (String.IsNullOrEmpty(reportId) && approvalPeriod.CostBearer2SupportConcept.CostBearer.IsSingleInvoicePerCustomer)
{
reportId = "Sammelrechnung";
}
}
}
}
}
}
// //INSERT INTO `parameter` (`Oid`,`QueryOid`,`Tid`,`Name`,`Type`,`DbType`,`InsTs`,`InsUser`,`UdpUser`,`Version`,`IsActive`,`SystemEntryID`) VALUES(4,500,25,'Von_Bis',5, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
// //INSERT INTO `parameter` (`Oid`,`QueryOid`,`Tid`,`Name`,`Type`,`DbType`,`InsTs`,`InsUser`,`UdpUser`,`Version`,`IsActive`,`SystemEntryID`) VALUES(5,500,25,'Klient/in',2, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
IBeWoReport<ServiceInvoiceRO> invoiceReport = FindReportImp<ServiceInvoiceRO>(reportId);
invoiceReport.SetReportDataSource(ServiceInvoiceRO.Create(dc));
((XtraReport)invoiceReport).CreateDocument();
// //public override XtraReport CreateQueryReport(long queryOid, string queryReportId)
// //{
// // if (queryOid == 500)
// // {
// // return CreateLwlPruefliste(CreateQueryRO(queryOid, queryReportId));
var qb = CreateBelegeForAssistenz(serviceInvoice.InvoiceBase, dc);
AddReportPagesToMaster(invoiceReport as XtraReport, qb);
// // }
// // return base.CreateQueryReport(queryOid, queryReportId);
// //}
return invoiceReport as XtraReport;
return new XtraReport();
}
// //private LwlPruefliste CreateLwlPruefliste(QueryRO queryRo)
// //{
// // var liste = new LwlPruefliste();
protected virtual XtraReport CreateBelegeForAssistenz(InvoiceBase invoiceBase, ServiceInvoiceDC dc)
{
if (invoiceBase.CostBearer2SupportConcept != null)
{
var customerOid = invoiceBase.CostBearer2SupportConcept.SupportConcept.Customer.Oid.Value;
long? catOid = null;
if (dc.ServiceInvoicePeriods.Count > 0 && dc.ServiceInvoicePeriods[0].SupportConceptApprovalPeriod.ServiceCategory != null)
{
catOid = dc.ServiceInvoicePeriods[0].SupportConceptApprovalPeriod.ServiceCategory.ServiceCategoryOid.Value;
return CreateServiceOverviewReportNew(QBFilterEnum.KlientenAuswahl, customerOid, null, null, null, catOid, invoiceBase.AccountingPeriodStart.Value, invoiceBase.AccountingPeriodEnd.Value, false);
}
}
// // if (queryRo.Rows.Count > 0)
// // {
// // DateTime start = DateTime.MaxValue;
// // DateTime end = DateTime.MinValue;
return null;
}
// // if (queryRo.Rows[0].Field1 != null)
// // {
// // DateTime.TryParse(queryRo.Rows[0].Field1.ToString(), out start);
// // }
// // if (queryRo.Rows[0].Field2 != null)
// // {
// // DateTime.TryParse(queryRo.Rows[0].Field2.ToString(), out end);
// // }
// // long? customerOid = null;
// // if (queryRo.Rows[0].Field3.ToString() == "0")
// // {
// // var masterReport = new LwlPruefliste();
// // //masterReport.CreateDocument();
public override XtraReport CreateSettlementReportMitQB(String dcId, long? invoiceBaseOid)
{
XtraReport report = null;
String reportId = null;
var lSettlementDC = GetSettlementDC(dcId, invoiceBaseOid);
// // var customerList = DAOFactory.GenericDAO.GetAllActive<Customer>();
// // var customerListOrd = customerList.OrderBy(c => c.Person.LastNameFirstName).ToList();
// // foreach (var c in customerListOrd)
// // {
// // var ro = LwlPrueflisteRO.Create(start, end, "9011113", c.Oid);
// // if (ro.ServiceRecords != null && ro.ServiceRecords.Count > 0)
// // {
// // try
// // {
// // liste = new LwlPruefliste();
// // liste.SetReportDataSource(ro);
// // liste.CreateDocument();
// // masterReport.Pages.AddRange(liste.Pages);
// // }
// // catch
// // {
// // // ignore - z.B. kein Hilfeplan
// // }
// // }
// // }
// // return (LwlPruefliste)masterReport;
// // }
if (lSettlementDC.CostBearer2SupportConceptOid.HasValue)
{
CostBearer2SupportConcept c2s = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(lSettlementDC.CostBearer2SupportConceptOid.Value);
reportId = c2s.CostBearer.ID;
}
// // if (queryRo.Rows[0].Field3 != null)
// // {
// // if (Int64.TryParse(queryRo.Rows[0].Field3.ToString(), out var oidOut))
// // {
// // customerOid = oidOut;
// // }
// // var ro = LwlPrueflisteRO.Create(start, end, "9011113", customerOid);
// // liste.SetReportDataSource(ro);
// // return liste;
// // }
// // }
if (lSettlementDC.DifferentHourlyRateCount > 0)
{
// // return liste;
// //}
IBeWoReport<SettlementRO> lSettlementReport = FindReportImp<SettlementRO>(reportId);
var ro = SettlementRO.Create(lSettlementDC);
lSettlementReport.SetReportDataSource(ro);
report = lSettlementReport as XtraReport;
}
else
{
IBeWoReport<Settlement2RO> lSettlementReport = FindReportImp<Settlement2RO>(reportId);
lSettlementReport.SetReportDataSource(Settlement2RO.Create(lSettlementDC));
report = lSettlementReport as XtraReport;
}
// //Einkommentiere für LWL 2. Seite mit Anhang für Budgetnachweise
// //public override XtraReport CreateSettlementReport(string dcId, long? invoiceBaseOid)
// //{
// // return base.CreateSettlementReport(dcId, invoiceBaseOid, true);
// //}
if (lSettlementDC.InvoiceBaseOid.HasValue)
{
var sb = DAOFactory.GenericDAO.LoadByID<InvoiceBase>(lSettlementDC.InvoiceBaseOid.Value);
var qb = CreateBelegeForSpitzabrechnung(sb);
AddReportPagesToMaster(report, qb);
}
return report;
}
// //public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
// //{
// // List<ServicesOverviewRO> lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay);
protected virtual XtraReport CreateBelegeForSpitzabrechnung(InvoiceBase invoiceBase)
{
List<ServicesOverviewRO> quittierungsbelegRos = null;
if (invoiceBase.CostBearer2SupportConcept != null)
{
var customerOid = invoiceBase.CostBearer2SupportConcept.SupportConcept.Customer.Oid.Value;
return CreateServiceOverviewReportNew(QBFilterEnum.KlientenAuswahl, customerOid, null, null, null, 1, invoiceBase.AccountingPeriodStart.Value, invoiceBase.AccountingPeriodEnd.Value, false);
}
// // if (lROs.Count > 0)
// // {
// // var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid);
// // rootReport.CreateDocument();
// // for (int i = 1; i < lROs.Count; i++)
// // {
// // var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid);
// // lNext.CreateDocument();
// // rootReport.Pages.AddRange(lNext.Pages);
// // }
// // return rootReport;
// // }
// // return new XtraReport();
// //}
// //public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
// //{
// // var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
// // return CreateServicesOverviewReportForRo(ro, serviceCategoryOid);
// //}
// //public override XtraReport CreateServiceOverviewReportForCustomers(IList<long> customerOids, int month, int year, long? orgaOid, long? empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende)
// //{
// // var roList = new List<ServicesOverviewRO>();
// // foreach (var coid in customerOids)
// // {
// // var ro = ServicesOverviewRO.Create(coid, month, year, true, orgaOid ?? 0, empOid ?? 0, startDay, endDay, serviceCategoryOid);
// // if (ro != null)
// // {
// // roList.Add(ro);
// // }
// // }
// // if (roList.Count > 0)
// // {
// // var rootReport = CreateServicesOverviewReportForRo(roList[0], serviceCategoryOid);
// // rootReport.CreateDocument();
// // for (int i = 1; i < roList.Count; i++)
// // {
// // var lNext = CreateServicesOverviewReportForRo(roList[i], serviceCategoryOid);
// // lNext.CreateDocument();
// // rootReport.Pages.AddRange(lNext.Pages);
// // }
// // return rootReport;
// // }
// // return new XtraReport();
// //}
//public override XtraReport CreateReportForServicesOverviewRo(ServicesOverviewRO ro, String reportId)
//{
// return CreateServicesOverviewReportForRo(ro, null);
//}
// //private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
// //{
// // IBeWoReport<ServicesOverviewRO> report = null;
// // String kt = "";
// // if (!String.IsNullOrWhiteSpace(ro.Costbearer))
// // kt = ro.Costbearer.Trim();
// // String function = "";
// // if (ro.CostBearer2SupportConceptList != null)
// // {
// // foreach (var c2s in ro.CostBearer2SupportConceptList)
// // {
// // if (c2s.CostBearer.Organisation.Function != null && !String.IsNullOrWhiteSpace(ro.Costbearer) && c2s.CostBearer.Organisation.Name == ro.Costbearer)
// // function = c2s.CostBearer.Organisation.Function.Value;
// // }
// // }
// // if (kt == "Kreisverwaltung Mainz-Bingen")
// // report = new AlzeyTeilhabe.StundenzettelBi2();
// // if (report == null && function == "Kostenträger Soziotherapie")
// // report = new StundenzettelSoziotherapie();
// // if (report == null)
// // report = new AlzeyTeilhabe.StundenzettelWo();
// // report.SetReportDataSource(ro);
// // return report as XtraReport;
// //}
//}
return null;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,145 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace PariMobil
{
public partial class Quittierungsbeleg : XtraReport, IBeWoReport<ServicesOverviewRO>
{
public Quittierungsbeleg()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
// Get calling method name
//StackTrace stackTrace = new StackTrace();
//Debug.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);
bool hatGruppen = false;
//if (pRO == null)
// return;
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
foreach (var sd in pRO.Services)
{
if (sd.IsBillable || sd.ServiceDescription.ToLower().Contains("fehlkontakt") || sd.ServiceCategory.ToLower().Contains("fehlkontakt"))
{
ServicesOverviewRO.CreateSignatureString(sd);
sd.Notice5 = "E";
if (sd.IsGroup)
{
//sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount);
sd.Notice5 = "GR";
hatGruppen = true;
}
if (sd.ServiceDescription.ToLower().Contains("fehlkontakt") || sd.ServiceCategory.ToLower().Contains("fehlkontakt") || (sd.ProzentAbrechenbar < 100))
{
sd.Notice5 = "F";
}
servicesBillable.Add(sd);
}
}
pRO.Services = servicesBillable;
}
if (String.IsNullOrWhiteSpace(pRO.AbsenceTimes))
{
lblHatAbwesenheiten.Text = "X";
}
if (!hatGruppen)
{
lblHatGruppen.Text = "X";
}
ErstelleAbwesenheitenTabelle(pRO);
bindingSource1.DataSource = pRO;
}
private void ErstelleAbwesenheitenTabelle(ServicesOverviewRO pRo)
{
if (pRo.Abwesenheiten != null)
{
int newRows = 0;
int index = 1;
foreach (var at in pRo.Abwesenheiten)
{
DevExpress.XtraReports.UI.XRTableRow row = null;
if (index < xrTableAbwesenheiten.Rows.Count)
{
row = xrTableAbwesenheiten.Rows[index];
}
else
{
row = xrTableAbwesenheiten.InsertRowBelow(xrTableAbwesenheiten.Rows[xrTableAbwesenheiten.Rows.Count - 1]);
newRows++;
}
row.Cells[0].Text = String.Format("{0:dd.MM.yyyy}", at.Start);
int? days = null;
if (at.End.HasValue)
{
row.Cells[1].Text = String.Format("{0:dd.MM.yyyy}", at.End);
days = (int)at.End.Value.Subtract(at.Start.Value).TotalDays + 1;
}
else
{
row.Cells[1].Text = "unbekannt";
}
row.Cells[2].Text = String.Format("{0:0}", days);
index++;
}
if (newRows > 0)
{
lblUnterschriftKlient.Top += newRows * 20;
lblUnterschriftMitarbeiter.Top += newRows * 20;
}
}
}
private void picSignature_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e)
{
XRPictureBox xrBox = sender as XRPictureBox;
//var test = this.GetCurrent
string base64String = xrBox.Tag as string;
if (!String.IsNullOrWhiteSpace(base64String))
{
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
var binData = Convert.FromBase64String(base64Data);
Image img = ByteArrayToImage(binData);
xrBox.Image = Utils.CropImage(img);
}
else
{
xrBox.Image = null;
}
}
public Image ByteArrayToImage(byte[] byteArrayIn)
{
using(var memoryStream = new MemoryStream(byteArrayIn))
{
return Image.FromStream(memoryStream);
}
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,51 @@
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using System.Text.RegularExpressions;
using BS.Shared.Extensions;
namespace PariMobil
{
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<Settlement2RO>
{
public Spitzabrechnung()
{
InitializeComponent();
}
public void SetReportDataSource(Settlement2RO pRO)
{
decimal rateFactor = 1;
foreach (var ii in pRO.InvoiceItems)
{
if (ii.RateFactor.HasValue)
{
rateFactor = (100 + ii.RateFactor.Value) / 100;
}
if (!pRO.FehlkontakteString.IsNullOrEmpty() && ii.RateFactor == 0)
{
Zwischensumme.Visible = true;
//if (!ii.ItemDescription.IsNullOrEmpty())
//{
//ii.AbrechnungsText = Regex.Replace(ii.DetailDescription, ii.ItemDescription, "Fehlkontakte");
//}
ii.AbrechnungsText = ii.AbrechnungsText.Replace("FLS", "Std.");
ii.ItemDescription = "Fehlkontakte";
}
else if (ii.ItemDescription.IsNullOrEmpty())
{
ii.ItemDescription = "Fachleistungsstunden";
}
}
pRO.RateFactor = (double)rateFactor;
this.bindingSource1.DataSource = pRO;
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -25,10 +25,6 @@ namespace BeWo.Service.Core
public static string GetServiceLogFile()
=> Path.Combine(getLogRootPath(), "service.log.txt");
public static string GetWCFErrorLogFile()
=> Path.Combine(getLogRootPath(), "wcferror.log.txt");
public static string GetJsonErrorLogFile()
=> Path.Combine(getLogRootPath(), "jsonerror.log.txt");
public static string GetApiServiceTestFile()
=> Path.Combine(getLogRootPath(), "apiservice.test.txt");
public static string GetAiServiceLogFile()

View File

@@ -100,6 +100,13 @@ namespace BeWo.Service.Core
var name = $"BeWo.Service.ServiceContracts.{pServiceInterface}";
var t = Type.GetType(name);
methodInfo = t?.GetMethod(pMethodName);
if(methodInfo is null)
{
name = $"BeWo.Service.ServiceContracts.Enhanced.{pServiceInterface}";
t = Type.GetType(name);
methodInfo = t?.GetMethod(pMethodName);
}
}
catch (Exception)
{

View File

@@ -1,4 +1,6 @@
using BS.Shared.Logger;
using DevExpress.CodeParser.Diagnostics;
using log4net;
using System;
using System.Collections.Generic;
using System.IO;
@@ -11,10 +13,6 @@ namespace BeWo.Service.Core
public static class ServiceLogger
{
public static FileLogger CoreLogger { get; } = new FileLogger(BeWoServerPathHelper.GetServiceLogFile());
public static FileLogger WCFErrorLogger { get; } = new FileLogger(BeWoServerPathHelper.GetWCFErrorLogFile());
public static FileLogger JsonErrorLogger { get; } = new FileLogger(BeWoServerPathHelper.GetJsonErrorLogFile());
//public static FileLogger AiLogger { get; } = new FileLogger(BeWoServerPathHelper.GetAiServiceLogFile());
public static FileLogger GetRequestLogger()
{
@@ -25,5 +23,12 @@ namespace BeWo.Service.Core
return new FileLogger(filePath);
}
public static ILog GetLogger(Type declaringType)
{
log4net.Config.XmlConfigurator.Configure();
return log4net.LogManager.GetLogger(declaringType);
}
}
}

View File

@@ -10,6 +10,7 @@ using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.Extensions;
using DevExpress.CodeParser.Diagnostics;
using System;
using System.Collections.Generic;
using System.IO;

View File

@@ -427,6 +427,7 @@ namespace BeWo.Service.Plugins
//t = "6095094585"; // IBAHS e.V.
//t = "9453919144"; // Beratung am Stadtwald - Lisa Maria Reeh
//t = "5960095273"; // Flexible Jugendarbeit Frankfurt (Oder) e.V.
t = "6664235818"; // PariMobil gGmbH Krefeld
return t;
#else
if (MultitenancyOperationContextExt.Current != null)

View File

@@ -487,12 +487,12 @@ namespace BeWo.Service.Plugins
if (endDate >= new DateTime(contract.EntryDate.Value.Year, 12, 31)) // Wenn Vertrag länger gilt als das gewählte Jahr
{
int restlicheTageImJahr = Convert.ToInt32((new DateTime(contract.EntryDate.Value.Year, 12, 31) - contract.EntryDate.Value.Date).TotalDays);
tageNachAbzug = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, null, arbeitstage, restlicheTageImJahr, leaveDays);
tageNachAbzug = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, endDate, arbeitstage, restlicheTageImJahr, leaveDays);
}
else // Wenn Ende des Vertrags im gleichen Jahr vor Jahresende ist
{
int restlicheTageImJahr = Convert.ToInt32((contract.ContractEndDate.Value.Date - contract.EntryDate.Value.Date).TotalDays);
tageNachAbzug = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, contract.ContractEndDate.Value.Date, arbeitstage, restlicheTageImJahr, leaveDays);
tageNachAbzug = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, endDate, arbeitstage, restlicheTageImJahr, leaveDays);
}
}
else if (endDate.Value.Year == year) // Wenn Vertrag im gewählten Jahr endet

View File

@@ -110,6 +110,10 @@
<Reference Include="DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v23.2.Core.Desktop, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Lib\log4net.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.7\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>

View File

@@ -30,10 +30,12 @@ namespace BeWo.Service.ServiceBehavior.JsonError
public class JsonErrorHandler : IErrorHandler
{
private static readonly log4net.ILog log = ServiceLogger.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public void ProvideFault(Exception error, MessageVersion version, ref Message fault)
{
// Logge in File
ServiceLogger.JsonErrorLogger.LogError(error);
log.Error(error);
// Erstelle eine JSON-Fehlermeldung
var jsonError = new JsonError
@@ -44,7 +46,7 @@ namespace BeWo.Service.ServiceBehavior.JsonError
// Fügt StackTrace hinzu (AppSettings)
string val = ConfigurationManager.AppSettings["AdminServiceEnableStackTrace"];
if(bool.TryParse(val, out bool res) && res)
if (bool.TryParse(val, out bool res) && res)
{
jsonError.StackTrace = error.StackTrace;
}

View File

@@ -1,4 +1,6 @@
using BeWo.Service.Core;
using DevExpress.CodeParser.Diagnostics;
using log4net;
using System;
using System.Collections.Generic;
using System.Configuration;
@@ -17,6 +19,8 @@ namespace BeWo.Service.ServiceBehavior.WCFError
{
public class WCFErrorHandler : IErrorHandler
{
private static readonly log4net.ILog log = ServiceLogger.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public bool HandleError(Exception exception)
{
return true;
@@ -25,7 +29,7 @@ namespace BeWo.Service.ServiceBehavior.WCFError
public void ProvideFault(Exception error, MessageVersion version, ref Message message)
{
// Logge in File
ServiceLogger.WCFErrorLogger.LogError(error);
log.Error(error);
var wcfError = Utils.CreateBeWoFaultException(error);

View File

@@ -18,57 +18,57 @@ namespace BeWo.Service.ServiceContracts.Enhanced
{
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleView)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
AiConfigDC GetAiConfig();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
//[RequireWcfAuthorization(UserRightType.AiModuleViewSetting)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
AiConfigDC UpdateAiConfig(AiConfigDC toUpdate);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleView)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
IEnumerable<AiModelDC> GetAiModels();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleView)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
IEnumerable<AiConversationDC> GetAiConversations(AiContextType uicontext, long? oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatAdd)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
AiConversationDC CreateAiConversation(AiConversationDC conversation, long modell_oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatAdd)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
AiConversationDC CreateAiConversationWithMessage(AiConversationDC conversation, long modell_oid, string message);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
//[RequireWcfAuthorization(UserRightType.AiModuleChatClone)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
AiConversationDC CloneAiConversation(long conversation_oid, long? message_oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatEdit)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
long UpdateAiConversationDisplayname(long oid, long version, string displayname);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatDelete)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
void DeleteAiConversation(long conversation_oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatAdd)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
AiConversationMessageDC[] SendNewMessage(long conversation, string message);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatAdd)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordChat)]
bool CheckContextSize(AiContextType aiContextType, Dictionary<TableID, long[]> context, long? modell_oid);
[FaultContract(typeof(BeWoFault))]
@@ -93,7 +93,7 @@ namespace BeWo.Service.ServiceContracts.Enhanced
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineEdit)]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineView)]
IEnumerable<AiPromptbausteinPromptDC> UpdateAiPromptbausteinPrompt(IEnumerable<AiPromptbausteinPromptDC> prompts);
[FaultContract(typeof(BeWoFault))]
@@ -108,7 +108,7 @@ namespace BeWo.Service.ServiceContracts.Enhanced
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineView)]
[RequireWcfAuthorization(UserRightType.AiModuleServiceRecordDocu)]
AiFunctionDocResponse ExecuteAiFunctionServiceRecordDocumentation(AiFunctionDocRequest request);
}
}

View File

@@ -638,15 +638,14 @@ namespace BS.Shared
ServiceRecord_AllowEditAfterEmployeeSignature = 171724,
ServiceRecord_AllowDeleteAfterEmployeeSignature = 171725,
AiChatInZeiterfassung = 180000,
//AiChatInZeiterfassung = 180000,
AiModuleView = 201000,
AiModuleChatAdd = 201001,
AiModuleChatEdit = 201002,
AiModuleChatDelete = 201003,
//AiModuleChatView = 201000,
//AiModuleChatAdd = 201001,
//AiModuleChatEdit = 201002,
//AiModuleChatDelete = 201003,
//AiModuleViewSetting = 201005,
//AiModuleChatClone = 201006,
AiModulePromptbausteineView = 201007,
//AiModulePromptbausteineAdd = 201008,
AiModulePromptbausteineEdit = 201009,
@@ -654,6 +653,8 @@ namespace BS.Shared
//AiModulePromptbausteineSeeAll = 201011,
//AiModulePromptbausteineExecute = 201012,
AiModulePromptbausteinShare = 201013,
AiModuleServiceRecordChat = 201014,
AiModuleServiceRecordDocu = 201015,
AiVoiceView = 201020,
}

View File

@@ -761,27 +761,27 @@ namespace BS.Shared.Core
dict.Add(UserRightType.WohnheimView_View, Translator.Translate("Wohnprojekte ansehen"));
dict.Add(UserRightType.Wohnheim_AllowArchiving, Translator.Translate("Wohnprojekte archivieren"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_View, Translator.Translate($"Wohnprojekte-> Wohneinheit {action_keywords[0]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_Manage, Translator.Translate($"Wohnprojekte-> Wohneinheit {action_keywords[1]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_View, Translator.Translate($"Wohnprojekte -> Wohneinheit {action_keywords[0]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_Manage, Translator.Translate($"Wohnprojekte -> Wohneinheit {action_keywords[1]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_Gallery_View, Translator.Translate($"Wohnprojekte-> Wohneinheit Grundrisse {action_keywords[0]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_Gallery_Manage, Translator.Translate($"Wohnprojekte-> Wohneinheit Grundrisse {action_keywords[1]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_Gallery_View, Translator.Translate($"Wohnprojekte -> Wohneinheit Grundrisse {action_keywords[0]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_Gallery_Manage, Translator.Translate($"Wohnprojekte -> Wohneinheit Grundrisse {action_keywords[1]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_Belegung_View, Translator.Translate($"Wohnprojekte-> Wohneinheitbelegung {action_keywords[0]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_Belegung_Manage, Translator.Translate($"Wohnprojekte-> Wohneinheitbelegung {action_keywords[1]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_Belegung_View, Translator.Translate($"Wohnprojekte -> Wohneinheitbelegung {action_keywords[0]}"));
dict.Add(UserRightType.WohnheimView_Wohneinheit_Belegung_Manage, Translator.Translate($"Wohnprojekte -> Wohneinheitbelegung {action_keywords[1]}"));
dict.Add(UserRightType.Finance_Gkv_View, Translator.Translate($"Finanzen-> Gkv Abrechnung {action_keywords[0]}"));
dict.Add(UserRightType.Finance_Gkv_Create, Translator.Translate($"Finanzen-> Gkv Abrechnung {action_keywords[2]}"));
dict.Add(UserRightType.Finance_Gkv_Send, Translator.Translate($"Finanzen-> Gkv Abrechnung {action_keywords[5]}"));
dict.Add(UserRightType.Finance_Gkv_Delete, Translator.Translate($"Finanzen-> Gkv Abrechnung {action_keywords[4]}"));
dict.Add(UserRightType.Finance_Gkv_View, Translator.Translate($"Finanzen -> Gkv Abrechnung {action_keywords[0]}"));
dict.Add(UserRightType.Finance_Gkv_Create, Translator.Translate($"Finanzen -> Gkv Abrechnung {action_keywords[2]}"));
dict.Add(UserRightType.Finance_Gkv_Send, Translator.Translate($"Finanzen -> Gkv Abrechnung {action_keywords[5]}"));
dict.Add(UserRightType.Finance_Gkv_Delete, Translator.Translate($"Finanzen -> Gkv Abrechnung {action_keywords[4]}"));
dict.Add(UserRightType.AiVoiceView, Translator.Translate($"KI-Spracheingabe & Transkription verwenden"));
dict.Add(UserRightType.AiModuleView, Translator.Translate($"KI-Chat verwenden {action_keywords[0]}"));
dict.Add(UserRightType.AiModuleChatAdd, Translator.Translate($"KI-Konversationen/Nachrichten {action_keywords[2]}"));
//dict.Add(UserRightType.AiModuleChatView, Translator.Translate($"KI-Chat (Allgemein) {action_keywords[0]}"));
//dict.Add(UserRightType.AiModuleChatAdd, Translator.Translate($"KI-Konversationen/Nachrichten {action_keywords[2]}"));
//dict.Add(UserRightType.AiModuleChatClone, Translator.Translate($"KI-Konversationen/Nachrichten {action_keywords[6]}"));
dict.Add(UserRightType.AiModuleChatEdit, Translator.Translate($"KI-Konversationen/Nachrichten {action_keywords[3]}"));
dict.Add(UserRightType.AiModuleChatDelete, Translator.Translate($"KI-Konversationen/Nachrichten {action_keywords[4]}"));
//dict.Add(UserRightType.AiModuleChatEdit, Translator.Translate($"KI-Konversationen/Nachrichten {action_keywords[3]}"));
//dict.Add(UserRightType.AiModuleChatDelete, Translator.Translate($"KI-Konversationen/Nachrichten {action_keywords[4]}"));
//dict.Add(UserRightType.AiModuleViewSetting, Translator.Translate($"KI-Einstellungen {action_keywords[0]}"));
dict.Add(UserRightType.AiModulePromptbausteineView, Translator.Translate($"KI-Promptbausteine {action_keywords[0]}"));
@@ -792,6 +792,9 @@ namespace BS.Shared.Core
//dict.Add(UserRightType.AiModulePromptbausteineExecute, Translator.Translate($"KI-Promptbausteine {action_keywords[8]}"));
dict.Add(UserRightType.AiModulePromptbausteinShare, Translator.Translate($"KI-Promptbausteine freigeben"));
dict.Add(UserRightType.AiModuleServiceRecordChat, Translator.Translate($"Zeiterfassung -> KI Chat nutzen"));
dict.Add(UserRightType.AiModuleServiceRecordDocu, Translator.Translate($"Zeiterfassung -> KI für Dokumentation nutzen"));
dict.Add(UserRightType.PersonView_Create, Translator.Translate("Personen anlegen"));
dict.Add(UserRightType.PersonView_Delete, Translator.Translate("Personen löschen"));
dict.Add(UserRightType.Person_AllowArchiving, Translator.Translate("Personen archivieren"));
@@ -813,22 +816,22 @@ namespace BS.Shared.Core
dict.Add(UserRightType.Analysis_Settlement_View, Translator.Translate("Finanzen Spitzabrechnung erstellen"));
dict.Add(UserRightType.Analysis_EmployeeOverviewAll_View, "Auswertungen für alle " + Translator.Translate("MitarbeiterPlural") + " erstellen");
dict.Add(UserRightType.Analysis_ServiceOverview_View, Translator.Translate("Auswertungen->Quittierungsbelege"));
dict.Add(UserRightType.Analysis_ServiceOverview_View, Translator.Translate("Auswertungen -> Quittierungsbelege"));
dict.Add(UserRightType.Analysis_SupportConceptOverviewAll_View, Translator.Translate("Auswertungen für alle Hilfepläne erstellen"));
dict.Add(UserRightType.Analysis_AllowFLSOverviewForCostbearer, Translator.Translate("Auswertungen für Kostenträger erstellen"));
dict.Add(UserRightType.Analysis_AllowFLSOverviewForTeam, Translator.Translate("Auswertungen für eigenes Team erstellen"));
dict.Add(UserRightType.Analysis_AllowFLSOverviewForAllTeams, Translator.Translate("Auswertungen für alle Teams erstellen"));
dict.Add(UserRightType.Analysis_Auslastung_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung");
dict.Add(UserRightType.Analysis_AuslastungAllEmployee_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung für alle " + Translator.Translate("MitarbeiterPlural"));
dict.Add(UserRightType.Analysis_AuslastungTeam_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung für alle Teams");
dict.Add(UserRightType.Analysis_Auslastung_View, "Auswertungen -> " + Translator.Translate("MitarbeiterPlural") + "auslastung");
dict.Add(UserRightType.Analysis_AuslastungAllEmployee_View, "Auswertungen -> " + Translator.Translate("MitarbeiterPlural") + "auslastung für alle " + Translator.Translate("MitarbeiterPlural"));
dict.Add(UserRightType.Analysis_AuslastungTeam_View, "Auswertungen -> " + Translator.Translate("MitarbeiterPlural") + "auslastung für alle Teams");
dict.Add(UserRightType.Kilometerauswertung_View, "Auswertungen->Kilometerauswertung (für alle " + Translator.Translate("MitarbeiterPlural") + ")");
dict.Add(UserRightType.KilometerauswertungEigene_View, Translator.Translate("Auswertungen->Kilometerauswertung (nur eigene)"));
dict.Add(UserRightType.BewertungAuswertung_View, Translator.Translate("Auswertungen->Bewertung"));
dict.Add(UserRightType.PivotTabelleAnsehen, Translator.Translate("Auswertungen->Pivot Tabelle"));
dict.Add(UserRightType.DienstplanungAnsehen, Translator.Translate("Auswertungen->Dienstplanung ansehen"));
dict.Add(UserRightType.DienstplanungBearbeiten, Translator.Translate("Auswertungen->Dienstplanung bearbeiten"));
dict.Add(UserRightType.AbwesenheitsPlanungAnsehen, Translator.Translate("Auswertungen->Urlaubsplanung"));
dict.Add(UserRightType.Kilometerauswertung_View, "Auswertungen -> Kilometerauswertung (für alle " + Translator.Translate("MitarbeiterPlural") + ")");
dict.Add(UserRightType.KilometerauswertungEigene_View, Translator.Translate("Auswertungen -> Kilometerauswertung (nur eigene)"));
dict.Add(UserRightType.BewertungAuswertung_View, Translator.Translate("Auswertungen -> Bewertung"));
dict.Add(UserRightType.PivotTabelleAnsehen, Translator.Translate("Auswertungen -> Pivot Tabelle"));
dict.Add(UserRightType.DienstplanungAnsehen, Translator.Translate("Auswertungen -> Dienstplanung ansehen"));
dict.Add(UserRightType.DienstplanungBearbeiten, Translator.Translate("Auswertungen -> Dienstplanung bearbeiten"));
dict.Add(UserRightType.AbwesenheitsPlanungAnsehen, Translator.Translate("Auswertungen -> Urlaubsplanung"));
dict.Add(UserRightType.ResourceBookingView_Create, Translator.Translate("Ressourcen anlegen"));
dict.Add(UserRightType.ResourceBookingView_Delete, Translator.Translate("Ressourcen löschen"));
@@ -889,9 +892,9 @@ namespace BS.Shared.Core
dict.Add(UserRightType.BookServiceRecordOutOfSupportConcept, Translator.Translate("Zeiterfassung anlegen (außerhalb des Hilfeplanzeitraums)"));
dict.Add(UserRightType.Employee_AllowArchiving, Translator.Translate("MitarbeiterSingular") + " archivieren");
dict.Add(UserRightType.User_AllowOrderLicense, Translator.Translate("Neue Lizenzen bestellen"));
dict.Add(UserRightType.Mitarbeiterstundenkonto_ViewAll, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (Gesamt)");
dict.Add(UserRightType.Mitarbeiterstundenkonto_ViewSelf, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur eigenes Konto)");
dict.Add(UserRightType.Mitarbeiterstundenkonto_ViewTeams, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur Team)");
dict.Add(UserRightType.Mitarbeiterstundenkonto_ViewAll, "Auswertungen -> " + Translator.Translate("MitarbeiterPlural") + "stundenkonto (Gesamt)");
dict.Add(UserRightType.Mitarbeiterstundenkonto_ViewSelf, "Auswertungen -> " + Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur eigenes Konto)");
dict.Add(UserRightType.Mitarbeiterstundenkonto_ViewTeams, "Auswertungen -> " + Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur Team)");
dict.Add(UserRightType.Support_View, Translator.Translate("Supportanfragen absenden"));
dict.Add(UserRightType.KalenderAnsehen, Translator.Translate("Kalender ansehen"));
dict.Add(UserRightType.KalenderMitarbeitertermineAnsehen, "Termine anderer " + Translator.Translate("MitarbeiterPlural") + " ansehen");
@@ -932,7 +935,7 @@ namespace BS.Shared.Core
dict.Add(UserRightType.Betreuungsschluessel_Create, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen anlegen");
dict.Add(UserRightType.Betreuungsschluessel_Edit, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen bearbeiten");
dict.Add(UserRightType.Betreuungsschluessel_Delete, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen löschen");
dict.Add(UserRightType.Jahresbericht, Translator.Translate("Auswertungen->Jahresbericht"));
dict.Add(UserRightType.Jahresbericht, Translator.Translate("Auswertungen -> Jahresbericht"));
dict.Add(UserRightType.DokumenteFinanzen, Translator.Translate("Dokumente für Finanzen"));
dict.Add(UserRightType.DokumenteHilfeplaene, Translator.Translate("Dokumente für Hilfepläne"));
dict.Add(UserRightType.DokumenteKlienten, "Dokumente für " + Translator.Translate("Klienten"));
@@ -961,16 +964,16 @@ namespace BS.Shared.Core
dict.Add(UserRightType.ServiceRecord_AllowEditAfterEmployeeSignature, "Zeiterfassung bearbeiten nach " + Translator.Translate("MitarbeiterPlural") + "unterschrift für Quittierungsbeleg");
dict.Add(UserRightType.ServiceRecord_AllowDeleteAfterEmployeeSignature, "Zeiterfassung löschen nach " + Translator.Translate("MitarbeiterPlural") + "unterschrift für Quittierungsbeleg");
dict.Add(UserRightType.ConfirmationReceiptSignatures_Delete, Translator.Translate("Unterschriften löschen"));
dict.Add(UserRightType.Auswertungen_BerichteAnsehen, Translator.Translate("Auswertungen->Berichte"));
dict.Add(UserRightType.Auswertungen_StundenuebersichtAnsehen, Translator.Translate("Auswertungen->Stundenübersicht"));
dict.Add(UserRightType.Auswertungen_HilfeplanuebersichtAnsehen, Translator.Translate("Auswertungen->Hilfeplanübersicht"));
dict.Add(UserRightType.Auswertungen_BerichteAnsehen, Translator.Translate("Auswertungen -> Berichte"));
dict.Add(UserRightType.Auswertungen_StundenuebersichtAnsehen, Translator.Translate("Auswertungen -> Stundenübersicht"));
dict.Add(UserRightType.Auswertungen_HilfeplanuebersichtAnsehen, Translator.Translate("Auswertungen -> Hilfeplanübersicht"));
dict.Add(UserRightType.Signature_ProvideSingleSignature, Translator.Translate("Unterschriften für Klienten leisten (einzeln)"));
dict.Add(UserRightType.Signature_ProvideMonthlySignature, Translator.Translate("Unterschriften der Mitarbeiter für den Quittierungsbeleg leisten (monatlich)"));
dict.Add(UserRightType.Signature_ProvideMonthlySignatureByProxy, Translator.Translate("Unterschriften der Mitarbeiter für den Quittierungsbeleg stellvertretend leisten (monatlich)"));
dict.Add(UserRightType.Customer_ViewAbsenceTimes, Translator.Translate($"{Translator.Translate("Klienten")} Abwesenheiten ansehen"));
dict.Add(UserRightType.Customer_ViewBetreuung, Translator.Translate($"{Translator.Translate("Klienten")} Betreuung ansehen"));
dict.Add(UserRightType.AiChatInZeiterfassung, Translator.Translate("Zeiterfassung->Anfragen an die KI stellen"));
dict.Add(UserRightType.FinanzenRechnungenNachVersandBearbeiten, Translator.Translate($"Finanzen->Rechnungen nach Versand bearbeiten"));
//dict.Add(UserRightType.AiChatInZeiterfassung, Translator.Translate("Zeiterfassung->Anfragen an die KI stellen"));
dict.Add(UserRightType.FinanzenRechnungenNachVersandBearbeiten, Translator.Translate($"Finanzen -> Rechnungen nach Versand bearbeiten"));
UserRightType2Translations = dict;
}

View File

@@ -0,0 +1,26 @@
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.Core
{
public static class UserRightTypeHelper
{
public static bool IsValid(UserRightType rightType, bool canAi)
{
return !IsAiModuleRight(rightType) || canAi;
}
public static bool IsAiModuleRight(UserRightType rightType)
{
var l = new List<UserRightType>() {
UserRightType.AiModulePromptbausteineView,
UserRightType.AiModulePromptbausteineEdit, UserRightType.AiModulePromptbausteinShare, UserRightType.AiModuleServiceRecordChat,
UserRightType.AiModuleServiceRecordDocu, UserRightType.AiVoiceView};
return l.Contains(rightType);
}
}
}

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using BS.Shared.Core;
using System.Collections.Generic;
using System.Linq;
namespace BS.Shared.DataContracts

View File

@@ -153,6 +153,7 @@
<Compile Include="Core\Rule\GkvRules.cs" />
<Compile Include="Core\SecurityUtils.cs" />
<Compile Include="Core\TokenUtils.cs" />
<Compile Include="Core\UserRightTypeHelper.cs" />
<Compile Include="Core\Utilities\WebUtils.cs" />
<Compile Include="Core\GkvValidator.cs" />
<Compile Include="Core\DebugUtils.cs" />