Merge branch 'master' into feature_rene_13_dakota

# Conflicts:
#	Dakota/Logic/DakotaManager.cs
#	Shared/Shared.csproj
This commit is contained in:
2025-05-14 11:01:04 +02:00
72 changed files with 5029 additions and 1666 deletions

View File

@@ -294,6 +294,16 @@ namespace BeWo.Core
return null;
}
public static void ScrollToTop(ListBox listBox)
{
if (VisualTreeHelper.GetChildrenCount(listBox) > 0)
{
Border border = (Border)VisualTreeHelper.GetChild(listBox, 0);
ScrollViewer scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0);
scrollViewer.ScrollToTop();
}
}
public static void ScrollToBottom(ListBox listBox)
{
if (VisualTreeHelper.GetChildrenCount(listBox) > 0)

View File

@@ -147,9 +147,9 @@ namespace BeWo
AutoLogin = true,
//SelectView = UIContext.AiConversation,
//SelectIndex = 8,
DefaultLoginUsername = "m1",
DefaultLoginPassword = "bewobewo",
DefaultProfilename = "5000000000",
//DefaultLoginUsername = "m1",
//DefaultLoginPassword = "bewobewo",
//DefaultProfilename = "5000000000",
EnableAutoRemoteDebugging = true
});

View File

@@ -28,12 +28,17 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/GetAiConversations", ReplyAction="http://tempuri.org/IAiEnhancedService/GetAiConversationsResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/GetAiConversationsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiConversationDC> GetAiConversations(int uicontext, long? oid);
System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiConversationDC> GetAiConversations(int uicontext, System.Nullable<long> oid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/CreateAiConversation", ReplyAction="http://tempuri.org/IAiEnhancedService/CreateAiConversationResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/CreateAiConversationBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.Feature.AI.AiConversationDC CreateAiConversation(BS.Shared.DataContracts.Feature.AI.AiConversationDC conversation, long modell_oid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/CreateAiConversationWithMessage", ReplyAction="http://tempuri.org/IAiEnhancedService/CreateAiConversationWithMessageResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/CreateAiConversationWithMessageBeWoFaultFau" +
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.Feature.AI.AiConversationDC CreateAiConversationWithMessage(BS.Shared.DataContracts.Feature.AI.AiConversationDC conversation, long modell_oid, string message);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/CloneAiConversation", ReplyAction="http://tempuri.org/IAiEnhancedService/CloneAiConversationResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/CloneAiConversationBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.Feature.AI.AiConversationDC CloneAiConversation(long conversation_oid, System.Nullable<long> message_oid);
@@ -96,7 +101,7 @@ namespace BeWo.ServiceProxy
return base.Channel.GetAiModels();
}
public System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiConversationDC> GetAiConversations(int uicontext, long? oid)
public System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiConversationDC> GetAiConversations(int uicontext, System.Nullable<long> oid)
{
return base.Channel.GetAiConversations(uicontext, oid);
}
@@ -106,6 +111,11 @@ namespace BeWo.ServiceProxy
return base.Channel.CreateAiConversation(conversation, modell_oid);
}
public BS.Shared.DataContracts.Feature.AI.AiConversationDC CreateAiConversationWithMessage(BS.Shared.DataContracts.Feature.AI.AiConversationDC conversation, long modell_oid, string message)
{
return base.Channel.CreateAiConversationWithMessage(conversation, modell_oid, message);
}
public BS.Shared.DataContracts.Feature.AI.AiConversationDC CloneAiConversation(long conversation_oid, System.Nullable<long> message_oid)
{
return base.Channel.CloneAiConversation(conversation_oid, message_oid);

View File

@@ -15,13 +15,13 @@ namespace BeWo.Services
{
public Dictionary<UIContext, string> UIContext2Header { get; set; } = new Dictionary<UIContext, string>()
{
{UIContext.ServiceRecord, "Zeiterfassung KI Chat" },
{UIContext.Customer, "Klienten Übersicht KI Chat" },
{UIContext.Person, "Personen Übersicht KI Chat" },
{UIContext.Employee, "Mitarbeiter Übersicht KI Chat" },
{UIContext.Organisation, "Organisation Übersicht KI Chat" },
{UIContext.SupportConcept, "Hilfeplan Übersicht KI Chat" },
{UIContext.CustomerSingle, "Klient KI Chat" },
{UIContext.ServiceRecord, "KI Chat: Zeiterfassung" },
{UIContext.Customer, "KI Chat: Klienten Übersicht" },
{UIContext.Person, "KI Chat: Personen Übersicht" },
{UIContext.Employee, "KI Chat: Mitarbeiter Übersicht" },
{UIContext.Organisation, "KI Chat: Organisation Übersicht" },
{UIContext.SupportConcept, "KI Chat: Hilfeplan Übersicht" },
{UIContext.CustomerSingle, "KI Chat: Klient" },
};
public AnimatedBeWoWindow GetAiConversationWindow(UIContext uIContext, Control control, double height = 600, double width = 1200)

View File

@@ -102,33 +102,48 @@
<!-- Endregion -->
<!-- Module AI Farben -->
<!-- FFD2D2D2 -->
<!-- #FFA0A0A0 -->
<Color x:Key="ModuleAiControlDefaultNavigationHeaderColor">#ffaaaaaa</Color>
<Color x:Key="ModuleAiControlDefaultNavigationContentColor">#FFD7DADB</Color>
<Color x:Key="ModuleAiControlDefaultNavigationContentColor2">#FF92A9B3</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationHeaderColor">#FFC80000</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor">#FFD7DADB</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor2">#FF92A9B3</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationHeaderColor">#FF5C1919</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor">#FF993B3B</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor2">#FF5C1919</Color>
<Color x:Key="ModuleAiControlSupportConceptNavigationHeaderColor">#FF993B3B</Color>
<Color x:Key="ModuleAiControlSupportConceptNavigationContentColor">#FFD7DADB</Color>
<Color x:Key="ModuleAiControlSupportConceptNavigationContentColor2">#FF92A9B3</Color>
<Color x:Key="ModuleAiControlSupportConceptNavigationHeaderColor">#FF5C1919</Color>
<Color x:Key="ModuleAiControlSupportConceptNavigationContentColor">#FF993B3B</Color>
<Color x:Key="ModuleAiControlSupportConceptNavigationContentColor2">#FF5C1919</Color>
<Color x:Key="ModuleAiControlCustomerNavigationHeaderColor">#FF19485C</Color>
<Color x:Key="ModuleAiControlCustomerNavigationContentColor">#FFD7DADB</Color>
<Color x:Key="ModuleAiControlCustomerNavigationContentColor2">#FF92A9B3</Color>
<Color x:Key="ModuleAiControlCustomerNavigationContentColor">#FF3B7799</Color>
<Color x:Key="ModuleAiControlCustomerNavigationContentColor2">#FF19485C</Color>
<!--<Color x:Key="ModuleAiControlCustomerNavigationContentColor">#FFD7DADB</Color>
<Color x:Key="ModuleAiControlCustomerNavigationContentColor2">#FF92A9B3</Color>-->
<Color x:Key="ModuleAiControlPersonNavigationHeaderColor">#FF9E3D02</Color>
<Color x:Key="ModuleAiControlPersonNavigationContentColor">#FFD7DADB</Color>
<Color x:Key="ModuleAiControlPersonNavigationContentColor2">#FF92A9B3</Color>
<Color x:Key="ModuleAiControlPersonNavigationContentColor">#FFB5662D</Color>
<Color x:Key="ModuleAiControlPersonNavigationContentColor2">#FF9E3D02</Color>
<Color x:Key="ModuleAiControlEmployeeNavigationHeaderColor">#FF205C19</Color>
<Color x:Key="ModuleAiControlEmployeeNavigationContentColor">#FFD7DADB</Color>
<Color x:Key="ModuleAiControlEmployeeNavigationContentColor2">#FF92A9B3</Color>
<Color x:Key="ModuleAiControlEmployeeNavigationContentColor">#FF45993B</Color>
<Color x:Key="ModuleAiControlEmployeeNavigationContentColor2">#FF205C19</Color>
<Color x:Key="ModuleAiControlOrganisationNavigationHeaderColor">#FFC8C000</Color>
<Color x:Key="ModuleAiControlOrganisationNavigationContentColor">#FFD7DADB</Color>
<Color x:Key="ModuleAiControlOrganisationNavigationContentColor2">#FF92A9B3</Color>
<Color x:Key="ModuleAiControlOrganisationNavigationContentColor">#FFC8C000</Color>
<Color x:Key="ModuleAiControlOrganisationNavigationContentColor2">#FF706000</Color>
<Color x:Key="BrightTextPrimary">#FFFFFFFF</Color>
<Color x:Key="BrightTextSecondary">#FFD2D2D2</Color>
<Color x:Key="LightTextPrimary">#FFD2D2D2</Color>
<Color x:Key="LightTextSecondary">#FFA0A0A0</Color>
<Color x:Key="DarkTextPrimary">#FF111111</Color>
<Color x:Key="DarkTextSecondary">#FF777777</Color>
<SolidColorBrush x:Key="ModuleAiChatTabItem" Color="#FFFFFFBF" />
<SolidColorBrush x:Key="ModuleAiChatPrimaryColor" Color="#FFCECF7F" />

View File

@@ -14,14 +14,19 @@
<Setter Property="Height" Value="auto" />
<Setter Property="Padding" Value="3" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="{DynamicResource TextForegroundPrimary}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="IsReadOnly" Value="True" />
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="Text" Value="{Binding Message, Converter={StaticResource NewlineConverter}}" />
<Setter Property="FontSize" Value="14" />
</Style>
<Style x:Key="TextBlockStyle" TargetType="{x:Type TextBlock}" />
<SolidColorBrush x:Key="TextForegroundPrimary" Color="{StaticResource LightTextPrimary}" />
<SolidColorBrush x:Key="TextForegroundSecondary" Color="{StaticResource LightTextSecondary}" />
<Style x:Key="ModuleAiControlDefaultStyle" TargetType="{x:Type GroupBox}">
<Style.Resources>
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlDefaultNavigationHeaderColor}" />
@@ -29,11 +34,16 @@
<GradientStop Offset="0" Color="{StaticResource ModuleAiControlDefaultNavigationContentColor}" />
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlDefaultNavigationContentColor2}" />
</LinearGradientBrush>
<SolidColorBrush x:Key="TextForegroundPrimary" Color="{StaticResource LightTextPrimary}" />
<SolidColorBrush x:Key="TextForegroundSecondary" Color="{StaticResource LightTextSecondary}" />
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate2}" />
</Style>
<Style x:Key="ModuleAiControlZeiterfassungStyle" TargetType="{x:Type GroupBox}">
<Style
x:Key="ModuleAiControlZeiterfassungStyle"
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
TargetType="{x:Type GroupBox}">
<Style.Resources>
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlZeiterfassungNavigationHeaderColor}" />
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
@@ -41,10 +51,12 @@
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlZeiterfassungNavigationContentColor2}" />
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate2}" />
</Style>
<Style x:Key="ModuleAiControlSupportConceptStyle" TargetType="{x:Type GroupBox}">
<Style
x:Key="ModuleAiControlSupportConceptStyle"
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
TargetType="{x:Type GroupBox}">
<Style.Resources>
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlSupportConceptNavigationHeaderColor}" />
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
@@ -52,10 +64,12 @@
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlSupportConceptNavigationContentColor2}" />
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate2}" />
</Style>
<Style x:Key="ModuleAiControlCustomerStyle" TargetType="{x:Type GroupBox}">
<Style
x:Key="ModuleAiControlCustomerStyle"
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
TargetType="{x:Type GroupBox}">
<Style.Resources>
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlCustomerNavigationHeaderColor}" />
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
@@ -63,10 +77,12 @@
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlCustomerNavigationContentColor2}" />
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate2}" />
</Style>
<Style x:Key="ModuleAiControlPersonStyle" TargetType="{x:Type GroupBox}">
<Style
x:Key="ModuleAiControlPersonStyle"
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
TargetType="{x:Type GroupBox}">
<Style.Resources>
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlPersonNavigationHeaderColor}" />
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
@@ -74,10 +90,12 @@
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlPersonNavigationContentColor2}" />
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate2}" />
</Style>
<Style x:Key="ModuleAiControlEmployeeStyle" TargetType="{x:Type GroupBox}">
<Style
x:Key="ModuleAiControlEmployeeStyle"
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
TargetType="{x:Type GroupBox}">
<Style.Resources>
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlEmployeeNavigationHeaderColor}" />
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
@@ -85,18 +103,21 @@
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlEmployeeNavigationContentColor2}" />
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate2}" />
</Style>
<Style x:Key="ModuleAiControlOrganisationStyle" TargetType="{x:Type GroupBox}">
<Style
x:Key="ModuleAiControlOrganisationStyle"
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
TargetType="{x:Type GroupBox}">
<Style.Resources>
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlOrganisationNavigationHeaderColor}" />
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Offset="0" Color="{StaticResource ModuleAiControlOrganisationNavigationContentColor}" />
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlOrganisationNavigationContentColor2}" />
</LinearGradientBrush>
<SolidColorBrush x:Key="TextForegroundPrimary" Color="{StaticResource BrightTextPrimary}" />
<SolidColorBrush x:Key="TextForegroundSecondary" Color="{StaticResource BrightTextSecondary}" />
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate2}" />
</Style>
<!-- OLD -->
@@ -122,9 +143,9 @@
Width="auto"
Margin="0,0,0,0"
HorizontalAlignment="Stretch"
Background="#44000000"
Background="#17000000"
BorderBrush="Black"
BorderThickness="1"
BorderThickness="0"
CornerRadius="10, 10, 10, 10">
<Grid Margin="8">
<Grid.RowDefinitions>
@@ -133,22 +154,23 @@
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<TextBlock
FontSize="12"
FontSize="14"
FontWeight="SemiBold"
Foreground="{DynamicResource TextForegroundPrimary}"
Text="{Binding Displayname}"
TextTrimming="CharacterEllipsis" />
<TextBlock
Grid.Row="1"
FontSize="10"
FontWeight="Thin"
FontSize="11"
Foreground="{DynamicResource TextForegroundSecondary}"
Style="{StaticResource TextBlockStyle}"
Text="{Binding Created, StringFormat=Erstellt: {0:dd.MM.yyyy HH:mm:ss}}" />
Text="{Binding Created, StringFormat=Erstellt: {0:dd.MM.yy HH:mm}}" />
<TextBlock
Grid.Row="2"
FontSize="10"
FontWeight="Thin"
FontSize="11"
Foreground="{DynamicResource TextForegroundSecondary}"
Style="{StaticResource TextBlockStyle}"
Text="{Binding Updated, StringFormat=Aktualisiert: {0:dd.MM.yyyy HH:mm:ss}}" />
Text="{Binding Updated, StringFormat=Aktualisiert: {0:dd.MM.yy HH:mm}}" />
<!--<TextBlock
Grid.Row="2"
FontSize="10"
@@ -183,7 +205,7 @@
<Border
Grid.Column="1"
Padding="8,4,8,4"
Background="#00000000"
Background="#20000000"
BorderBrush="Black"
BorderThickness="0"
CornerRadius="0, 10, 10, 10">
@@ -200,8 +222,9 @@
<TextBlock
Margin="0"
Padding="0"
FontSize="12"
FontSize="14"
FontWeight="SemiBold"
Foreground="{DynamicResource TextForegroundPrimary}"
Style="{StaticResource TextBlockStyle}"
Text="{Binding ModelName}" />
<TextBlock
@@ -209,8 +232,9 @@
Margin="8,0,0,0"
Padding="0"
VerticalAlignment="Bottom"
FontSize="10"
FontSize="12"
FontWeight="Medium"
Foreground="{DynamicResource TextForegroundPrimary}"
Style="{StaticResource TextBlockStyle}"
Text="{Binding Created, StringFormat={}{0:dd.MM.yyyy HH:mm:ss}}" />
<TextBlock
@@ -219,9 +243,9 @@
Margin="0,4,0,4"
Padding="0"
VerticalAlignment="Center"
FontSize="11"
FontSize="12"
FontWeight="Medium"
Foreground="#888888"
Foreground="{DynamicResource TextForegroundSecondary}"
Style="{StaticResource TextBlockStyle}"
Text="{Binding DurationSec, StringFormat=Nachgedacht für {0} Sekunden}" />
<!--<TextBlock

View File

@@ -38,7 +38,7 @@
<listviewmodel:AiConversationListVM />
</localView:BeWoView.DataContext>
<Grid>
<GroupBox x:Name="rootgroupbox" Style="{StaticResource ModuleAiControlDefaultStyle}">
<GroupBox x:Name="rootgroupbox" Style="{StaticResource ModuleAiControlSupportConceptStyle}">
<GroupBox.Header>
<StackPanel
Grid.Row="0"
@@ -112,7 +112,7 @@
</dxwui:HamburgerMenu.Content>
</dxwui:HamburgerMenu>-->
<Grid Background="#33000000">
<Grid Background="#12000000">
<ListView
x:Name="listbox_conversations"
Padding="4"
@@ -122,7 +122,8 @@
ItemsSource="{Binding VMList}"
ScrollViewer.CanContentScroll="False"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
SelectedItem="{Binding SelectedVM, Mode=TwoWay}">
SelectedItem="{Binding SelectedVM, Mode=TwoWay}"
SelectionChanged="listbox_conversations_SelectionChanged">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
@@ -147,12 +148,14 @@
x:Name="listbox_messages"
Grid.Column="1"
Padding="3"
HorizontalAlignment="Stretch"
Background="Transparent"
BorderThickness="0"
ItemTemplateSelector="{StaticResource AiConversationMessageTemplateSelector}"
ItemsSource="{Binding SelectedVM.Messages.VMList, Converter={StaticResource AiConversationMessageSystemConverter}, UpdateSourceTrigger=PropertyChanged}"
ScrollViewer.CanContentScroll="False"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
Visibility="{Binding IsNewConversationVisible, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=Reverse}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
@@ -179,7 +182,7 @@
Margin="4">
<Grid.Visibility>
<MultiBinding Converter="{StaticResource BooleanAndVisibilityMultiConverter}">
<Binding Converter="{StaticResource ObjectBoolConverter}" Path="SelectedVM" />
<Binding Converter="{StaticResource BoolReverseConverter}" Path="IsNewConversationVisible" />
<Binding Converter="{StaticResource UserPermission2BoolConverter}" ConverterParameter="{x:Static shared:UserRightType.AiModuleChatAdd}" />
</MultiBinding>
</Grid.Visibility>
@@ -205,7 +208,6 @@
MaxHeight="200"
Margin="0,0,4,0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
AcceptsReturn="True"
IsReadOnly="{Binding IsSending}"
Text="{Binding MessageInput, UpdateSourceTrigger=PropertyChanged}" />
@@ -220,6 +222,48 @@
Content="Senden"
Visibility="Visible" />
</Grid>
<Grid
Grid.RowSpan="2"
Grid.Column="1"
Margin="4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Grid.Visibility>
<MultiBinding Converter="{StaticResource BooleanAndVisibilityMultiConverter}">
<Binding Path="IsNewConversationVisible" />
<Binding Converter="{StaticResource UserPermission2BoolConverter}" ConverterParameter="{x:Static shared:UserRightType.AiModuleChatAdd}" />
</MultiBinding>
</Grid.Visibility>
<TextBox
x:Name="txt_input_message2"
Grid.Row="1"
Grid.Column="1"
Height="auto"
MaxHeight="200"
Margin="0,0,4,0"
HorizontalAlignment="Stretch"
AcceptsReturn="True"
IsReadOnly="{Binding IsSending}"
Text="{Binding MessageInput, UpdateSourceTrigger=PropertyChanged}" />
<Button
Grid.Row="1"
Grid.Column="2"
Height="auto"
MinHeight="25"
MaxHeight="100"
Margin="0"
VerticalAlignment="Stretch"
Command="{Binding StartConversationWithMessageCommand}"
Content="Senden"
Visibility="Visible" />
</Grid>
</Grid>
</Grid>
<Border
@@ -234,8 +278,10 @@
<Rectangle Fill="#FF000000">
<Rectangle.OpacityMask>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Offset="0" Color="#33000000" />
<GradientStop Offset="1" Color="#99FFFFFF" />
<!--<GradientStop Offset="0" Color="#33000000" />
<GradientStop Offset="1" Color="#99FFFFFF" />-->
<GradientStop Offset="0" Color="#19000000" />
<GradientStop Offset="1" Color="#33FFFFFF" />
</LinearGradientBrush>
</Rectangle.OpacityMask>
</Rectangle>
@@ -248,7 +294,7 @@
<Button
x:Name="btnNew"
Margin="0,0,0,0"
Command="{Binding RequestNewConversationCommand}"
Command="{Binding OpenNewConversationCommand}"
Content="Neuer Chat" />
<Button
x:Name="btnSettings"

View File

@@ -31,7 +31,7 @@ namespace BeWo.View.Detail.AI
{
InitializeComponent();
((INotifyCollectionChanged)listbox_messages.Items).CollectionChanged += listbox_conversations_SelectionChanged;
((INotifyCollectionChanged)listbox_messages.Items).CollectionChanged += listbox_messages_SelectionChanged;
popup_settings.Closed += (s, e) => ViewModel.UpdateConfig();
@@ -62,7 +62,15 @@ namespace BeWo.View.Detail.AI
ViewModel.ReloadConversationsCommand.Execute(null);
}
private void listbox_conversations_SelectionChanged(object sender, NotifyCollectionChangedEventArgs e)
private void listbox_conversations_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (ViewModel.IsNewConversationVisible)
BeWoWpfUtils.ScrollToTop(listbox_conversations);
else
listbox_conversations.ScrollIntoView(listbox_conversations.SelectedItem);
}
private void listbox_messages_SelectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
BeWoWpfUtils.ScrollToBottom(listbox_messages);
}
@@ -87,8 +95,10 @@ namespace BeWo.View.Detail.AI
// Console.WriteLine("Enter erkannt");
object p = null;
if(ViewModel.SendNewMessageCommand.CanExecute(p))
if(ViewModel.SelectedVM is object && ViewModel.SendNewMessageCommand.CanExecute(p))
ViewModel.SendNewMessageCommand.Execute(p);
else if (ViewModel.SelectedVM is null && ViewModel.StartConversationWithMessageCommand.CanExecute(p))
ViewModel.StartConversationWithMessageCommand.Execute(p);
e.Handled = true;
}

View File

@@ -68,6 +68,11 @@ namespace BeWo.ViewModel
protected abstract DCType MapToDataContract(DCType pDataContract, bool doCommit);
internal virtual void UpdateByDataContract(DCType pDataContract)
{
throw new NotImplementedException();
}
protected void StoreDirtyInformation(bool pDirty, string pPropName)
{
if (_DirtyProps.Contains(pPropName) && !pDirty)

View File

@@ -98,5 +98,16 @@ namespace BeWo.ViewModel
return pDataContract;
}
internal override void UpdateByDataContract(AiConversationDC pDataContract)
{
DataContract = pDataContract;
Displayname = pDataContract.Displayname;
Updated = pDataContract.Updated;
if (pDataContract.Messages is object)
Messages = new AiConversationMessageListVM(pDataContract.Messages);
}
}
}

View File

@@ -921,6 +921,8 @@ namespace BeWo.ViewModel
public string SenderTown => DataContract.SenderTown;
public string SenderPostCode => DataContract.SenderPostCode;
public IList<IInvoiceItem> IInvoiceItems => throw new NotImplementedException();
protected override void InitByDataContract(InvoiceBaseDC pDataContract)
{
_SupportConceptOid = pDataContract.SupportConceptOid;

View File

@@ -48,8 +48,8 @@ namespace BeWo.ViewModel.ListViewModel
Models = new ObservableSortCollection<AiModelDC>();
SendNewMessageCommand = new DelegateCommand(SendNewMessage, () => SelectedVM is object && !string.IsNullOrWhiteSpace(MessageInput) && !IsSending);
RequestNewConversationCommand = new DelegateCommand(RequestNewConversation, () => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleChatAdd));
//TestCommand = new DelegateCommand(Test);
OpenNewConversationCommand = new DelegateCommand(OpenNewConversation, () => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleChatAdd));
StartConversationWithMessageCommand = new DelegateCommand(StartConversationWithMessage, () => !string.IsNullOrWhiteSpace(MessageInput) && !IsSending);
ReloadConfigCommand = new DelegateCommand(ReloadConfig);
ReloadConversationsCommand = new DelegateCommand(ReloadConversations);
@@ -60,11 +60,15 @@ namespace BeWo.ViewModel.ListViewModel
CloneCommand = new DelegateCommand(Clone);
AskDeleteCommand = new DelegateCommand(AskDelete, () => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleChatDelete) && SelectedVM is object);
SelectedVMChanged += (s, e) => FirePropertyChanged(nameof(IsNewConversationVisible));
}
public event EventHandler SendNewMessageSuccess;
public DelegateCommand SendNewMessageCommand { get; set; }
public DelegateCommand OpenNewConversationCommand { get; set; }
public DelegateCommand StartConversationWithMessageCommand { get; set; }
public DelegateCommand RequestNewConversationCommand { get; set; }
public DelegateCommand TestCommand { get; set; }
public DelegateCommand AskDeleteCommand { get; set; }
@@ -154,26 +158,55 @@ namespace BeWo.ViewModel.ListViewModel
FirePropertyChanged(nameof(IsSending));
}
}
public bool IsNewConversationVisible => SelectedVM is null;
public int UIContext { get; set; }
public long? ReferenceObjectOid { get; set; }
public Dictionary<TableID, long[]> ContextBeWoObjects { get; set; }
private void RequestNewConversation()
private void StartConversationWithMessage()
{
var conv = new AiConversationDC();
StartSending();
conv.UIContext = UIContext;
conv.ContextBeWoObjects = ContextBeWoObjects;
try
{
var message = MessageInput;
ServiceFacade.DoAiEnhancedServiceAsnyc(x => x.CreateAiConversation(conv, Config.SelectedModel.Oid.Value), InsertConverstion);
var conv = new AiConversationDC();
conv.Created = DateTime.Now;
conv.Updated = DateTime.Now;
conv.UIContext = UIContext;
conv.ContextBeWoObjects = ContextBeWoObjects;
conv.Messages = new List<AiConversationMessageDC>()
{
new AiConversationMessageDC()
{
Message = message,
Role = AiConversationMessageRole.User
}
};
var vm = InsertConverstion(conv);
ServiceFacade.DoAiEnhancedServiceAsnyc(
x => x.CreateAiConversationWithMessage(conv, Config.SelectedModel.Oid.Value, message),
dc => UpdateConverstion(vm, dc),
e => EndSending());
}
catch(Exception ex)
{
EndSending();
}
}
private void OpenNewConversation()
{
SelectedVM = null;
}
private void SendNewMessage()
{
if (IsSending)
throw new InvalidOperationException("Sendet bereits");
StartSending();
IsSending = true;
try
{
var conv = SelectedVM;
@@ -201,7 +234,7 @@ namespace BeWo.ViewModel.ListViewModel
MessageInput = string.Empty;
IsSending = false;
EndSending();
SendNewMessageSuccess?.Invoke(this, EventArgs.Empty);
},
@@ -209,15 +242,27 @@ namespace BeWo.ViewModel.ListViewModel
{
conv.Messages.VMList.Remove(msg_vm);
IsSending = false;
EndSending();
}
);
}
catch (Exception ex) {
IsSending = false;
EndSending();
}
}
private void StartSending()
{
if (IsSending)
throw new InvalidOperationException("Sendet bereits");
IsSending = true;
}
private void EndSending()
{
if (!IsSending)
throw new InvalidOperationException("Sendet nicht");
IsSending = false;
}
private void Test()
{
@@ -258,11 +303,24 @@ namespace BeWo.ViewModel.ListViewModel
//}
}
private void InsertConverstion(AiConversationDC dc)
private AiConversationVM InsertConverstion(AiConversationDC dc)
{
var vm = new AiConversationVM(dc);
VMList.Insert(0, vm);
SelectedVM = vm;
return vm;
}
private void UpdateConverstion(AiConversationVM vm, AiConversationDC dc)
{
vm.UpdateByDataContract(dc);
MessageInput = string.Empty;
EndSending();
SendNewMessageSuccess?.Invoke(this, EventArgs.Empty);
}
private void ReloadConfig()
@@ -431,7 +489,7 @@ namespace BeWo.ViewModel.ListViewModel
InitDummyConversations(10);
SelectedVM = conversation_vm;
//SelectedVM = conversation_vm;
}
private void InitDummyConversations(int count)
{

View File

@@ -909,6 +909,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AuswegHeikePuetz", "ReportI
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeikePuetz", "ReportImp\HeikePuetzBewoAusweg\HeikePuetz.csproj", "{6CA91C58-23BC-4DA4-823D-B88F3E7CC9EA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiakoniewerkGelsenkirchenWattenscheid", "ReportImp\DiakoniewerkGelsenkirchenWattenscheid\DiakoniewerkGelsenkirchenWattenscheid.csproj", "{8EE716B0-19BE-4AC0-BC5D-47504195AD30}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -11192,6 +11194,30 @@ Global
{6CA91C58-23BC-4DA4-823D-B88F3E7CC9EA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{6CA91C58-23BC-4DA4-823D-B88F3E7CC9EA}.Release|x86.ActiveCfg = Release|Any CPU
{6CA91C58-23BC-4DA4-823D-B88F3E7CC9EA}.Release|x86.Build.0 = Release|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Debug|.NET.ActiveCfg = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Debug|.NET.Build.0 = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Debug|x86.ActiveCfg = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Debug|x86.Build.0 = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.DebugRemote|x86.Build.0 = Debug|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Release|.NET.ActiveCfg = Release|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Release|.NET.Build.0 = Release|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Release|Any CPU.Build.0 = Release|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Release|x86.ActiveCfg = Release|Any CPU
{8EE716B0-19BE-4AC0-BC5D-47504195AD30}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -11644,6 +11670,7 @@ Global
{D36B27F2-88E6-41BF-B52C-B4520D506DFA} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{1154ACF1-E4B3-4040-AFB3-750A871A8004} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{6CA91C58-23BC-4DA4-823D-B88F3E7CC9EA} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{8EE716B0-19BE-4AC0-BC5D-47504195AD30} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -1,5 +1,6 @@
using BeWo.Data.Models;
using BS.Shared.DataContracts;
using BS.Shared.Exceptions;
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
@@ -33,7 +34,7 @@ namespace Dakota.Models.Infos
AddressInformation = addressInformation;
// Todo: Valid prüfen
Abrechnungsposition = invoiceItem.UnitDescription?.Substring(6) ?? "TODO";
Abrechnungsposition = invoiceItem.UnitDescription.Substring(6);
}
}
}

View File

@@ -1,6 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BS.Shared;
using BS.Shared.Interface;
@@ -830,5 +830,6 @@ namespace BeWo.Data.Entities
public virtual string SenderStreet => SenderAddress?.Street;
public virtual string SenderTown => SenderAddress?.Town;
public virtual string SenderPostCode => SenderAddress?.PostalCode;
}
public virtual IList<IInvoiceItem> IInvoiceItems => InvoiceItems.Select(x => x as IInvoiceItem).ToList();
}
}

View File

@@ -2,11 +2,12 @@
using System.Collections.Generic;
using System.Diagnostics;
using BS.Shared;
using BS.Shared.Interface;
namespace BeWo.Data.Entities
{
[DebuggerDisplay("{ItemDescription}: {AmountPerUnit} x {UnitCount} = {AmountTotal}")]
public class InvoiceItem : BeWoEntityBase
public class InvoiceItem : BeWoEntityBase, IInvoiceItem
{
public static string PropertyName_AmountPerUnit = "AmountPerUnit";

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

@@ -26,6 +26,9 @@ namespace AsSozialeDienstleistungenEV.Invoicing
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
{
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);
ii.UnitCount = Math.Round((decimal)ii.UnitCount, 2, MidpointRounding.AwayFromZero);
ii.AmountTotal = ii.UnitCount * ii.AmountPerUnit;
ii.GrossAmountTotal = ii.AmountTotal;
if (iServiceRecord != null)
{
if (!iServiceRecord.ServiceDescription.CategoryName.Contains("Abrechenbare Leistung"))
@@ -35,5 +38,11 @@ namespace AsSozialeDienstleistungenEV.Invoicing
}
return ii;
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
Calculations calc)
{
return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, false, true);
}
}
}

View File

@@ -109,10 +109,10 @@ namespace AsSozialeDienstleistungenEV
if (quartalStart < begin) //Prüfen ob überhaupt schon Zeit in dem Quartal vor der Rechnung vergangen ist
{
var srListOld = srList.Where(sr => sr.Start >= quartalStart && sr.Start < pRO.AccountingPeriodStart).ToList(); // select MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDC(sr)
var totalDuration = srListOld.Sum(s => s.RoundedDuration) / 60;
var totalDuration = srListOld.Sum(s => Math.Round(s.RoundedDuration / 60, 2, MidpointRounding.AwayFromZero));
if (totalDuration != 0)
{
lblStdQuartal.Text = lblStdMonat.Text = String.Format("{0:0.00}", totalDuration);
lblStdQuartal.Text = String.Format("{0:0.00}", totalDuration);
}
}
}

View File

@@ -35,6 +35,7 @@ namespace AsSozialeDienstleistungenEV
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary4 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
@@ -77,6 +78,7 @@ namespace AsSozialeDienstleistungenEV
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
this.lblRechnungsbetrag = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel22 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
@@ -90,7 +92,6 @@ namespace AsSozialeDienstleistungenEV
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.hours = new DevExpress.XtraReports.UI.CalculatedField();
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -216,7 +217,7 @@ namespace AsSozialeDienstleistungenEV
// xrTableCell12
//
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.MinutesDateTime", "{0:HH:mm}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.hours")});
this.xrTableCell12.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseBorders = false;
@@ -224,6 +225,7 @@ namespace AsSozialeDienstleistungenEV
this.xrTableCell12.StylePriority.UsePadding = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell12.TextFormatString = "{0:00.00}";
this.xrTableCell12.Weight = 0.10995352217024973D;
//
// GroupHeader1
@@ -653,6 +655,14 @@ namespace AsSozialeDienstleistungenEV
this.GroupFooter1.KeepTogether = true;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrPictureBox3
//
this.xrPictureBox3.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox3.ImageSource"));
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(320.8429F, 95.15858F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(64.58334F, 61.20199F);
this.xrPictureBox3.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze;
//
// lblRechnungsbetrag
//
this.lblRechnungsbetrag.BackColor = System.Drawing.Color.Transparent;
@@ -860,17 +870,9 @@ namespace AsSozialeDienstleistungenEV
// hours
//
this.hours.DataMember = "Services";
this.hours.Expression = "[Minutes]/60";
this.hours.Expression = "Round([Minutes]/60, 2)";
this.hours.Name = "hours";
//
// xrPictureBox3
//
this.xrPictureBox3.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox3.ImageSource"));
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(320.8429F, 95.15858F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(64.58334F, 61.20199F);
this.xrPictureBox3.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze;
//
// Taetigkeitsnachweis
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -895,6 +897,8 @@ namespace AsSozialeDienstleistungenEV
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "23.2";
xrWatermark1.Id = "Watermark1";
this.Watermarks.Add(xrWatermark1);
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();

View File

@@ -28,7 +28,7 @@ namespace AsSozialeDienstleistungenEV
//Debug.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);
bool hatGruppen = false;
double minutes = 0;
decimal minutes = 0;
decimal stundensatz = GetStundensatz(pRO);
decimal betrag = 0;
@@ -52,8 +52,9 @@ namespace AsSozialeDienstleistungenEV
{
sd.Notice5 = "F";
}
minutes += sd.Minutes;
betrag += stundensatz * (decimal)sd.Minutes / 60;
var minut = Math.Round((decimal)sd.Minutes / 60, 2, MidpointRounding.AwayFromZero);
minutes += minut;
betrag += stundensatz * minut;
servicesBillable.Add(sd);
}
}

File diff suppressed because one or more lines are too long

View File

@@ -110,7 +110,7 @@ namespace BeWo.Report.DefaultReports
scRo.ApprovedHoursInReportTimeSpan = 0;
scRo.BillableHoursInReportTimeSpanWithFactor = 0;
scRo.BillableAmountInReportTimeSpan = (decimal)ii.GetTotalClaim();
if (ii.ServiceInvoicePeriodList != null && ii.ServiceInvoicePeriodList[0].InvoiceItemList != null)
if (ii.ServiceInvoicePeriodList != null && ii.ServiceInvoicePeriodList.Count > 0 && ii.ServiceInvoicePeriodList[0].InvoiceItemList != null)
{
scRo.BillableHoursInReportTimeSpan = ii.ServiceInvoicePeriodList[0].InvoiceItemList[0].UnitCount ?? 0;
scRo.HourlyRate = ii.ServiceInvoicePeriodList[0].InvoiceItemList[0].AmountPerUnit ?? 0;
@@ -127,7 +127,7 @@ namespace BeWo.Report.DefaultReports
ro.Custom5 = scRo.Custom5;
ro.Custom1 = ii.InvoiceBase.InvoiceNumber.ToString();
ro.BillableAmountInReportTimeSpan = (decimal)ii.GetTotalClaim();
if (ii.ServiceInvoicePeriodList != null && ii.ServiceInvoicePeriodList[0].InvoiceItemList != null)
if (ii.ServiceInvoicePeriodList != null && ii.ServiceInvoicePeriodList.Count > 0 && ii.ServiceInvoicePeriodList[0].InvoiceItemList != null)
{
ro.BillableHoursInReportTimeSpan = ii.ServiceInvoicePeriodList[0].InvoiceItemList[0].UnitCount ?? 0;
ro.HourlyRate = ii.ServiceInvoicePeriodList[0].InvoiceItemList[0].AmountPerUnit ?? 0;
@@ -146,7 +146,7 @@ namespace BeWo.Report.DefaultReports
scRo.Custom1 = ii.InvoiceBase.InvoiceNumber.ToString();
if (!String.IsNullOrEmpty(kst) && kst.Contains("610905"))
{
if (ii.ServiceInvoicePeriodList != null && ii.ServiceInvoicePeriodList[0].InvoiceItemList != null)
if (ii.ServiceInvoicePeriodList != null && ii.ServiceInvoicePeriodList.Count > 0 && ii.ServiceInvoicePeriodList[0].InvoiceItemList != null)
{
scRo.HourlyRate = ii.ServiceInvoicePeriodList[0].InvoiceItemList[0].AmountPerUnit ?? 0;
}

View File

@@ -116,6 +116,7 @@
<Compile Include="ServiceInvoiceReport.Designer.cs">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
</Compile>
<Compile Include="Service\CustomAccountingService.cs" />
<Compile Include="Service\CustomVacationService.cs" />
<Compile Include="Service\ServiceRecordValidator.cs" />
</ItemGroup>

View File

@@ -46,6 +46,37 @@ namespace CaritasverbandDuerenJuelichEV.Invoicing
// return null;
//}
public override void SetSingleInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod, CompactSupportConceptDC supportConcept)
{
//Nur SingleInvoice und nicht Collective
invoice.InvoiceBase.SupportConceptOid = supportConcept.SupportConceptOid;
invoice.InvoiceBase.CostBearer2SupportConcept = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(supportConcept.CostBearerRelOids[0]);
if (supportConcept.CustomerReferenceNumbers.Count > 0)
{
invoice.InvoiceBase.CustomerReferenceNumber = supportConcept.CustomerReferenceNumbers[0];
}
Person p = invoice.InvoiceBase.CostBearer2SupportConcept.SupportConcept.Customer.Person;
DateTimeSpan span = invoice.InvoiceBase.CostBearer2SupportConcept.GetApprovedSpan();
if (span == null)
{
span = invoice.InvoiceBase.CostBearer2SupportConcept.GetRequestedSpan();
}
if (span != null)
{
invoice.InvoiceBase.InvoiceTitle = String.Format("{0}, {1}, {2:dd.MM.yyy}-{3:dd.MM.yy}", p.LastName,
p.FirstName, span.StartDate, span.EndDate);
}
else
{
invoice.InvoiceBase.InvoiceTitle = String.Format("{0}, {1}", p.LastName, p.FirstName);
if (invoice.InvoiceBase.CostBearer2SupportConcept.StartDate.HasValue)
{
invoice.InvoiceBase.InvoiceTitle += String.Format(", {0:dd.MM.yyy}-", invoice.InvoiceBase.CostBearer2SupportConcept.StartDate.Value);
}
}
}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
{
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);

View File

@@ -0,0 +1,76 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Windows;
using BeWo.Data;
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.DataContracts.Compact;
namespace CaritasverbandDuerenJuelichEV.Service
{
public class CustomAccountingService : AccountingService
{
// entspricht dem Original, außer dass die Bewilligung des Hilfeplans abgelaufen sein kann, wenn die Beantragten-Daten länger laufen bzw. kein Enddate haben
public override List<ServiceInvoiceDC> GenerateInitialServiceInvoices(long costBearerOid, long? supportConceptOid, DateTimeSpan invoicePeriod)
{
var cs = PluginLoader.FindClass<CustomerService>();
IEnumerable<CompactSupportConceptDC> supportConcepts;
// GetAllActiveSupportConceptCostbearer returns a "Flat" SupportConcept List, one for each CostBearer2SupportConcept!
if (!supportConceptOid.HasValue)
{
supportConcepts = cs.GetAllActiveSupportConceptCostbearer(false, true, 0)
.Where(i => i.CostBearerOids2CostBearerRelOids.ContainsKey(costBearerOid));
}
else
{
supportConcepts = cs.GetCompactSupportConcepts(supportConceptOid.Value, null)
.Where(i => i.CostBearerOids2CostBearerRelOids.ContainsKey(costBearerOid));
}
DateTimeSpan newSpan = null;
if (invoicePeriod != null)
{
//invoicePeriod.StartDateTime = invoicePeriod.StartDateTime.Date;
//invoicePeriod.EndDateTime = invoicePeriod.EndDateTime.Date;
newSpan = new DateTimeSpan();
newSpan.StartDateTime = invoicePeriod.StartDateTime.Date;
newSpan.EndDateTime = invoicePeriod.EndDateTime.Date.AddDays(1).AddTicks(-1);
//if (!supportConceptOid.HasValue)
//{
// supportConcepts =
// supportConcepts.Where(sc => sc.StartDate < newSpan.EndDateTime && sc.EndDate >= newSpan.StartDate);
//}
}
var supportConcepts2ServiceRecords = supportConcepts.ToDictionary(
i => i,
i => MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDCs(
DAOFactory.SearchDAO.FindServiceRecordsInSpan(i.CostBearerRelOids[0], newSpan)));
var cb = DAOFactory.GenericDAO.LoadByID<CostBearer>(costBearerOid);
String tenant = PluginLoader.Tenant;
var factory = PluginLoader.FindClass<InvoiceFactory>(cb.ID);
if (factory == null)
{
factory = InvoiceFactory.GetInstance(cb.ID, tenant);
}
var creator = factory.CreateInvoiceCreator(cb.ID, tenant, supportConcepts2ServiceRecords);
var newInvoices = creator.GenerateServiceInvoices(costBearerOid, invoicePeriod, supportConcepts2ServiceRecords);
//Prüfe ob Rechnungen neu sind oder Diff vorhanden
var differenzRechnungChecks = GetNewInvoices(newInvoices, invoicePeriod?.StartDate, invoicePeriod?.EndDate);
var resultList = ErstelleNeueRechnungen(differenzRechnungChecks);
return resultList;
}
}
}

View File

@@ -1,134 +1,134 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{C1FED668-ADB9-47E0-B589-1389618E1B6E}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DiakoniewerkGelsenkirchen</RootNamespace>
<AssemblyName>5323287930_Reports</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<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" />
<Reference Include="DevExpress.RichEdit.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.2.Export, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<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.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" />
<Reference Include="DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="InvoiceCustomerReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="InvoiceCustomerReport.Designer.cs">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\CustomSettlementInvoiceCreation.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Quittierungsbeleg.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Quittierungsbeleg.Designer.cs">
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
</Compile>
<Compile Include="ServiceInvoiceReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ServiceInvoiceReport.Designer.cs">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
</Compile>
<Compile Include="SettlementReport2.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="SettlementReport2.Designer.cs">
<DependentUpon>SettlementReport2.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\..\Report\Report.csproj">
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
<Name>Service</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="InvoiceCustomerReport.resx">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Quittierungsbeleg.resx">
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ServiceInvoiceReport.resx">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport2.resx">
<DependentUpon>SettlementReport2.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{8EE716B0-19BE-4AC0-BC5D-47504195AD30}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DiakoniewerkGelsenkirchen</RootNamespace>
<AssemblyName>5323287930_Reports</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<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" />
<Reference Include="DevExpress.RichEdit.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.2.Export, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<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.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" />
<Reference Include="DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="InvoiceCustomerReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="InvoiceCustomerReport.Designer.cs">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\CustomSettlementInvoiceCreation.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Quittierungsbeleg.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Quittierungsbeleg.Designer.cs">
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
</Compile>
<Compile Include="ServiceInvoiceReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ServiceInvoiceReport.Designer.cs">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
</Compile>
<Compile Include="SettlementReport2.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="SettlementReport2.Designer.cs">
<DependentUpon>SettlementReport2.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\..\Report\Report.csproj">
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
<Name>Service</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="InvoiceCustomerReport.resx">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Quittierungsbeleg.resx">
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ServiceInvoiceReport.resx">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport2.resx">
<DependentUpon>SettlementReport2.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -3,9 +3,10 @@ using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using BeWo.Report;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using DevExpress.XtraPrinting.Drawing;
using DevExpress.XtraReports.UI;
namespace DiakoniewerkGelsenkirchen
@@ -18,16 +19,9 @@ namespace DiakoniewerkGelsenkirchen
}
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.Mandator.Logo?.Original is object)
xrPictureBox3.ImageSource = new ImageSource(false, pRO.Mandator.Logo.Original);
if (pRO.Services != null)
{
@@ -41,9 +35,7 @@ namespace DiakoniewerkGelsenkirchen
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))
{
@@ -56,14 +48,59 @@ namespace DiakoniewerkGelsenkirchen
pRO.Services = servicesBillable;
}
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))
{

View File

@@ -1,120 +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>
<?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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@@ -91,6 +91,8 @@ namespace FeidPartnerReports.Calculation
foreach (var scap in relDC.ApprovalPeriodList)
{
var approvedPerMonth = GetApprovedHoursPerMonth(scap);
// Anpassung auf Minuten noch nötig!!!
// var approvedPerMonth = GetApprovedHoursPerMonth(scap, relDC);
var approved = GetApprovedHoursForPeriod(scap.StartDate.Value, scap.EndDate.Value, approvedPerMonth);
total += approved;
@@ -125,11 +127,7 @@ namespace FeidPartnerReports.Calculation
foreach (var scap in c2s.ApprovalPeriodList)
{
total += GetApprovedHoursPerMonth(scap);
}
return total;
}
@@ -159,8 +157,5 @@ namespace FeidPartnerReports.Calculation
return flsProWoche * 4.34m;
}
}
}
}

View File

@@ -0,0 +1,417 @@
using BeWo.Report.ReportObjects;
namespace FeidPartnerReports
{
partial class Invoice
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Invoice));
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.ruleNoticeNull = new DevExpress.XtraReports.UI.FormattingRule();
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAbrechnungstext = new DevExpress.XtraReports.UI.XRLabel();
this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// ruleRateFactorNull
//
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 48.66661F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 85F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// ruleNoticeNull
//
this.ruleNoticeNull.Condition = "[Notice] == ?";
this.ruleNoticeNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleNoticeNull.Name = "ruleNoticeNull";
//
// Page1
//
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox1,
this.xrPictureBox2,
this.xrLabel6,
this.xrLabel3,
this.xrTable1,
this.xrLabel5,
this.xrLabel1,
this.xrLabel7,
this.xrLabel4,
this.lblAbrechnungstext,
this.lblAdresse,
this.xrLabel2});
this.Page1.HeightF = 942.0001F;
this.Page1.Name = "Page1";
this.Page1.StylePriority.UseFont = false;
//
// xrPictureBox1
//
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(237.5F, 142.0834F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrPictureBox2
//
this.xrPictureBox2.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox2.ImageSource"));
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(532.4584F, 0F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(188.2916F, 503.4167F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrLabel6
//
this.xrLabel6.BackColor = System.Drawing.Color.Transparent;
this.xrLabel6.BorderColor = System.Drawing.Color.Black;
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")});
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(518.9167F, 701.7081F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(141.6666F, 31.81274F);
this.xrLabel6.StylePriority.UseBackColor = false;
this.xrLabel6.StylePriority.UseBorderColor = false;
this.xrLabel6.StylePriority.UseBorders = false;
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.StylePriority.UseTextAlignment = false;
this.xrLabel6.Text = "Gesamtbetrag: ";
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// xrLabel3
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 579.2917F);
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(630.9999F, 35.62494F);
this.xrLabel3.StylePriority.UseBackColor = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.Text = "Abrechnung für die aufgeführten Monate, Betreutes Wohnen für Menschen\r\nmit besond" +
"eren sozialen Schwierigkeiten nach § 67 SGB XII";
//
// xrTable1
//
this.xrTable1.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(532.4584F, 505.8609F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1,
this.xrTableRow4,
this.xrTableRow2});
this.xrTable1.SizeF = new System.Drawing.SizeF(141.6666F, 46.70834F);
this.xrTable1.StylePriority.UseFont = false;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.72D;
//
// xrTableCell1
//
this.xrTableCell1.Multiline = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Text = "Seite:";
this.xrTableCell1.Weight = 1D;
//
// xrTableCell2
//
this.xrTableCell2.Multiline = true;
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "1";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell2.Weight = 1D;
//
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell7,
this.xrTableCell8});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.Weight = 0.72D;
//
// xrTableCell7
//
this.xrTableCell7.Multiline = true;
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Text = "Kunden Nr.:";
this.xrTableCell7.Weight = 1D;
//
// xrTableCell8
//
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "BusinessPartnerId")});
this.xrTableCell8.Multiline = true;
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell8.Weight = 1D;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell4});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.71999999999999975D;
//
// xrTableCell3
//
this.xrTableCell3.Multiline = true;
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Text = "Datum:";
this.xrTableCell3.Weight = 1D;
//
// xrTableCell4
//
this.xrTableCell4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceBase.InvoiceDate")});
this.xrTableCell4.Multiline = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell4.TextFormatString = "{0:dd.MM.yyyy}";
this.xrTableCell4.Weight = 1D;
//
// xrLabel5
//
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 165.0001F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(317F, 20.00002F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.StylePriority.UseTextAlignment = false;
this.xrLabel5.Text = "FIP TEILHABE, Mörfelder Landstraße 6-8, 60598 Frankfurt";
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel1
//
this.xrLabel1.BackColor = System.Drawing.Color.Transparent;
this.xrLabel1.CanShrink = true;
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 787.0625F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(631F, 112.6459F);
this.xrLabel1.StylePriority.UseBackColor = false;
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "Zahlbar bis [InvoiceBase.DueDate!dd.MM.yyyy] ohne Abzug.\r\n\r\nBITTE beachten Sie un" +
"sere geänderte Bankverbindung. Herzlichen Dank.\r\n\r\nMit freundlichen Grüßen\r\n\r\nFI" +
"P TEILHABE";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel7
//
this.xrLabel7.BackColor = System.Drawing.Color.Transparent;
this.xrLabel7.BorderColor = System.Drawing.Color.Black;
this.xrLabel7.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 701.7081F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(518.9167F, 31.81262F);
this.xrLabel7.StylePriority.UseBackColor = false;
this.xrLabel7.StylePriority.UseBorderColor = false;
this.xrLabel7.StylePriority.UseBorders = false;
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.StylePriority.UseTextAlignment = false;
this.xrLabel7.Text = "Gesamtbetrag: ";
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel4
//
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
this.xrLabel4.CanShrink = true;
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")});
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 750.6666F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(631F, 19.99998F);
this.xrLabel4.StylePriority.UseBackColor = false;
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.WordWrap = false;
//
// lblAbrechnungstext
//
this.lblAbrechnungstext.BackColor = System.Drawing.Color.Transparent;
this.lblAbrechnungstext.CanShrink = true;
this.lblAbrechnungstext.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.lblAbrechnungstext.LocationFloat = new DevExpress.Utils.PointFloat(0F, 637.9582F);
this.lblAbrechnungstext.Multiline = true;
this.lblAbrechnungstext.Name = "lblAbrechnungstext";
this.lblAbrechnungstext.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAbrechnungstext.SizeF = new System.Drawing.SizeF(500.7916F, 63.75F);
this.lblAbrechnungstext.StylePriority.UseBackColor = false;
this.lblAbrechnungstext.StylePriority.UseFont = false;
this.lblAbrechnungstext.Text = "Abrechnung Kontingent\r\nAbrechnung Betreutes Wohnen, Monatsrechnung gemäß beigefüg" +
"ter Aufstellung,\r\nMonat";
//
// lblAdresse
//
this.lblAdresse.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblAdresse.LocationFloat = new DevExpress.Utils.PointFloat(0F, 185.0001F);
this.lblAdresse.Multiline = true;
this.lblAdresse.Name = "lblAdresse";
this.lblAdresse.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAdresse.SizeF = new System.Drawing.SizeF(317F, 111.5F);
this.lblAdresse.StylePriority.UseFont = false;
this.lblAdresse.Text = "[RecipientOrganisation]\r\n[RecipientDivision]\r\n[RecipientContactPerson]\r\n[Recipien" +
"tStreet]\r\n\r\n[RecipientPostCodeAndTown]";
//
// xrLabel2
//
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
this.xrLabel2.CanShrink = true;
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 518.0417F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(402.9166F, 19.99997F);
this.xrLabel2.StylePriority.UseBackColor = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Rechnung Nr. [InvoiceBase.InvoiceNumber]";
this.xrLabel2.WordWrap = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// Invoice
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.topMarginBand1,
this.bottomMarginBand1,
this.Page1});
this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] {
this.bindingSource1});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull,
this.ruleNoticeNull});
this.Margins = new DevExpress.Drawing.DXMargins(69.79165F, 15F, 48.66661F, 85F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private DevExpress.XtraReports.UI.DetailBand Detail;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.GroupHeaderBand Page1;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel lblAdresse;
private DevExpress.XtraReports.UI.FormattingRule ruleNoticeNull;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungstext;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox2;
}
}

View File

@@ -0,0 +1,67 @@
using BeWo.Report.ReportObjects;
using DevExpress.XtraReports.UI;
using BS.Shared.Core;
using BeWo.Report;
using System.Collections.Generic;
using System.Text;
using System;
namespace FeidPartnerReports
{
[IDSpecificClass(Identifier = "SammelrechnungBthg")]
public partial class Invoice : XtraReport, IBeWoReport<ServiceInvoiceRO>
{
public Invoice()
{
this.InitializeComponent();
}
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
var sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation))
{
sb.AppendLine(pRO.RecipientOrganisation);
}
if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1))
{
sb.AppendLine(pRO.RecipientAddressLine1);
}
if (!String.IsNullOrEmpty(pRO.RecipientDivision))
{
sb.AppendLine(pRO.RecipientDivision);
}
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson) && pRO.RecipientContactPerson != pRO.RecipientOrganisation)
{
sb.AppendLine(pRO.RecipientContactPerson);
}
if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
{
sb.AppendLine(pRO.RecipientPoBox);
}
if (!String.IsNullOrEmpty(pRO.RecipientStreet) && String.IsNullOrEmpty(pRO.RecipientPoBox))
{
sb.AppendLine(pRO.RecipientStreet);
}
if (!String.IsNullOrEmpty(pRO.RecipientPostCodeAndTown))
{
sb.AppendLine("");
sb.AppendLine(pRO.RecipientPostCodeAndTown);
}
lblAdresse.Text = sb.ToString();
pRO.InvoiceBase.DueDate = pRO.InvoiceDateTime.Value.AddDays(14);
lblAbrechnungstext.Text = String.Format("Abrechnung Kontingent\nAbrechnung Betreutes Wohnen, " +
"Monatsrechnung gemäß beigefügter Aufstellung,\nMonat {0:MMMM yyyy}", pRO.AccountingPeriodEnd);
this.bindingSource1.DataSource = pRO;
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,920 @@
using BeWo.Report.ReportObjects;
namespace FeidPartnerReports
{
partial class SammelrechnungTab
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SammelrechnungTab));
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow7 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell52 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell53 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell54 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell55 = new DevExpress.XtraReports.UI.XRTableCell();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.GroupFooter = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.ruleNoticeNull = new DevExpress.XtraReports.UI.FormattingRule();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell29 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.fieldMonatskontingent = new DevExpress.XtraReports.UI.CalculatedField();
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable4});
this.Detail.HeightF = 36F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTable4
//
this.xrTable4.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow4,
this.xrTableRow7});
this.xrTable4.SizeF = new System.Drawing.SizeF(1014.831F, 36F);
this.xrTable4.StylePriority.UseBackColor = false;
this.xrTable4.StylePriority.UseBorders = false;
this.xrTable4.StylePriority.UseFont = false;
this.xrTable4.StylePriority.UseTextAlignment = false;
this.xrTable4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell12,
this.xrTableCell19,
this.xrTableCell20,
this.xrTableCell21,
this.xrTableCell30,
this.xrTableCell32,
this.xrTableCell33,
this.xrTableCell34,
this.xrTableCell35});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.StylePriority.UseBackColor = false;
this.xrTableRow4.Weight = 0.28437564703996138D;
//
// xrTableCell1
//
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableCell1.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.Text = "Nr.";
this.xrTableCell1.Weight = 0.10579660220269682D;
//
// xrTableCell12
//
this.xrTableCell12.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableCell12.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell12.Multiline = true;
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseBorderColor = false;
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UseFont = false;
this.xrTableCell12.Text = "Name, Vorname";
this.xrTableCell12.Weight = 0.45423516621260712D;
//
// xrTableCell19
//
this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableCell19.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell19.Multiline = true;
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseBorders = false;
this.xrTableCell19.StylePriority.UseFont = false;
this.xrTableCell19.Text = "Aktenzeichen";
this.xrTableCell19.Weight = 0.2759912937317307D;
//
// xrTableCell20
//
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableCell20.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.StylePriority.UseBorders = false;
this.xrTableCell20.StylePriority.UseFont = false;
this.xrTableCell20.Text = "Aktueller";
this.xrTableCell20.Weight = 0.44044461882401287D;
//
// xrTableCell21
//
this.xrTableCell21.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableCell21.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseBorders = false;
this.xrTableCell21.StylePriority.UseFont = false;
this.xrTableCell21.Text = "Leistung";
this.xrTableCell21.Weight = 0.33118949750760451D;
//
// xrTableCell30
//
this.xrTableCell30.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableCell30.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell30.Name = "xrTableCell30";
this.xrTableCell30.StylePriority.UseBorders = false;
this.xrTableCell30.StylePriority.UseFont = false;
this.xrTableCell30.Text = "Leistungsmin.";
this.xrTableCell30.Weight = 0.23459147992913265D;
//
// xrTableCell32
//
this.xrTableCell32.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableCell32.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell32.Name = "xrTableCell32";
this.xrTableCell32.StylePriority.UseBorders = false;
this.xrTableCell32.StylePriority.UseFont = false;
this.xrTableCell32.Text = "Einzelpreis";
this.xrTableCell32.Weight = 0.22079260622355268D;
//
// xrTableCell33
//
this.xrTableCell33.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableCell33.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell33.Name = "xrTableCell33";
this.xrTableCell33.StylePriority.UseBorders = false;
this.xrTableCell33.StylePriority.UseFont = false;
this.xrTableCell33.Text = "Anzahl der ";
this.xrTableCell33.Weight = 0.22079294500509136D;
//
// xrTableCell34
//
this.xrTableCell34.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableCell34.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell34.Name = "xrTableCell34";
this.xrTableCell34.StylePriority.UseBorders = false;
this.xrTableCell34.StylePriority.UseFont = false;
this.xrTableCell34.Text = "Gesamt-";
this.xrTableCell34.Weight = 0.2207927765535766D;
//
// xrTableCell35
//
this.xrTableCell35.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell35.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.StylePriority.UseBorders = false;
this.xrTableCell35.StylePriority.UseFont = false;
this.xrTableCell35.Text = "Summe Monat";
this.xrTableCell35.Weight = 0.29621382278968905D;
//
// xrTableRow7
//
this.xrTableRow7.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrTableRow7.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell36,
this.xrTableCell37,
this.xrTableCell38,
this.xrTableCell42,
this.xrTableCell45,
this.xrTableCell51,
this.xrTableCell52,
this.xrTableCell53,
this.xrTableCell54,
this.xrTableCell55});
this.xrTableRow7.Name = "xrTableRow7";
this.xrTableRow7.StylePriority.UseBorders = false;
this.xrTableRow7.Weight = 0.28437564703996154D;
//
// xrTableCell36
//
this.xrTableCell36.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell36.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.StylePriority.UseBorders = false;
this.xrTableCell36.StylePriority.UseFont = false;
this.xrTableCell36.Weight = 0.10579664431558922D;
//
// xrTableCell37
//
this.xrTableCell37.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell37.Font = new DevExpress.Drawing.DXFont("Arial", 8.25F);
this.xrTableCell37.Multiline = true;
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.StylePriority.UseBorders = false;
this.xrTableCell37.StylePriority.UseFont = false;
this.xrTableCell37.Weight = 0.4542354311971783D;
//
// xrTableCell38
//
this.xrTableCell38.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell38.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell38.Multiline = true;
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.StylePriority.UseBorders = false;
this.xrTableCell38.StylePriority.UseFont = false;
this.xrTableCell38.Weight = 0.27599102472007131D;
//
// xrTableCell42
//
this.xrTableCell42.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell42.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell42.Name = "xrTableCell42";
this.xrTableCell42.StylePriority.UseBorders = false;
this.xrTableCell42.StylePriority.UseFont = false;
this.xrTableCell42.Text = "Bewilligungszeitraum";
this.xrTableCell42.Weight = 0.44044461204164687D;
//
// xrTableCell45
//
this.xrTableCell45.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell45.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell45.Name = "xrTableCell45";
this.xrTableCell45.StylePriority.UseBorders = false;
this.xrTableCell45.StylePriority.UseFont = false;
this.xrTableCell45.Weight = 0.33118937124124648D;
//
// xrTableCell51
//
this.xrTableCell51.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell51.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell51.Name = "xrTableCell51";
this.xrTableCell51.StylePriority.UseBorders = false;
this.xrTableCell51.StylePriority.UseFont = false;
this.xrTableCell51.Text = " pro Woche";
this.xrTableCell51.Weight = 0.23459246033900408D;
//
// xrTableCell52
//
this.xrTableCell52.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell52.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell52.Name = "xrTableCell52";
this.xrTableCell52.StylePriority.UseBorders = false;
this.xrTableCell52.StylePriority.UseFont = false;
this.xrTableCell52.Text = "Tage";
this.xrTableCell52.Weight = 0.22079291172385726D;
//
// xrTableCell53
//
this.xrTableCell53.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell53.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell53.Name = "xrTableCell53";
this.xrTableCell53.StylePriority.UseBorders = false;
this.xrTableCell53.StylePriority.UseFont = false;
this.xrTableCell53.Text = "Tage";
this.xrTableCell53.Weight = 0.22079290420700248D;
//
// xrTableCell54
//
this.xrTableCell54.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell54.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell54.Name = "xrTableCell54";
this.xrTableCell54.StylePriority.UseBorders = false;
this.xrTableCell54.StylePriority.UseFont = false;
this.xrTableCell54.Text = "preis";
this.xrTableCell54.Weight = 0.22079290420700248D;
//
// xrTableCell55
//
this.xrTableCell55.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell55.Font = new DevExpress.Drawing.DXFont("Calibri", 8.25F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell55.Name = "xrTableCell55";
this.xrTableCell55.StylePriority.UseBorders = false;
this.xrTableCell55.StylePriority.UseFont = false;
this.xrTableCell55.Weight = 0.29621429597668925D;
//
// ruleRateFactorNull
//
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
//
// topMarginBand1
//
this.topMarginBand1.Font = new DevExpress.Drawing.DXFont("Microsoft Sans Serif", 10F);
this.topMarginBand1.HeightF = 23F;
this.topMarginBand1.Name = "topMarginBand1";
this.topMarginBand1.StylePriority.UseFont = false;
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 7.500458F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// GroupFooter
//
this.GroupFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.GroupFooter.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.GroupFooter.HeightF = 27.84945F;
this.GroupFooter.Name = "GroupFooter";
this.GroupFooter.StylePriority.UseFont = false;
//
// xrTable1
//
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable1.SizeF = new System.Drawing.SizeF(1014.83F, 17F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UseFont = false;
this.xrTable1.StylePriority.UsePadding = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell11,
this.xrTableCell14});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.67999999999999994D;
//
// xrTableCell11
//
this.xrTableCell11.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell11.Font = new DevExpress.Drawing.DXFont("Calibri", 11F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell11.StylePriority.UseBorderColor = false;
this.xrTableCell11.StylePriority.UseBorders = false;
this.xrTableCell11.StylePriority.UseFont = false;
this.xrTableCell11.StylePriority.UsePadding = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "Rechnungssumme";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell11.Weight = 1.8007896864822381D;
//
// xrTableCell14
//
this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")});
this.xrTableCell14.Font = new DevExpress.Drawing.DXFont("Calibri", 11F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseBorders = false;
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "xrTableCell9";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell14.Weight = 0.21297249777057958D;
//
// ruleNoticeNull
//
this.ruleNoticeNull.Condition = "[Notice] == ?";
this.ruleNoticeNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleNoticeNull.Name = "ruleNoticeNull";
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.GroupHeader1,
this.DetailReport1,
this.GroupHeader2,
this.GroupFooter1});
this.DetailReport.DataMember = "ServiceInvoicePeriods";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail1
//
this.Detail1.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.Detail1.HeightF = 0F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
this.Detail1.StylePriority.UseTextAlignment = false;
this.Detail1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// GroupHeader1
//
this.GroupHeader1.HeightF = 0F;
this.GroupHeader1.Name = "GroupHeader1";
//
// DetailReport1
//
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail2});
this.DetailReport1.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
this.DetailReport1.DataSource = this.bindingSource1;
this.DetailReport1.Level = 0;
this.DetailReport1.Name = "DetailReport1";
//
// Detail2
//
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2});
this.Detail2.HeightF = 17F;
this.Detail2.Name = "Detail2";
//
// xrTable2
//
this.xrTable2.Font = new DevExpress.Drawing.DXFont("Calibri", 8.25F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(7.947286E-05F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow3});
this.xrTable2.SizeF = new System.Drawing.SizeF(1014.83F, 17F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell22,
this.xrTableCell23,
this.xrTableCell24,
this.xrTableCell25,
this.xrTableCell26,
this.xrTableCell27,
this.xrTableCell28,
this.xrTableCell29,
this.xrTableCell3,
this.xrTableCell31});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 0.67999999999999994D;
//
// xrTableCell22
//
this.xrTableCell22.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell22.CanGrow = false;
this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.CustomerFirstname")});
this.xrTableCell22.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell22.StylePriority.UseBorders = false;
this.xrTableCell22.StylePriority.UseFont = false;
this.xrTableCell22.StylePriority.UsePadding = false;
this.xrTableCell22.StylePriority.UseTextAlignment = false;
xrSummary1.Func = DevExpress.XtraReports.UI.SummaryFunc.RecordNumber;
this.xrTableCell22.Summary = xrSummary1;
this.xrTableCell22.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell22.TextFormatString = "{0}";
this.xrTableCell22.Weight = 0.10634058531450184D;
//
// xrTableCell23
//
this.xrTableCell23.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell23.CanGrow = false;
this.xrTableCell23.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell23.StylePriority.UseBorderColor = false;
this.xrTableCell23.StylePriority.UseBorders = false;
this.xrTableCell23.StylePriority.UseFont = false;
this.xrTableCell23.StylePriority.UsePadding = false;
this.xrTableCell23.StylePriority.UseTextAlignment = false;
this.xrTableCell23.Text = "[ServiceInvoicePeriods.Customer.LastName]";
this.xrTableCell23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell23.Weight = 0.45657075705373318D;
//
// xrTableCell24
//
this.xrTableCell24.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell24.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.StylePriority.UseBorders = false;
this.xrTableCell24.StylePriority.UseFont = false;
this.xrTableCell24.StylePriority.UseTextAlignment = false;
this.xrTableCell24.Text = "[ServiceInvoicePeriods.CostBearer2SupportConcept.CustomerReferenceNumber]";
this.xrTableCell24.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell24.Weight = 0.27741008367627817D;
//
// xrTableCell25
//
this.xrTableCell25.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell25.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
this.xrTableCell25.Name = "xrTableCell25";
this.xrTableCell25.StylePriority.UseBorders = false;
this.xrTableCell25.StylePriority.UseFont = false;
this.xrTableCell25.StylePriority.UseTextAlignment = false;
this.xrTableCell25.Text = "[ServiceInvoicePeriods.CostBearer2SupportConcept.StartDate!dd.MM.yyyy] - [Service" +
"InvoicePeriods.CostBearer2SupportConcept.EndDate!dd.MM.yyyy]";
this.xrTableCell25.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell25.Weight = 0.4427094977716719D;
//
// xrTableCell26
//
this.xrTableCell26.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell26.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceDescription")});
this.xrTableCell26.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
this.xrTableCell26.Name = "xrTableCell26";
this.xrTableCell26.StylePriority.UseBorders = false;
this.xrTableCell26.StylePriority.UseFont = false;
this.xrTableCell26.StylePriority.UseTextAlignment = false;
this.xrTableCell26.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell26.Weight = 0.33289208820280392D;
//
// xrTableCell27
//
this.xrTableCell27.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell27.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Notice", "{0:n0}")});
this.xrTableCell27.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
this.xrTableCell27.Name = "xrTableCell27";
this.xrTableCell27.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell27.StylePriority.UseBorderColor = false;
this.xrTableCell27.StylePriority.UseBorders = false;
this.xrTableCell27.StylePriority.UseFont = false;
this.xrTableCell27.StylePriority.UsePadding = false;
this.xrTableCell27.StylePriority.UseTextAlignment = false;
this.xrTableCell27.Text = "xrTableCell45";
this.xrTableCell27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell27.Weight = 0.23579789695281189D;
//
// xrTableCell28
//
this.xrTableCell28.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate", "{0:c2}")});
this.xrTableCell28.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
this.xrTableCell28.Name = "xrTableCell28";
this.xrTableCell28.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell28.StylePriority.UseBorders = false;
this.xrTableCell28.StylePriority.UseFont = false;
this.xrTableCell28.StylePriority.UsePadding = false;
this.xrTableCell28.StylePriority.UseTextAlignment = false;
this.xrTableCell28.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell28.Weight = 0.22192789741327412D;
//
// xrTableCell29
//
this.xrTableCell29.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell29.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Hours", "{0:n0}")});
this.xrTableCell29.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
this.xrTableCell29.Name = "xrTableCell29";
this.xrTableCell29.StylePriority.UseBorders = false;
this.xrTableCell29.StylePriority.UseFont = false;
this.xrTableCell29.StylePriority.UseTextAlignment = false;
this.xrTableCell29.Text = "xrTableCell17";
this.xrTableCell29.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell29.Weight = 0.22192856135156558D;
//
// xrTableCell3
//
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount")});
this.xrTableCell3.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.StylePriority.UseBorders = false;
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell3.Weight = 0.22192771476319542D;
//
// xrTableCell31
//
this.xrTableCell31.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell31.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount")});
this.xrTableCell31.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
this.xrTableCell31.Name = "xrTableCell31";
this.xrTableCell31.StylePriority.UseBorders = false;
this.xrTableCell31.StylePriority.UseFont = false;
this.xrTableCell31.StylePriority.UseTextAlignment = false;
this.xrTableCell31.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell31.Weight = 0.29773565063758856D;
//
// GroupHeader2
//
this.GroupHeader2.GroupFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("Customer.LastName", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
this.GroupHeader2.HeightF = 0F;
this.GroupHeader2.Level = 1;
this.GroupHeader2.Name = "GroupHeader2";
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.GroupFooter1.HeightF = 17F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrTable5
//
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable5.Name = "xrTable5";
this.xrTable5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable5.SizeF = new System.Drawing.SizeF(1014.831F, 17F);
this.xrTable5.StylePriority.UseBorders = false;
this.xrTable5.StylePriority.UseFont = false;
this.xrTable5.StylePriority.UsePadding = false;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell13,
this.xrTableCell17,
this.xrTableCell18});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 0.67999999999999994D;
//
// xrTableCell13
//
this.xrTableCell13.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell13.CanGrow = false;
this.xrTableCell13.Font = new DevExpress.Drawing.DXFont("Arial", 8.25F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell13.StylePriority.UseBorders = false;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UsePadding = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell13.Weight = 0.076059516538963659D;
//
// xrTableCell17
//
this.xrTableCell17.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell17.CanGrow = false;
this.xrTableCell17.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell17.StylePriority.UseBorderColor = false;
this.xrTableCell17.StylePriority.UseBorders = false;
this.xrTableCell17.StylePriority.UseFont = false;
this.xrTableCell17.StylePriority.UsePadding = false;
this.xrTableCell17.StylePriority.UseTextAlignment = false;
this.xrTableCell17.Text = "Summe [Customer.LastName]";
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell17.Weight = 1.7247306998513456D;
//
// xrTableCell18
//
this.xrTableCell18.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.NetAmount")});
this.xrTableCell18.Font = new DevExpress.Drawing.DXFont("Calibri", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseBorders = false;
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
xrSummary2.FormatString = "{0:c2}";
xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell18.Summary = xrSummary2;
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell18.Weight = 0.212973345569157D;
//
// fieldMonatskontingent
//
this.fieldMonatskontingent.DataMember = "ServiceInvoicePeriods";
this.fieldMonatskontingent.Expression = "[SupportConceptApprovalPeriod.ApprovedBEPerInterval]/12";
this.fieldMonatskontingent.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldMonatskontingent.Name = "fieldMonatskontingent";
//
// PageHeader
//
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel6,
this.xrPictureBox1,
this.xrLabel8,
this.xrLabel9});
this.PageHeader.HeightF = 111.3333F;
this.PageHeader.Name = "PageHeader";
//
// xrLabel6
//
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Calibri", 11.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
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(317F, 62.29169F);
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.Text = "[RecipientOrganisation]\r\n[RecipientStreet]\r\n[RecipientPostCodeAndTown]";
//
// xrPictureBox1
//
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(875.9997F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(160F, 98.20835F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrLabel8
//
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Calibri", 11.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(317.0001F, 0F);
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(142.5033F, 62.29169F);
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.Text = "Rechnungsnummer:\r\nFälligkeit:\r\nKostenstelle:";
//
// xrLabel9
//
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Calibri", 11.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(459.5033F, 0F);
this.xrLabel9.Multiline = true;
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(317F, 62.29169F);
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.Text = "[InvoiceBase.InvoiceNumber]\r\n\r\n";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// SammelrechnungTab
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.topMarginBand1,
this.bottomMarginBand1,
this.GroupFooter,
this.DetailReport,
this.PageHeader});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldMonatskontingent});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull,
this.ruleNoticeNull});
this.Landscape = true;
this.Margins = new DevExpress.Drawing.DXMargins(60F, 60F, 23F, 7.500458F);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "23.2";
xrWatermark1.Id = "Watermark1";
this.Watermarks.Add(xrWatermark1);
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private DevExpress.XtraReports.UI.DetailBand Detail;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.FormattingRule ruleNoticeNull;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.CalculatedField fieldMonatskontingent;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
private DevExpress.XtraReports.UI.DetailBand Detail2;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell22;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell24;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell25;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell26;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell27;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell28;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell29;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell31;
private DevExpress.XtraReports.UI.PageHeaderBand PageHeader;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRTable xrTable5;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
private DevExpress.XtraReports.UI.XRTable xrTable4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell21;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell30;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell32;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell35;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell38;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell42;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell51;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell52;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell53;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell54;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell55;
}
}

View File

@@ -0,0 +1,72 @@
using BeWo.Report;
using BeWo.Report.ReportObjects;
using DevExpress.XtraReports.UI;
using BS.Shared.Core;
using System;
namespace FeidPartnerReports
{
[IDSpecificClass(Identifier = "Sammelrechnung")]
public partial class SammelrechnungTab : XtraReport, IBeWoReport<ServiceInvoiceRO>
{
public SammelrechnungTab()
{
this.InitializeComponent();
}
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
pRO.RecipientOrganisation = "LWV Hessen";
pRO.ServiceInvoicePeriods.Sort((a, b) => a.Customer.LastNameFirstName.CompareTo(b.Customer.LastNameFirstName));
foreach (var sip in pRO.ServiceInvoicePeriods)
{
if (sip.Customer.FirstName.ToLower().Contains("(ka)"))
{
sip.Customer.FirstName = sip.Customer.FirstName.Replace("(ka)", "").Trim();
sip.Customer.FirstName = sip.Customer.FirstName.Replace("(KA)", "").Trim();
}
sip.Customer.LastName = sip.Customer.LastName + ", " + sip.Customer.FirstName;
if (sip.Notice != null)
{
if (sip.ServiceInvoiceItems.Count > 0)
sip.NotBillableString = sip.ServiceInvoiceItems[0].UnitDescription;
}
if (sip.SupportConceptApprovalPeriod.ServiceCategory == null || sip.SupportConceptApprovalPeriod.ServiceCategory != null && sip.SupportConceptApprovalPeriod.ServiceCategory.Name.Contains("Monat"))
sip.ApprovedHours = 1;
else
{
DateTime end = sip.SupportConceptApprovalPeriod.EndDate ?? pRO.AccountingPeriodEnd;
DateTime start = sip.SupportConceptApprovalPeriod.StartDate ?? pRO.AccountingPeriodStart;
sip.ApprovedHours = (decimal)(end - start).TotalDays;
}
if (sip.CostBearer2SupportConcept.CustomerReferenceNumber == null)
sip.CostBearer2SupportConcept.CustomerReferenceNumber = "LVG";
}
pRO.ServiceInvoicePeriods.Sort((a, b) => a.Customer.LastNameFirstName.CompareTo(b.Customer.LastNameFirstName));
var count = pRO.ServiceInvoicePeriods.Count;
var pos = 1;
for (int i = 0; i < count; i++)
{
var sip = pRO.ServiceInvoicePeriods[i];
if (sip.ServiceInvoiceItems.Count > 0)
{
foreach (var ii in sip.ServiceInvoiceItems)
{
ii.CustomerFirstname = pos++.ToString();
if(ii.Notice == null && sip.SupportConceptApprovalPeriod != null && sip.SupportConceptApprovalPeriod.ApprovedBEPerInterval.HasValue)
{
ii.Notice = String.Format("{0:n0}", sip.SupportConceptApprovalPeriod.ApprovedBEPerInterval.Value);
}
}
}
}
this.bindingSource1.DataSource = pRO;
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,75 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using DevExpress.XtraReports.UI;
namespace FeidPartnerReports
{
public class CustomReportCreator : DefaultReportCreator
{
public override XtraReport CreateServiceInvoiceReport(string dcIds, long? invoiceBaseOid)
{
if (String.IsNullOrEmpty(dcIds) && invoiceBaseOid.HasValue)
{
var serviceInvoice = DAOFactory.SearchDAO.GetServiceInvoiceByInvoiceBaseOid(invoiceBaseOid.Value);
dcIds = String.Format("{0}", serviceInvoice.Oid);
}
if (!string.IsNullOrEmpty(dcIds))
{
var dcList = new List<ServiceInvoiceDC>();
var dcidStrs = dcIds.Split(';');
foreach (var oidStr in dcidStrs)
{
var oid = long.Parse(oidStr);
var invoice = DAOFactory.GenericDAO.LoadByID<ServiceInvoice>(oid);
var dc = MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(invoice);
dcList.Add(dc);
}
return CreateInvoiceReport(dcList);
}
return new XtraReport();
}
private XtraReport CreateInvoiceReport(List<ServiceInvoiceDC> invoices)
{
XtraReport allReports = null;
foreach (var iDC in invoices)
{
XtraReport invoiceReport = null;
IBeWoReport<ServiceInvoiceRO> singleReport = FindReportImp<ServiceInvoiceRO>(iDC.InvoiceBase.InvoiceId);
var ro = ServiceInvoiceRO.Create(iDC);
singleReport.SetReportDataSource(ro);
((XtraReport)singleReport).CreateDocument();
invoiceReport = singleReport as XtraReport;
if (iDC.InvoiceBase.InvoiceId == "Sammelrechnung")
{
var anhang = new Invoice();
anhang.SetReportDataSource(ro);
anhang.CreateDocument();
((XtraReport)singleReport).Pages.AddRange(((XtraReport)anhang).Pages);
invoiceReport = singleReport as XtraReport;
}
if (allReports == null)
allReports = invoiceReport;
else
((XtraReport)allReports).Pages.AddRange(invoiceReport.Pages);
}
return allReports as XtraReport;
}
}
}

View File

@@ -70,12 +70,14 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Pdf.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<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.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.Wizard, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -108,16 +110,28 @@
<ItemGroup>
<Compile Include="Calculation\CustomCalculations.cs" />
<Compile Include="Calculation\CustomGroupDurationCalculator.cs" />
<Compile Include="CollectiveBillingReport.cs">
<Compile Include="CollectiveBillingReportBthg.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="CollectiveBillingReport.Designer.cs">
<DependentUpon>CollectiveBillingReport.cs</DependentUpon>
<Compile Include="CollectiveBillingReportBthg.Designer.cs">
<DependentUpon>CollectiveBillingReportBthg.cs</DependentUpon>
</Compile>
<Compile Include="CollectiveBillingReportTab.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="CollectiveBillingReportTab.Designer.cs">
<DependentUpon>CollectiveBillingReportTab.cs</DependentUpon>
</Compile>
<Compile Include="CustomReportCreator.cs" />
<Compile Include="CustomSupportConceptAnalysisCreator.cs" />
<Compile Include="Invoicing\CollectiveInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="ServicesOverviewReport.cs">
<SubType>Component</SubType>
</Compile>
@@ -134,10 +148,17 @@
<Compile Include="Translation\TranslationDictionary.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="CollectiveBillingReport.resx">
<DependentUpon>CollectiveBillingReport.cs</DependentUpon>
<EmbeddedResource Include="CollectiveBillingReportBthg.resx">
<DependentUpon>CollectiveBillingReportBthg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="CollectiveBillingReportTab.resx">
<DependentUpon>CollectiveBillingReportTab.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="ServicesOverviewReport.resx">
<DependentUpon>ServicesOverviewReport.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -1,6 +1,7 @@
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;
@@ -12,7 +13,6 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Services;
using FeidPartnerReports.Calculation;
namespace FeidPartnerReports.Invoicing
{
@@ -20,21 +20,13 @@ namespace FeidPartnerReports.Invoicing
{
private DateTime? accountingPeriodStart = null;
private DateTime? accountingPeriodEnd = null;
private decimal AMOUNT_PER_KMQA = 0.0222m;
public override List<ServiceInvoiceDC> GenerateServiceInvoices(long costBearerOid, DateTimeSpan invoicePeriod, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
public override void SetInvoiceId(ServiceInvoice invoice)
{
var newSc2SrList = new Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>>();
foreach (var key in supportConcepts2ServiceRecords.Keys)
{
if (key.IsApproved)
{
newSc2SrList.Add(key, supportConcepts2ServiceRecords[key]);
}
}
return base.GenerateServiceInvoices(costBearerOid, invoicePeriod, newSc2SrList);
invoice.InvoiceBase.InvoiceId = "Sammelrechnung";
invoice.InvoiceBase.InvoiceTypeText = "Sammelrechnung";
}
public override void SetInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod,
@@ -44,99 +36,99 @@ namespace FeidPartnerReports.Invoicing
{
accountingPeriodStart = invoicePeriod.StartDate;
accountingPeriodEnd = invoicePeriod.EndDate;
var pauschVar = base.GetPreis("Fahrzeitenzuschlag qA", (DateTime)accountingPeriodStart);
if (pauschVar != 0)
{
AMOUNT_PER_KMQA = pauschVar;
}
}
base.SetInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConceptList);
}
public override void SetInvoiceItems(ServiceInvoice invoice, ServiceInvoicePeriod serviceInvoicePeriod,
SupportConceptApprovalPeriodDC supportConceptApprovalPeriod, CostBearer2SupportConcept cb2sc,
DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
public override void SetInvoiceItems(ServiceInvoice invoice,
ServiceInvoicePeriod serviceInvoicePeriod,
SupportConceptApprovalPeriodDC supportConceptApprovalPeriod,
CostBearer2SupportConcept cb2sc,
DateTimeSpan invoicePeriod,
List<ServiceRecordDC> serviceRecords)
{
BS.Shared.Services.Calculations calc = PluginLoader.FindClass<BS.Shared.Services.Calculations>(_SpecificID) ?? BS.Shared.Services.Calculations.GetInstance(_SpecificID);
CreateFixedAmounts(serviceInvoicePeriod, supportConceptApprovalPeriod, cb2sc);
}
public override void CreateFixedAmounts(ServiceInvoicePeriod serviceInvoicePeriod, SupportConceptApprovalPeriodDC scap, CostBearer2SupportConcept cb2sc)
{
var calc = new CustomCalculations();
var c2s = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(cb2sc);
public override void CreateFixedAmounts(ServiceInvoicePeriod serviceInvoicePeriod, SupportConceptApprovalPeriodDC supportConceptApprovalPeriod, CostBearer2SupportConcept cb2sc)
{
var calc = PluginLoader.FindClass<BS.Shared.Services.Calculations>(_SpecificID) ?? BS.Shared.Services.Calculations.GetInstance(_SpecificID);
var data = calc.GetFixedBillingData(supportConceptApprovalPeriod, serviceInvoicePeriod.Start, serviceInvoicePeriod.End);
DateTime start = accountingPeriodStart.Value;
DateTime end = accountingPeriodEnd.Value;
if (scap.StartDate > start)
if (supportConceptApprovalPeriod.StartDate > start)
{
start = scap.StartDate.Value;
start = supportConceptApprovalPeriod.StartDate.Value;
}
if (supportConceptApprovalPeriod.EndDate < end)
{
end = supportConceptApprovalPeriod.EndDate.Value;
}
if (scap.EndDate < end)
if (supportConceptApprovalPeriod.ServiceCategory != null)
{
end = scap.EndDate.Value;
var ii = new InvoiceItem
{
ItemPeriodStart = serviceInvoicePeriod.Start,
ItemPeriodEnd = serviceInvoicePeriod.End,
SupportConceptApprovalPeriodOid = supportConceptApprovalPeriod.SupportConceptApprovalPeriodOid,
AccountingInterval = AccountingIntervalType.Daily,
UnitCount = (decimal)(end - start).TotalDays + 1,
Notice = "keine Minuten"
};
if (supportConceptApprovalPeriod.ApprovedBEPerInterval.HasValue)
{
ii.Notice = String.Format("{0:n0}", supportConceptApprovalPeriod.ApprovedBEPerInterval.Value);
if (supportConceptApprovalPeriod.ServiceCategory.Name.Contains("Fahrzeit"))
{
ii.AmountPerUnit = supportConceptApprovalPeriod.ApprovedBEPerInterval * AMOUNT_PER_KMQA;
ii.ItemDescription = "Fahrzeiten QA";
}
else
{
if (supportConceptApprovalPeriod.ApprovedFixedAmount != null)
{
ii.AmountPerUnit = supportConceptApprovalPeriod.ApprovedFixedAmount;
}
else
{
ii.AmountPerUnit = supportConceptApprovalPeriod.ApprovedBEPerInterval * (decimal)Math.Round((double)data[0].AmountTotal / 60, 4, MidpointRounding.AwayFromZero);
}
ii.ItemDescription = "Qualifizierte Assistenz";
}
ii.AmountPerUnit = Math.Round((decimal)ii.AmountPerUnit, 2, MidpointRounding.AwayFromZero);
ii.AmountTotal = ii.UnitCount * ii.AmountPerUnit;
ii.GrossAmountTotal = ii.AmountTotal;
}
serviceInvoicePeriod.InvoiceItemList.Add(ii);
}
var monate = DateTimeUtils.GetTotalMonths(start, end);
var stundenProMonat = calc.GetApprovedHoursForPeriod(c2s, scap, null, new DateTime(start.Year, start.Month, 1), new DateTime(start.Year, start.Month, 1).AddMonths(1).AddDays(-1), false) ?? 0;
var hours = monate.GanzeMonate * stundenProMonat;
if (monate.RestTageAnfang > 0)
{
if (start.Day > 15)
{
hours += stundenProMonat / 2;
}
else if (start.Day > 1)
{
hours += stundenProMonat;
}
}
if (monate.RestTageEnde > 0)
{
if (end.Day > 15)
{
hours += stundenProMonat;
}
else
{
hours += stundenProMonat / 2;
}
}
//var hours = calc.GetApprovedHoursForPeriod(c2s, scap, null, accountingPeriodStart, accountingPeriodEnd, false) ?? 0;
hours = Math.Round(hours, 2, MidpointRounding.AwayFromZero);
decimal hourlyRate = 0;
if (accountingPeriodStart.HasValue)
{
var crp = c2s.CostBearer.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.HourlyRate,
accountingPeriodStart.Value);
if (crp != null && crp.CostRateValue.HasValue)
{
hourlyRate = crp.CostRateValue.Value;
}
}
var ii = new InvoiceItem
{
ItemPeriodStart = accountingPeriodStart,
ItemPeriodEnd = accountingPeriodEnd,
AccountingInterval = AccountingIntervalType.Monthly,
AmountPerUnit = hourlyRate,
UnitCount = hours
};
ii.AmountTotal = ii.UnitCount * ii.AmountPerUnit;
ii.GrossAmountTotal = ii.AmountTotal;
serviceInvoicePeriod.InvoiceItemList.Add(ii);
}
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
Calculations calc)
public override void SetServiceInvoicePeriodAmounts(ServiceInvoice invoice)
{
return base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
foreach (ServiceInvoicePeriod iPeriod in invoice.ServiceInvoicePeriodList)
{
iPeriod.Claim = 0;
if (iPeriod.SupportConceptApprovalPeriod.ServiceCategory.Name != "qA" && iPeriod.ApprovedFixedAmount.HasValue && iPeriod.ApprovedFixedAmount.Value != 0)
iPeriod.Claim = iPeriod.ApprovedFixedAmount;
else
{
foreach (InvoiceItem item in iPeriod.InvoiceItemList)
{
if (item.GrossAmountTotal.HasValue)
iPeriod.Claim += item.GrossAmountTotal;
}
}
iPeriod.Claim = Math.Round(iPeriod.Claim.Value, 2, MidpointRounding.AwayFromZero);
}
}
}
}

View File

@@ -0,0 +1,142 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
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.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Services;
using FeidPartnerReports.Calculation;
namespace FeidPartnerReports.Invoicing
{
public class CollectiveInvoiceCreationOld : InvoiceCreation
{
private DateTime? accountingPeriodStart = null;
private DateTime? accountingPeriodEnd = null;
public override List<ServiceInvoiceDC> GenerateServiceInvoices(long costBearerOid, DateTimeSpan invoicePeriod, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
{
var newSc2SrList = new Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>>();
foreach (var key in supportConcepts2ServiceRecords.Keys)
{
if (key.IsApproved)
{
newSc2SrList.Add(key, supportConcepts2ServiceRecords[key]);
}
}
return base.GenerateServiceInvoices(costBearerOid, invoicePeriod, newSc2SrList);
}
public override void SetInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod,
IList<CompactSupportConceptDC> supportConceptList)
{
if (invoicePeriod != null)
{
accountingPeriodStart = invoicePeriod.StartDate;
accountingPeriodEnd = invoicePeriod.EndDate;
}
base.SetInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConceptList);
}
public override void SetInvoiceItems(ServiceInvoice invoice, ServiceInvoicePeriod serviceInvoicePeriod,
SupportConceptApprovalPeriodDC supportConceptApprovalPeriod, CostBearer2SupportConcept cb2sc,
DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
{
CreateFixedAmounts(serviceInvoicePeriod, supportConceptApprovalPeriod, cb2sc);
}
public override void CreateFixedAmounts(ServiceInvoicePeriod serviceInvoicePeriod, SupportConceptApprovalPeriodDC scap, CostBearer2SupportConcept cb2sc)
{
var calc = new CustomCalculations();
var c2s = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(cb2sc);
DateTime start = accountingPeriodStart.Value;
DateTime end = accountingPeriodEnd.Value;
if (scap.StartDate > start)
{
start = scap.StartDate.Value;
}
if (scap.EndDate < end)
{
end = scap.EndDate.Value;
}
var monate = DateTimeUtils.GetTotalMonths(start, end);
var stundenProMonat = calc.GetApprovedHoursForPeriod(c2s, scap, null, new DateTime(start.Year, start.Month, 1), new DateTime(start.Year, start.Month, 1).AddMonths(1).AddDays(-1), false) ?? 0;
var hours = monate.GanzeMonate * stundenProMonat;
if (monate.RestTageAnfang > 0)
{
if (start.Day > 15)
{
hours += stundenProMonat / 2;
}
else if (start.Day > 1)
{
hours += stundenProMonat;
}
}
if (monate.RestTageEnde > 0)
{
if (end.Day > 15)
{
hours += stundenProMonat;
}
else
{
hours += stundenProMonat / 2;
}
}
//var hours = calc.GetApprovedHoursForPeriod(c2s, scap, null, accountingPeriodStart, accountingPeriodEnd, false) ?? 0;
hours = Math.Round(hours, 2, MidpointRounding.AwayFromZero);
decimal hourlyRate = 0;
if (accountingPeriodStart.HasValue)
{
var crp = c2s.CostBearer.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.HourlyRate,
accountingPeriodStart.Value);
if (crp != null && crp.CostRateValue.HasValue)
{
hourlyRate = crp.CostRateValue.Value;
}
}
var ii = new InvoiceItem
{
ItemPeriodStart = accountingPeriodStart,
ItemPeriodEnd = accountingPeriodEnd,
AccountingInterval = AccountingIntervalType.Monthly,
AmountPerUnit = hourlyRate,
UnitCount = hours
};
ii.AmountTotal = ii.UnitCount * ii.AmountPerUnit;
ii.GrossAmountTotal = ii.AmountTotal;
serviceInvoicePeriod.InvoiceItemList.Add(ii);
}
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
Calculations calc)
{
return base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
}
}
}

View File

@@ -11,11 +11,7 @@ namespace FeidPartnerReports.Invoicing
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
{
return new CollectiveInvoiceCreation();
return new CollectiveInvoiceCreation();
}
}
}

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 FeidPartnerReports.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("FeidPartnerReports.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

@@ -83,7 +83,7 @@ namespace InklusioElmarBauer
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
this.lblUnterzeichner = new DevExpress.XtraReports.UI.XRLabel();
this.lblNotice = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -710,7 +710,7 @@ namespace InklusioElmarBauer
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel8,
this.xrLabel10,
this.xrLabel12,
this.lblUnterzeichner,
this.lblNotice,
this.xrTable4});
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
@@ -739,14 +739,14 @@ namespace InklusioElmarBauer
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Mit freundlichen Grüßen";
//
// xrLabel12
// lblUnterzeichner
//
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 209.5417F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(292F, 17.00002F);
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.Text = "[CreatorFirstName] [CreatorLastName]";
this.lblUnterzeichner.LocationFloat = new DevExpress.Utils.PointFloat(0F, 209.5417F);
this.lblUnterzeichner.Name = "lblUnterzeichner";
this.lblUnterzeichner.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblUnterzeichner.SizeF = new System.Drawing.SizeF(292F, 17.00002F);
this.lblUnterzeichner.StylePriority.UseFont = false;
this.lblUnterzeichner.Text = "[CreatorFirstName] [CreatorLastName]";
//
// lblNotice
//
@@ -921,7 +921,7 @@ namespace InklusioElmarBauer
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
private DevExpress.XtraReports.UI.XRLabel lblNotice;
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
private DevExpress.XtraReports.UI.XRLabel lblUnterzeichner;
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;

View File

@@ -48,6 +48,12 @@ namespace InklusioElmarBauer
}
lblAddress.Text = sb.ToString();
if (pRO.RecipientOrganisation.Contains("LVR"))
{
pRO.CreatorFirstName = "Elmar";
pRO.CreatorLastName = "Bauer";
}
this.bindingSource1.DataSource = pRO;
}
}

View File

@@ -75,7 +75,7 @@ namespace InklusioElmarBauer
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.lblUnterzeichner = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
@@ -594,17 +594,17 @@ namespace InklusioElmarBauer
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Weight = 3D;
//
// xrLabel14
// lblUnterzeichner
//
this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
this.lblUnterzeichner.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorName")});
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 184.5833F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(225F, 17F);
this.xrLabel14.StylePriority.UseFont = false;
this.xrLabel14.Text = "[CreatorName]";
this.lblUnterzeichner.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.lblUnterzeichner.LocationFloat = new DevExpress.Utils.PointFloat(0F, 184.5833F);
this.lblUnterzeichner.Name = "lblUnterzeichner";
this.lblUnterzeichner.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblUnterzeichner.SizeF = new System.Drawing.SizeF(225F, 17F);
this.lblUnterzeichner.StylePriority.UseFont = false;
this.lblUnterzeichner.Text = "[CreatorName]";
//
// xrLabel9
//
@@ -971,7 +971,7 @@ namespace InklusioElmarBauer
this.xrLabel1,
this.xrLabel9,
this.xrTable4,
this.xrLabel14,
this.lblUnterzeichner,
this.xrLabel15});
this.GroupFooter1.HeightF = 206.5833F;
this.GroupFooter1.Name = "GroupFooter1";
@@ -1045,7 +1045,7 @@ namespace InklusioElmarBauer
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
private DevExpress.XtraReports.UI.XRLabel lblUnterzeichner;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;

View File

@@ -29,6 +29,11 @@ namespace InklusioElmarBauer
SetzeAdresse(pRO);
if (pRO.RecipientOrganisation.Contains("LVR"))
{
pRO.CreatorName = "Elmar Bauer";
}
this.bindingSource1.DataSource = pRO;
}

View File

@@ -88,7 +88,7 @@ namespace InklusioElmarBauer
this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow24 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
this.lblUnterzeichner = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.lblNotice = new DevExpress.XtraReports.UI.XRLabel();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
@@ -553,7 +553,7 @@ namespace InklusioElmarBauer
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel10,
this.xrTable3,
this.xrLabel12,
this.lblUnterzeichner,
this.xrLabel11,
this.lblNotice});
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
@@ -691,14 +691,14 @@ namespace InklusioElmarBauer
this.xrTableCell31.Text = "xrTableCell8";
this.xrTableCell31.Weight = 3D;
//
// xrLabel12
// lblUnterzeichner
//
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 187F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(225F, 17F);
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.Text = "[CreatorName]";
this.lblUnterzeichner.LocationFloat = new DevExpress.Utils.PointFloat(0F, 187F);
this.lblUnterzeichner.Name = "lblUnterzeichner";
this.lblUnterzeichner.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblUnterzeichner.SizeF = new System.Drawing.SizeF(225F, 17F);
this.lblUnterzeichner.StylePriority.UseFont = false;
this.lblUnterzeichner.Text = "[CreatorName]";
//
// xrLabel11
//
@@ -1275,7 +1275,7 @@ namespace InklusioElmarBauer
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
private DevExpress.XtraReports.UI.XRLabel lblNotice;
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
private DevExpress.XtraReports.UI.XRLabel lblUnterzeichner;
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow rowErbrachteLeistung;

View File

@@ -54,7 +54,12 @@ namespace InklusioElmarBauer
}
pRO.RateFactor = (double)rateFactor;
this.bindingSource1.DataSource = pRO;
if (pRO.RecipientOrganisation.Contains("LVR"))
{
pRO.CreatorName = "Elmar Bauer";
}
this.bindingSource1.DataSource = pRO;
}
}
}

View File

@@ -50,15 +50,13 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
@@ -72,17 +70,19 @@ namespace MalteserJohanniterJohanneshaus
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -220,7 +220,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "xrTableCell8";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell8.Weight = 0.71003408152214509D;
this.xrTableCell8.Weight = 0.61791345670931419D;
//
// xrTableCell4
//
@@ -233,7 +233,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell4.Weight = 1.2967686888778636D;
this.xrTableCell4.Weight = 1.0629255829106306D;
//
// xrTableCell9
//
@@ -245,7 +245,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell9.Weight = 0.68027162715345546D;
this.xrTableCell9.Weight = 1.1833897828428281D;
//
// xrTableCell13
//
@@ -259,7 +259,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "xrTableCell13";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell13.Weight = 0.680272457563687D;
this.xrTableCell13.Weight = 0.588151936552135D;
//
// xrTableCell12
//
@@ -274,7 +274,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell12.Text = "xrTableCell12";
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell12.TextFormatString = "{0:0.00} €";
this.xrTableCell12.Weight = 0.6802720231248558D;
this.xrTableCell12.Weight = 0.59523811922709891D;
//
// GroupHeader2
//
@@ -284,91 +284,6 @@ namespace MalteserJohanniterJohanneshaus
this.GroupHeader2.Name = "GroupHeader2";
this.GroupHeader2.RepeatEveryPage = true;
//
// xrTable2
//
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable2.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(675F, 47.91667F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell2,
this.xrTableCell6,
this.xrTableCell7,
this.xrTableCell11,
this.xrTableCell10});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 1.9166667175292969D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Datum";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell5.Weight = 0.54421765246750631D;
//
// xrTableCell2
//
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Uhrzeit";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell2.Weight = 0.71003406316453976D;
//
// xrTableCell6
//
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Ort";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell6.Weight = 1.2967685346462559D;
//
// xrTableCell7
//
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 100F);
this.xrTableCell7.StylePriority.UsePadding = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Km-Stände";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell7.Weight = 0.6802720982516266D;
//
// xrTableCell11
//
this.xrTableCell11.Multiline = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 100F);
this.xrTableCell11.StylePriority.UsePadding = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "gefahrene Kilometer";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell11.Weight = 0.68027209825162671D;
//
// xrTableCell10
//
this.xrTableCell10.Multiline = true;
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 100F);
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "Kilometer-pauschale";
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell10.Weight = 0.68027206829497811D;
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -377,6 +292,73 @@ namespace MalteserJohanniterJohanneshaus
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
//
// xrTable3
//
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow3});
this.xrTable3.SizeF = new System.Drawing.SizeF(675.0001F, 25F);
this.xrTable3.StylePriority.UseBorders = false;
this.xrTable3.StylePriority.UsePadding = false;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell14,
this.xrTableCell18,
this.xrTableCell19});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 1D;
//
// xrTableCell14
//
this.xrTableCell14.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "Summe";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell14.Weight = 1.9188288194571848D;
//
// xrTableCell18
//
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Employees2Entries.TotalDistanceInMeters")});
this.xrTableCell18.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell18.Multiline = true;
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.StylePriority.UsePadding = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell18.Weight = 0.33110773322661285D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Employees2Entries.Entries.KilometerPauschale")});
this.xrTableCell19.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell19.Multiline = true;
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
this.xrTableCell19.StylePriority.UsePadding = false;
this.xrTableCell19.StylePriority.UseTextAlignment = false;
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell19.Summary = xrSummary1;
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell19.TextFormatString = "{0:0.00} €";
this.xrTableCell19.Weight = 0.33509744408414704D;
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsListRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -493,72 +475,90 @@ namespace MalteserJohanniterJohanneshaus
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrTable3
// xrTable2
//
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow3});
this.xrTable3.SizeF = new System.Drawing.SizeF(675.0001F, 25F);
this.xrTable3.StylePriority.UseBorders = false;
this.xrTable3.StylePriority.UsePadding = false;
this.xrTable2.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(675F, 47.91667F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
//
// xrTableRow3
// xrTableRow2
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell14,
this.xrTableCell18,
this.xrTableCell19});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 1D;
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell2,
this.xrTableCell6,
this.xrTableCell7,
this.xrTableCell11,
this.xrTableCell10});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 1.9166667175292969D;
//
// xrTableCell14
// xrTableCell5
//
this.xrTableCell14.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "Summe";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell14.Weight = 1.8190978603203507D;
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Datum";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell5.Weight = 0.54421765246750631D;
//
// xrTableCell18
// xrTableCell2
//
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Employees2Entries.TotalDistanceInMeters")});
this.xrTableCell18.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell18.Multiline = true;
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.StylePriority.UsePadding = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell18.Weight = 0.38296822700694266D;
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Uhrzeit";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell2.Weight = 0.6179133844583552D;
//
// xrTableCell19
// xrTableCell6
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Employees2Entries.Entries.KilometerPauschale")});
this.xrTableCell19.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell19.Multiline = true;
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
this.xrTableCell19.StylePriority.UsePadding = false;
this.xrTableCell19.StylePriority.UseTextAlignment = false;
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell19.Summary = xrSummary1;
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell19.TextFormatString = "{0:0.00} €";
this.xrTableCell19.Weight = 0.38296790944065129D;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Ort";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell6.Weight = 1.0629252679187093D;
//
// objectDataSource1
// xrTableCell7
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsListRO);
this.objectDataSource1.Name = "objectDataSource1";
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 100F);
this.xrTableCell7.StylePriority.UsePadding = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Zweck";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell7.Weight = 1.1833901610229498D;
//
// xrTableCell11
//
this.xrTableCell11.Multiline = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 100F);
this.xrTableCell11.StylePriority.UsePadding = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "gefahrene Kilometer";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell11.Weight = 0.58815199045248867D;
//
// xrTableCell10
//
this.xrTableCell10.Multiline = true;
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 100F);
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "Kilometer-pauschale";
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell10.Weight = 0.5952380587565238D;
//
// EmployeeKilometerauswertungsListReport
//
@@ -588,9 +588,9 @@ namespace MalteserJohanniterJohanneshaus
this.Watermarks.Add(xrWatermark1);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -612,11 +612,6 @@ namespace MalteserJohanniterJohanneshaus
private DevExpress.XtraReports.UI.XRControlStyle FieldCaption;
private DevExpress.XtraReports.UI.XRControlStyle PageInfo;
private DevExpress.XtraReports.UI.XRControlStyle DataField;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
private DevExpress.XtraReports.UI.DetailBand Detail2;
private DevExpress.XtraReports.UI.XRTable xrTable4;
@@ -633,15 +628,20 @@ namespace MalteserJohanniterJohanneshaus
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.DataAccess.ObjectBinding.ObjectDataSource objectDataSource1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
}
}

View File

@@ -47,6 +47,11 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -56,6 +61,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
@@ -70,15 +76,9 @@ namespace MalteserJohanniterJohanneshaus
this.fieldGroupFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
@@ -189,7 +189,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "xrTableCell8";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell8.Weight = 0.731292583446904D;
this.xrTableCell8.Weight = 0.61791340480867463D;
//
// xrTableCell4
//
@@ -202,7 +202,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell4.Weight = 1.2755101869531047D;
this.xrTableCell4.Weight = 1.0629252196061545D;
//
// xrTableCell9
//
@@ -214,7 +214,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell9.Weight = 0.68027162715345546D;
this.xrTableCell9.Weight = 1.1833903018492227D;
//
// xrTableCell13
//
@@ -228,7 +228,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "xrTableCell13";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell13.Weight = 0.680272457563687D;
this.xrTableCell13.Weight = 0.588151936552135D;
//
// xrTableCell12
//
@@ -243,7 +243,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell12.Text = "xrTableCell12";
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell12.TextFormatString = "{0:0.00} €";
this.xrTableCell12.Weight = 0.6802720231248558D;
this.xrTableCell12.Weight = 0.59523801542581989D;
//
// GroupFooter1
//
@@ -253,6 +253,68 @@ namespace MalteserJohanniterJohanneshaus
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
//
// xrTable3
//
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow3});
this.xrTable3.SizeF = new System.Drawing.SizeF(675.0001F, 25F);
this.xrTable3.StylePriority.UseBorders = false;
this.xrTable3.StylePriority.UsePadding = false;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell14,
this.xrTableCell18,
this.xrTableCell19});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 1D;
//
// xrTableCell14
//
this.xrTableCell14.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "Summe";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell14.Weight = 1.9188293453836027D;
//
// xrTableCell18
//
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalDistanceInMeters")});
this.xrTableCell18.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell18.Multiline = true;
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.StylePriority.UsePadding = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell18.Weight = 0.33110773322661285D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.KilometerPauschale")});
this.xrTableCell19.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell19.Multiline = true;
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
this.xrTableCell19.StylePriority.UsePadding = false;
this.xrTableCell19.StylePriority.UseTextAlignment = false;
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell19.Summary = xrSummary1;
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell19.TextFormatString = "{0:0.00} €";
this.xrTableCell19.Weight = 0.33509691815772913D;
//
// GroupHeader2
//
this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -302,7 +364,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Uhrzeit";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell1.Weight = 0.73129256554915334D;
this.xrTableCell1.Weight = 0.6179133844583552D;
//
// xrTableCell6
//
@@ -312,7 +374,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Ort";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell6.Weight = 1.2755100322616424D;
this.xrTableCell6.Weight = 1.0629252679187093D;
//
// xrTableCell7
//
@@ -320,9 +382,9 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 100F);
this.xrTableCell7.StylePriority.UsePadding = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Km-Stände";
this.xrTableCell7.Text = "Zweck";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell7.Weight = 0.6802720982516266D;
this.xrTableCell7.Weight = 1.1833901610229498D;
//
// xrTableCell11
//
@@ -333,7 +395,7 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "gefahrene Kilometer";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell11.Weight = 0.68027209825162671D;
this.xrTableCell11.Weight = 0.58815199045248867D;
//
// xrTableCell10
//
@@ -344,7 +406,12 @@ namespace MalteserJohanniterJohanneshaus
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "Kilometer-pauschale";
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell10.Weight = 0.68027206829497811D;
this.xrTableCell10.Weight = 0.5952380587565238D;
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// ReportHeader
//
@@ -470,73 +537,6 @@ namespace MalteserJohanniterJohanneshaus
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrTable3
//
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow3});
this.xrTable3.SizeF = new System.Drawing.SizeF(675.0001F, 25F);
this.xrTable3.StylePriority.UseBorders = false;
this.xrTable3.StylePriority.UsePadding = false;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell14,
this.xrTableCell18,
this.xrTableCell19});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 1D;
//
// xrTableCell14
//
this.xrTableCell14.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "Summe";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell14.Weight = 1.8190978603203507D;
//
// xrTableCell18
//
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalDistanceInMeters")});
this.xrTableCell18.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell18.Multiline = true;
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.StylePriority.UsePadding = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell18.Weight = 0.38296822700694266D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.KilometerPauschale")});
this.xrTableCell19.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell19.Multiline = true;
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
this.xrTableCell19.StylePriority.UsePadding = false;
this.xrTableCell19.StylePriority.UseTextAlignment = false;
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell19.Summary = xrSummary1;
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell19.TextFormatString = "{0:0.00} €";
this.xrTableCell19.Weight = 0.38296790944065129D;
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// EmployeeKilometerauswertungsReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -565,8 +565,8 @@ namespace MalteserJohanniterJohanneshaus
xrWatermark1.Id = "Watermark1";
this.Watermarks.Add(xrWatermark1);
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();

View File

@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.Eventing.Reader;
using System.Linq;
using System.Text;
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.Services;
using DevExpress.XtraPrinting.BarCode;
namespace MalteserJohanniterJohanneshaus.Invoicing
{
internal class CustomInvoiceNumberGenerator : InvoiceNumberGenerator
{
public override void IncreaseInvoiceNumber(int count, List<SettlementInvoice> settlementList)
{
List<ServiceInvoice> newInvoices = null;
if (settlementList != null && settlementList.Count > 0)
{
foreach (var i in settlementList)
{
i.InvoiceBase.InvoiceTypeText = "KSt.60-Spitzabrg";
}
}
IncreaseInvoiceNumberForServiceInvoices(count, newInvoices);
}
}
}

View File

@@ -1,4 +1,5 @@
using BeWo.Data.Entities;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.Invoicing;
using BS.Shared.DataContracts;
using BS.Shared.Services;
@@ -14,21 +15,5 @@ namespace MalteserJohanniterJohanneshaus
{
return false;
}
//public override Settlement2DC GenerateSettlementInvoice(CostBearer2SupportConcept c2s, DateTime? periodStart, DateTime? periodEnd)
//{
// Settlement2DC settlementInvoice = new Settlement2DC();
// settlementInvoice = base.GenerateSettlementInvoice(c2s, periodStart, periodEnd);
// if (settlementInvoice.InvoiceItems == null || settlementInvoice.InvoiceItems.Count == 0)
// {
// foreach (var ii in settlementInvoice.InvoiceItems)
// {
// ii.ItemDescription = "KSt.60-Spitzabr.";
// }
// }
// return settlementInvoice;
//}
}
}
}

View File

@@ -100,6 +100,7 @@
<Compile Include="Invoicing\CollectiveInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\CustomInvoiceNumberGenerator.cs" />
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
<Compile Include="Invoicing\SoziotherapieInvoiceCreation.cs" />
<Compile Include="Mitarbeiterarbeitszeitkonto.cs">

View File

@@ -77,6 +77,7 @@
<Compile Include="Sammelrechnung.Designer.cs">
<DependentUpon>Sammelrechnung.cs</DependentUpon>
</Compile>
<Compile Include="Service\CustomAccountingService.cs" />
<Compile Include="SettlementReport.cs">
<SubType>Component</SubType>
</Compile>

View File

@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.DataContracts;
namespace ProBalance.Service
{
public class CustomAccountingService : AccountingService
{
public override ServiceInvoice ErstelleStornoRechnung(InvoiceBaseDC ibdc)
{
var i = base.ErstelleStornoRechnung(ibdc);
//if (!String.IsNullOrEmpty(i.InvoiceBase.InvoiceNumber))
//{
// //i.InvoiceBase.InvoiceNumber = ibdc.InvoiceNumber + " Storno";
// i.InvoiceBase.InvoiceNumber = i.InvoiceBase.InvoiceNumber + " Storno";
//}
int invoiceCounter = 0;
var inc = PluginLoader.FindClass<InvoiceNumberGenerator>();
i.InvoiceBase.InvoiceNumber = inc.GetNextInvoiceNumber(invoiceCounter, i.InvoiceBase) + " Storno";
if (String.IsNullOrEmpty(i.InvoiceBase.InvoiceTypeText))
{
i.InvoiceBase.InvoiceTypeText = "Storno";
}
else
{
i.InvoiceBase.InvoiceTypeText += " Storno";
}
DAOFactory.GenericDAO.Insert(i);
inc.IncreaseInvoiceNumber(1, null);
return i;
}
}
}

View File

@@ -1,319 +1,319 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using System;
using System.Collections.Generic;
using System.Linq;
namespace BeWo.Service.Invoicing
{
[IDSpecificClass(Identifier = "Soziotherapie")]
public class SoziotherapieInvoiceCreation : InvoiceCreation
{
public SoziotherapieInvoiceCreation() : base()
{
//Wichtig für Finanzauswertung. Hier sollen entweder nur die normalen Therapieeinheiten oder nur die Hausbesuchspauschale berechnet werden
ErstelleTherapieeinheiten = true;
ErstelleHausbesuchspauschale = true;
}
public bool ErstelleTherapieeinheiten { get; set; }
public bool ErstelleHausbesuchspauschale { get; set; }
public override void SetInvoiceId(ServiceInvoice invoice)
{
invoice.InvoiceBase.InvoiceId = "RechnungSoziotherapie";
invoice.InvoiceBase.InvoiceTypeText = "Soziotherapie";
}
public override ServiceInvoice CreateSingleInvoice(int invoiceCounter, CostBearer costBearer, DateTimeSpan invoicePeriod, CompactSupportConceptDC supportConcept, List<ServiceRecordDC> serviceRecords)
{
var invoice = base.CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, supportConcept, serviceRecords);
if (invoicePeriod != null)
{
SetAmountEquityContribution(invoice);
}
return invoice;
}
public override void SetAmountEquityContribution(ServiceInvoice invoice)
{
decimal equity = 0;
IList<InvoiceBase> EquityInvoiceList = DAOFactory.SearchDAO.GetInvoiceBaseByTypeAndSupportConceptOid(InvoiceType.CustomerEquity, invoice.InvoiceBase.SupportConceptOid.Value);
EquityInvoiceList = EquityInvoiceList.Where(i =>
{
if (i.AccountingPeriodEnd >= invoice.InvoiceBase.AccountingPeriodStart && i.AccountingPeriodStart <= invoice.InvoiceBase.AccountingPeriodEnd)
{
return true;
}
return false;
}).ToList();
foreach (InvoiceBase iEquityInvoice in EquityInvoiceList)
{
foreach (InvoiceItem item in iEquityInvoice.InvoiceItems)
{
if (item.AmountTotal != null)
{
equity += item.AmountTotal.Value;
}
}
}
invoice.AmountEquityContribution = equity;
}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC serviceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
{
var ii = base.CreateInvoiceItem(serviceRecord, scap, calc);
ii.ItemDescription = serviceRecord.ServiceDescription.Name;
var sozioLeistung = ii.ItemDescription.ToLower();
if (sozioLeistung.Contains("gruppe"))
AktualisierePreis(ii, GetGruppenPreis(scap.CostBearer2SupportConcept, serviceRecord.Start.Value));
else
AktualisierePreis(ii, GetEinzelPreis(scap.CostBearer2SupportConcept, serviceRecord.Start.Value));
ii.UnitDescription = ErmittleGPosNummer(serviceRecord, sozioLeistung);
return ii;
}
public virtual InvoiceItem CreateInvoiceItemFactor(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
{
return CreateInvoiceItem(iServiceRecord, scap, calc);
}
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
BS.Shared.Services.Calculations calc)
{
var list = new List<InvoiceItem>();
if (ErstelleTherapieeinheiten)
{
list = (List<InvoiceItem>)base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
}
if (ErstelleHausbesuchspauschale)
{
var ii = CreateHausbesuchspauschale(serviceRecordsInPeriod, invoicePeriod, scap);
list.AddRange(ii);
}
return list;
}
public virtual IList<InvoiceItem> CreateHausbesuchspauschale(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap)
{
IList<InvoiceItem> items = new List<InvoiceItem>();
decimal hausbesuchspauschale = GetHausbesuchspauschale(scap.CostBearer2SupportConcept, invoicePeriod.StartDate);
var date2hausbesuch = new Dictionary<DateTime, int>();
foreach (var sr in serviceRecordsInPeriod)
{
if (sr.ServiceDescription.Name.ToLower().Contains("aufsuchend"))
{
var date = sr.Start.Value.Date;
if (date2hausbesuch.ContainsKey(date))
{
date2hausbesuch[date]++;
}
else
{
date2hausbesuch.Add(date, 1);
}
}
}
if (!date2hausbesuch.Any())
return items;
foreach (var kvp in date2hausbesuch)
{
var date = kvp.Key;
var count = kvp.Value;
var invoiceItem = new InvoiceItem();
decimal anzahlHausbesuche = count;
invoiceItem.AmountPerUnit = hausbesuchspauschale;
invoiceItem.UnitCount = anzahlHausbesuche;
invoiceItem.AmountTotal = anzahlHausbesuche * hausbesuchspauschale;
invoiceItem.ItemPeriodStart = date;
invoiceItem.ItemPeriodEnd = date;
invoiceItem.RateFactor = null;
invoiceItem.GrossAmountTotal = invoiceItem.AmountTotal;
invoiceItem.ItemDescription = "Hausbesuchspauschale";
invoiceItem.UnitDescription = "GPos: 2009690";
if (scap != null)
invoiceItem.SupportConceptApprovalPeriodOid = scap.Oid;
items.Add(invoiceItem);
}
return items;
}
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using System;
using System.Collections.Generic;
using System.Linq;
namespace BeWo.Service.Invoicing
{
[IDSpecificClass(Identifier = "Soziotherapie")]
public class SoziotherapieInvoiceCreation : InvoiceCreation
{
public SoziotherapieInvoiceCreation() : base()
{
//Wichtig für Finanzauswertung. Hier sollen entweder nur die normalen Therapieeinheiten oder nur die Hausbesuchspauschale berechnet werden
ErstelleTherapieeinheiten = true;
ErstelleHausbesuchspauschale = true;
}
public bool ErstelleTherapieeinheiten { get; set; }
public bool ErstelleHausbesuchspauschale { get; set; }
public override void SetInvoiceId(ServiceInvoice invoice)
{
invoice.InvoiceBase.InvoiceId = "RechnungSoziotherapie";
invoice.InvoiceBase.InvoiceTypeText = "Soziotherapie";
}
public override ServiceInvoice CreateSingleInvoice(int invoiceCounter, CostBearer costBearer, DateTimeSpan invoicePeriod, CompactSupportConceptDC supportConcept, List<ServiceRecordDC> serviceRecords)
{
var invoice = base.CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, supportConcept, serviceRecords);
if (invoicePeriod != null)
{
SetAmountEquityContribution(invoice);
}
return invoice;
}
public override void SetAmountEquityContribution(ServiceInvoice invoice)
{
decimal equity = 0;
IList<InvoiceBase> EquityInvoiceList = DAOFactory.SearchDAO.GetInvoiceBaseByTypeAndSupportConceptOid(InvoiceType.CustomerEquity, invoice.InvoiceBase.SupportConceptOid.Value);
EquityInvoiceList = EquityInvoiceList.Where(i =>
{
if (i.AccountingPeriodEnd >= invoice.InvoiceBase.AccountingPeriodStart && i.AccountingPeriodStart <= invoice.InvoiceBase.AccountingPeriodEnd)
{
return true;
}
return false;
}).ToList();
foreach (InvoiceBase iEquityInvoice in EquityInvoiceList)
{
foreach (InvoiceItem item in iEquityInvoice.InvoiceItems)
{
if (item.AmountTotal != null)
{
equity += item.AmountTotal.Value;
}
}
}
invoice.AmountEquityContribution = equity;
}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC serviceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
{
var ii = base.CreateInvoiceItem(serviceRecord, scap, calc);
ii.ItemDescription = serviceRecord.ServiceDescription.Name;
var sozioLeistung = ii.ItemDescription.ToLower();
if (sozioLeistung.Contains("gruppe"))
AktualisierePreis(ii, GetGruppenPreis(scap.CostBearer2SupportConcept, serviceRecord.Start.Value));
else
AktualisierePreis(ii, GetEinzelPreis(scap.CostBearer2SupportConcept, serviceRecord.Start.Value));
ii.UnitDescription = ErmittleGPosNummer(serviceRecord, sozioLeistung);
return ii;
}
public virtual InvoiceItem CreateInvoiceItemFactor(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
{
return CreateInvoiceItem(iServiceRecord, scap, calc);
}
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
BS.Shared.Services.Calculations calc)
{
var list = new List<InvoiceItem>();
if (ErstelleTherapieeinheiten)
{
list = (List<InvoiceItem>)base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
}
if (ErstelleHausbesuchspauschale)
{
var ii = CreateHausbesuchspauschale(serviceRecordsInPeriod, invoicePeriod, scap);
list.AddRange(ii);
}
return list;
}
public virtual IList<InvoiceItem> CreateHausbesuchspauschale(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap)
{
IList<InvoiceItem> items = new List<InvoiceItem>();
decimal hausbesuchspauschale = GetHausbesuchspauschale(scap.CostBearer2SupportConcept, invoicePeriod.StartDate);
var date2hausbesuch = new Dictionary<DateTime, int>();
foreach (var sr in serviceRecordsInPeriod)
{
if (sr.ServiceDescription.Name.ToLower().Contains("aufsuchend"))
{
var date = sr.Start.Value.Date;
if (date2hausbesuch.ContainsKey(date))
{
date2hausbesuch[date]++;
}
else
{
date2hausbesuch.Add(date, 1);
}
}
}
if (!date2hausbesuch.Any())
return items;
foreach (var kvp in date2hausbesuch)
{
var date = kvp.Key;
var count = kvp.Value;
var invoiceItem = new InvoiceItem();
decimal anzahlHausbesuche = count;
invoiceItem.AmountPerUnit = hausbesuchspauschale;
invoiceItem.UnitCount = anzahlHausbesuche;
invoiceItem.AmountTotal = anzahlHausbesuche * hausbesuchspauschale;
invoiceItem.ItemPeriodStart = date;
invoiceItem.ItemPeriodEnd = date;
invoiceItem.RateFactor = null;
invoiceItem.GrossAmountTotal = invoiceItem.AmountTotal;
invoiceItem.ItemDescription = "Hausbesuchspauschale";
invoiceItem.UnitDescription = "GPos: 2009690";
if (scap != null)
invoiceItem.SupportConceptApprovalPeriodOid = scap.Oid;
items.Add(invoiceItem);
}
return items;
}
protected void AktualisierePreis(InvoiceItem invoiceItem, decimal preis)
{
{
if (preis > 0)
{
invoiceItem.AmountPerUnit = preis;
invoiceItem.AmountTotal = invoiceItem.AmountPerUnit * invoiceItem.UnitCount;
invoiceItem.GrossAmountTotal = invoiceItem.AmountTotal;
}
}
{
invoiceItem.AmountPerUnit = preis;
invoiceItem.AmountTotal = invoiceItem.AmountPerUnit * invoiceItem.UnitCount;
invoiceItem.GrossAmountTotal = invoiceItem.AmountTotal;
}
}
protected virtual string ErmittleGPosNummer(ServiceRecordDC serviceRecord, string sozioLeistung)
{
string unitDescription = "";
var duration = serviceRecord.RoundedDuration;
if (sozioLeistung.Contains("gruppe"))
{
if (duration <= 45)
unitDescription = "GPos: 2002678";
else if (duration <= 60)
unitDescription = "GPos: 2002677";
else
if (sozioLeistung.Contains("gruppe"))
{
if (duration <= 45)
unitDescription = "GPos: 2002678";
else if (duration <= 60)
unitDescription = "GPos: 2002677";
else
unitDescription = "GPos: 2002672"; // 90 min, 2-5 Personen
}
else if (sozioLeistung.Contains("video"))
{
if (duration <= 30)
unitDescription = "GPos: 2001616";
else
unitDescription = "GPos: 2001615";
}
else if (sozioLeistung.Contains("telefon"))
{
if (duration <= 30)
unitDescription = "GPos: 2001618";
else
unitDescription = "GPos: 2001617";
}
else if (sozioLeistung.Contains("aufsuchende probatorik") || sozioLeistung.Contains("büroprobatorik"))
{
unitDescription = "GPos: 2001607";
}
else if (sozioLeistung.Contains("aufsuchende einheit") || sozioLeistung.Contains("büroeinheit"))
{
if (duration <= 10)
unitDescription = "GPos: 2001613";
else if (duration <= 30)
unitDescription = "GPos: 2001612";
else if (duration <= 45)
unitDescription = "GPos: 2001611";
else
unitDescription = "GPos: 2001610";
}
}
else if (sozioLeistung.Contains("video"))
{
if (duration <= 30)
unitDescription = "GPos: 2001616";
else
unitDescription = "GPos: 2001615";
}
else if (sozioLeistung.Contains("telefon"))
{
if (duration <= 30)
unitDescription = "GPos: 2001618";
else
unitDescription = "GPos: 2001617";
}
else if (sozioLeistung.Contains("aufsuchende probatorik") || sozioLeistung.Contains("büroprobatorik"))
{
unitDescription = "GPos: 2001607";
}
else if (sozioLeistung.Contains("aufsuchende einheit") || sozioLeistung.Contains("büroeinheit"))
{
if (duration <= 10)
unitDescription = "GPos: 2001613";
else if (duration <= 30)
unitDescription = "GPos: 2001612";
else if (duration <= 45)
unitDescription = "GPos: 2001611";
else
unitDescription = "GPos: 2001610";
}
return unitDescription;
}
private decimal GetHausbesuchspauschale(CostBearer2SupportConcept c2s, DateTime dt)
{
String preisName = "Hausbesuchspauschale Primärkasse";
if (c2s.CostBearer.Organisation.Function != null)
{
if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse"))
{
preisName = "Hausbesuchspauschale Ersatzkasse";
}
}
return base.GetPreis(preisName, dt);
}
protected decimal GetGruppenPreis(CostBearer2SupportConcept c2s, DateTime dt)
{
String preisName = "Gruppentherapie Primärkasse";
if (c2s.CostBearer.Organisation.Function != null)
{
if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse"))
{
preisName = "Gruppentherapie Ersatzkasse";
}
}
return base.GetPreis(preisName, dt);
}
protected decimal GetEinzelPreis(CostBearer2SupportConcept c2s, DateTime dt)
{
String preisName = "Einzelstunde Primärkasse";
if (c2s.CostBearer.Organisation.Function != null)
{
if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse"))
{
preisName = "Einzelstunde Ersatzkasse";
}
}
return base.GetPreis(preisName, dt);
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
{
var newlist = new List<InvoiceItem>();
var rateToItem = new Dictionary<String, InvoiceItem>();
foreach (InvoiceItem iitem in itemList)
{
InvoiceItem item;
var key = String.Format("{0}_{1}_{2:yyyyMMdd}_{3}", iitem.AmountPerUnit, iitem.RateFactor, iitem.ItemPeriodStart, iitem.UnitDescription);
if (rateToItem.ContainsKey(key))
{
item = rateToItem[key];
}
else
{
item = new InvoiceItem();
newlist.Add(item);
item.AmountPerUnit = iitem.AmountPerUnit;
item.ItemPeriodStart = iitem.ItemPeriodStart.Value.Date;
item.ItemPeriodEnd = iitem.ItemPeriodEnd.Value.Date;
item.RateFactor = iitem.RateFactor;
item.AccountingInterval = iitem.AccountingInterval;
item.ItemDescription = iitem.ItemDescription;
item.UnitDescription = iitem.UnitDescription;
item.SupportConceptApprovalPeriodOid = scap.Oid;
item.ServiceRecord = iitem.ServiceRecord;
rateToItem[key] = item;
}
if (!item.UnitCount.HasValue)
{
item.UnitCount = 0;
}
item.UnitCount += iitem.UnitCount ?? 0;
}
BerechneSummaryItemsSummen(newlist, addRateFactorToUnitCount);
return newlist;
}
}
}
}
private decimal GetHausbesuchspauschale(CostBearer2SupportConcept c2s, DateTime dt)
{
String preisName = "Hausbesuchspauschale Primärkasse";
if (c2s.CostBearer.Organisation.Function != null)
{
if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse"))
{
preisName = "Hausbesuchspauschale Ersatzkasse";
}
}
return base.GetPreis(preisName, dt);
}
protected decimal GetGruppenPreis(CostBearer2SupportConcept c2s, DateTime dt)
{
String preisName = "Gruppentherapie Primärkasse";
if (c2s.CostBearer.Organisation.Function != null)
{
if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse"))
{
preisName = "Gruppentherapie Ersatzkasse";
}
}
return base.GetPreis(preisName, dt);
}
protected decimal GetEinzelPreis(CostBearer2SupportConcept c2s, DateTime dt)
{
String preisName = "Einzelstunde Primärkasse";
if (c2s.CostBearer.Organisation.Function != null)
{
if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse"))
{
preisName = "Einzelstunde Ersatzkasse";
}
}
return base.GetPreis(preisName, dt);
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
{
var newlist = new List<InvoiceItem>();
var rateToItem = new Dictionary<String, InvoiceItem>();
foreach (InvoiceItem iitem in itemList)
{
InvoiceItem item;
var key = String.Format("{0}_{1}_{2:yyyyMMdd}_{3}", iitem.AmountPerUnit, iitem.RateFactor, iitem.ItemPeriodStart, iitem.UnitDescription);
if (rateToItem.ContainsKey(key))
{
item = rateToItem[key];
}
else
{
item = new InvoiceItem();
newlist.Add(item);
item.AmountPerUnit = iitem.AmountPerUnit;
item.ItemPeriodStart = iitem.ItemPeriodStart.Value.Date;
item.ItemPeriodEnd = iitem.ItemPeriodEnd.Value.Date;
item.RateFactor = iitem.RateFactor;
item.AccountingInterval = iitem.AccountingInterval;
item.ItemDescription = iitem.ItemDescription;
item.UnitDescription = iitem.UnitDescription;
item.SupportConceptApprovalPeriodOid = scap.Oid;
item.ServiceRecord = iitem.ServiceRecord;
rateToItem[key] = item;
}
if (!item.UnitCount.HasValue)
{
item.UnitCount = 0;
}
item.UnitCount += iitem.UnitCount ?? 0;
}
BerechneSummaryItemsSummen(newlist, addRateFactorToUnitCount);
return newlist;
}
}
}

View File

@@ -40,6 +40,11 @@ namespace BeWo.Service.ServiceContracts
[RequirePermission(UserRightType.AiModuleChatAdd)]
AiConversationDC CreateAiConversation(AiConversationDC conversation, long modell_oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleChatAdd)]
AiConversationDC CreateAiConversationWithMessage(AiConversationDC conversation, long modell_oid, string message);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleChatClone)]

View File

@@ -21,6 +21,7 @@ using System.Linq;
using System.Runtime.ExceptionServices;
using System.Security.Cryptography;
using System.ServiceModel;
using System.ServiceModel.Description;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -106,34 +107,50 @@ namespace BeWo.Service.ServiceImplementations
}
public AiConversationDC CreateAiConversation(AiConversationDC conversation, long modell_oid)
{
var conv = CreateAiConversation(conversation.UIContext, conversation.ContextBeWoObjects, modell_oid);
var conv_dc = MapperFactory.AiConversation.MapToNewDC(conv);
return conv_dc;
}
private AiConversation CreateAiConversation(int uicontext, Dictionary<TableID, long[]> context , long modell_oid) {
var current_user = UserRightHelper.GetLoggedInUserWithOid();
var system_prompt = AiPromptFactory.CreateSystemInstructions(conversation.UIContext, conversation.ContextBeWoObjects);
var system_prompt = AiPromptFactory.CreateSystemInstructions(uicontext, context);
var conv = new AiConversation();
conv.Created = DateTime.Now;
conv.ContextBeWoObjects = MapperFactory.AiConversation.Parse(conversation.ContextBeWoObjects);
conv.ContextBeWoObjects = MapperFactory.AiConversation.Parse(context);
conv.Displayname = "Displayname";
conv.Messages = new List<AiConversationMessage>();
conv.Modell = DAOFactory.GenericDAO.LoadByID<AiModel>(modell_oid);
conv.UIContext = conversation.UIContext;
conv.UIContext = uicontext;
conv.Updated = DateTime.Now;
conv.ApplicationUserOid = current_user.Oid;
var msg = new AiConversationMessage();
msg.Message = system_prompt;
msg.AiConversation = conv;
msg.Role = BS.Shared.AiConversationMessageRole.System;
msg.Role = AiConversationMessageRole.System;
msg.Created = DateTime.Now;
conv.Messages.Add(msg);
DAOFactory.GenericDAO.Insert(conv);
var dc = MapperFactory.AiConversation.MapToNewDC(conv);
return dc;
return conv;
}
public AiConversationDC CreateAiConversationWithMessage(AiConversationDC conversation, long modell_oid, string message)
{
var conv = CreateAiConversation(conversation.UIContext, conversation.ContextBeWoObjects, modell_oid);
var new_messages = SendNewMessage(conv, message);
var conv_dc = MapperFactory.AiConversation.MapToNewDC(conv);
return conv_dc;
}
public AiConversationDC CloneAiConversation(long conversation_oid, long? last_message_oid)
{
var parent_conv = DAOFactory.GenericDAO.GetByID<AiConversation>(conversation_oid);
@@ -186,6 +203,11 @@ namespace BeWo.Service.ServiceImplementations
{
var conv = DAOFactory.GenericDAO.LoadByID<AiConversation>(conversation);
return SendNewMessage(conv, message);
}
private AiConversationMessageDC[] SendNewMessage(AiConversation conv, string message)
{
// Updated
conv.Updated = DateTime.Now;

View File

@@ -21,6 +21,8 @@ namespace BS.Shared.Core
error = "Keine Rechnungen gefunden";
else if (!AreAllAddressSame(invoiceBases))
error = "Unterschiedliche Rechnungspositionen";
else if (GetInvalidUnitDescription(invoiceBases) is IInvoiceItem invalid)
error = $"Ungültige Rechnungsposition: {invalid.ItemDescription}:{invalid.UnitDescription}";
if(error is string)
throw new GkvException(error, "Validierung");
@@ -42,5 +44,21 @@ namespace BS.Shared.Core
public static bool AreAllAddressSame(IEnumerable<IInvoiceBase> invoiceBases)
=> invoiceBases.Select(x => x.SenderAddressToString()).AreAllTheSame();
public static IInvoiceItem GetInvalidUnitDescription(IEnumerable<IInvoiceBase> invoiceBases){
foreach(var invoiceBase in invoiceBases)
{
foreach (var invoiceitem in invoiceBase.IInvoiceItems)
{
// GPos. 123456
// 0123456
var desc = invoiceitem.UnitDescription;
if (desc.Length < 8)
return invoiceitem;
}
}
return null;
}
}
}

View File

@@ -123,6 +123,8 @@ namespace BS.Shared.DataContracts
}
}
public IList<IInvoiceItem> IInvoiceItems => throw new NotImplementedException();
public bool ContainsRecipientAddressData()
{
return !Utils.AreAllNullOrEmpty(this.RecipientStreet, this.RecipientPostCode, this.RecipientTown);

View File

@@ -1,3 +1,4 @@
using BS.Shared.Interface;
using System;
using System.Collections.Generic;
using System.Diagnostics;

View File

@@ -11,5 +11,6 @@ namespace BS.Shared.Interface
string SenderStreet { get; }
string SenderTown { get; }
string SenderPostCode { get; }
IList<IInvoiceItem> IInvoiceItems { get; }
}
}

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.Interface
{
public interface IInvoiceItem
{
string UnitDescription { get; }
string ItemDescription { get; }
}
}

View File

@@ -391,6 +391,7 @@
<Compile Include="Interface\IGkvTransferProtokoll.cs" />
<Compile Include="Interface\IInvoiceBase.cs" />
<Compile Include="Interface\IOrganisation.cs" />
<Compile Include="Interface\IInvoiceItem.cs" />
<Compile Include="Packet.cs" />
<Compile Include="ReportRequests\AbstractReportRequest.cs" />
<Compile Include="ReportRequests\GkvAbrechnungReportRequest.cs" />