Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
});
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<NameOfLastUsedPublishProfile>BeWo2.0</NameOfLastUsedPublishProfile>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
|
||||
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
|
||||
<Use64BitIISExpress>false</Use64BitIISExpress>
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressAnonymousAuthentication />
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -29,6 +29,11 @@ namespace InklusioElmarBauer
|
||||
|
||||
SetzeAdresse(pRO);
|
||||
|
||||
if (pRO.RecipientOrganisation.Contains("LVR"))
|
||||
{
|
||||
pRO.CreatorName = "Elmar Bauer";
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
138
ReportImp/KetteReports/CustomReportCreator.cs
Normal file
138
ReportImp/KetteReports/CustomReportCreator.cs
Normal file
@@ -0,0 +1,138 @@
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Report.DefaultReports;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace KetteReports
|
||||
{
|
||||
public class CustomReportCreator : DefaultReportCreator
|
||||
{
|
||||
public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
|
||||
{
|
||||
List<ServicesOverviewRO> lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
|
||||
|
||||
if (lROs.Count > 0)
|
||||
{
|
||||
var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid);
|
||||
if (rootReport.Pages.Count == 0)
|
||||
{
|
||||
rootReport.CreateDocument();
|
||||
}
|
||||
|
||||
for (int i = 1; i < lROs.Count; i++)
|
||||
{
|
||||
var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid);
|
||||
if (lNext.Pages.Count == 0)
|
||||
{
|
||||
lNext.CreateDocument();
|
||||
}
|
||||
rootReport.Pages.AddRange(lNext.Pages);
|
||||
}
|
||||
return rootReport;
|
||||
}
|
||||
return new XtraReport();
|
||||
}
|
||||
|
||||
|
||||
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
|
||||
{
|
||||
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
|
||||
|
||||
return CreateServicesOverviewReportForRo(ro, serviceCategoryOid);
|
||||
}
|
||||
|
||||
public override XtraReport CreateServiceOverviewReportForCustomers(IList<long> customerOids, int month, int year, long? orgaOid, long? empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende)
|
||||
{
|
||||
var roList = new List<ServicesOverviewRO>();
|
||||
|
||||
foreach (var coid in customerOids)
|
||||
{
|
||||
var ro = ServicesOverviewRO.Create(coid, month, year, true, orgaOid ?? 0, empOid ?? 0, startDay, endDay, serviceCategoryOid);
|
||||
if (ro != null)
|
||||
{
|
||||
roList.Add(ro);
|
||||
}
|
||||
}
|
||||
|
||||
if (roList.Count > 0)
|
||||
{
|
||||
var rootReport = CreateServicesOverviewReportForRo(roList[0], serviceCategoryOid);
|
||||
rootReport.CreateDocument();
|
||||
for (int i = 1; i < roList.Count; i++)
|
||||
{
|
||||
var lNext = CreateServicesOverviewReportForRo(roList[i], serviceCategoryOid);
|
||||
lNext.CreateDocument();
|
||||
rootReport.Pages.AddRange(lNext.Pages);
|
||||
}
|
||||
|
||||
return rootReport;
|
||||
}
|
||||
|
||||
return new XtraReport();
|
||||
}
|
||||
|
||||
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
|
||||
{
|
||||
ServicesOverviewRO defaultRo = ServicesOverviewRO.CopyFromRO(ro);
|
||||
ServicesOverviewRO sozioRo = ServicesOverviewRO.CopyFromRO(ro);
|
||||
|
||||
if (ro.Services != null)
|
||||
{
|
||||
foreach (ServicesOverviewRO.ServiceDetail s in ro.Services)
|
||||
{
|
||||
ServicesOverviewRO.CreateSignatureString(s);
|
||||
|
||||
if (s.ServiceCategory.ToLower().Contains("sozio"))
|
||||
{
|
||||
sozioRo.Services.Add(s);
|
||||
}
|
||||
else
|
||||
{
|
||||
defaultRo.Services.Add(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
XtraReport report = null;
|
||||
report = AddReportToReport<Quittierungsbeleg>(report, defaultRo);
|
||||
report = AddReportToReport<LeistungsnachweisSoziotherapie>(report, sozioRo);
|
||||
|
||||
if (report == null)
|
||||
report = new XtraReport();
|
||||
|
||||
return report;
|
||||
}
|
||||
|
||||
public override XtraReport CreateReportForServicesOverviewRo(ServicesOverviewRO ro, string reportId)
|
||||
{
|
||||
return CreateServicesOverviewReportForRo(ro, null);
|
||||
}
|
||||
|
||||
private XtraReport AddReportToReport<T>(XtraReport report, ServicesOverviewRO ro) where T : XtraReport, IBeWoReport<ServicesOverviewRO>, new()
|
||||
{
|
||||
if (ro.Services.Count > 0)
|
||||
{
|
||||
if (report == null)
|
||||
{
|
||||
report = new T();
|
||||
((T)report).SetReportDataSource(ro);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (report.Pages.Count == 0)
|
||||
{
|
||||
report.CreateDocument();
|
||||
}
|
||||
|
||||
XtraReport newReport = new T();
|
||||
((T)newReport).SetReportDataSource(ro);
|
||||
|
||||
newReport.CreateDocument();
|
||||
report.Pages.AddRange(newReport.Pages);
|
||||
}
|
||||
}
|
||||
return report;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,12 +25,25 @@ namespace KetteReports.Invoicing
|
||||
{
|
||||
return new SelbstzahlerInvoiceCreation();
|
||||
}
|
||||
else
|
||||
return new CustomInvoiceCreation();
|
||||
else
|
||||
{
|
||||
foreach (var sr in item.Value)
|
||||
{
|
||||
var cat = sr.ServiceDescription.Category;
|
||||
|
||||
if (sr.CostBearer != null && !sr.CostBearer.Name.Contains("LWL") && !sr.CostBearer.Name.Contains("LVR") &&
|
||||
!String.IsNullOrEmpty(cat.Name) && cat.Name.ToLower().Contains("soziotherapie"))
|
||||
{
|
||||
return new SoziotherapieInvoiceCreation();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return new CustomInvoiceCreation();
|
||||
}
|
||||
|
||||
return base.CreateInvoiceCreator(specificId, tenant, supportConcepts2ServiceRecords);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,6 +121,7 @@
|
||||
<Compile Include="CustomMitarbeiterstundenkontoBerechnung.cs" />
|
||||
<Compile Include="CustomMitarbeiterstundenkontoBerechnungMonate.cs" />
|
||||
<Compile Include="CustomMitarbeiterstundenkontoBerechnungTagesansicht.cs" />
|
||||
<Compile Include="CustomReportCreator.cs" />
|
||||
<Compile Include="EmployeeKilometerauswertungsListReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -153,6 +154,12 @@
|
||||
<Compile Include="FLSListReport.Designer.cs">
|
||||
<DependentUpon>FLSListReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="LeistungsnachweisSoziotherapie.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="LeistungsnachweisSoziotherapie.designer.cs">
|
||||
<DependentUpon>LeistungsnachweisSoziotherapie.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ListeAbschlagszahlungen.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -205,6 +212,12 @@
|
||||
<Compile Include="SettlementReport2.Designer.cs">
|
||||
<DependentUpon>SettlementReport2.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SoziotherapieRechnung.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SoziotherapieRechnung.Designer.cs">
|
||||
<DependentUpon>SoziotherapieRechnung.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SozPsychErfassungBeratungRO.cs" />
|
||||
<Compile Include="InvoiceCustomerReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
@@ -259,6 +272,9 @@
|
||||
<DependentUpon>FLSListReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="LeistungsnachweisSoziotherapie.resx">
|
||||
<DependentUpon>LeistungsnachweisSoziotherapie.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ListeAbschlagszahlungen.resx">
|
||||
<DependentUpon>ListeAbschlagszahlungen.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -304,6 +320,10 @@
|
||||
<DependentUpon>SettlementReport2.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SoziotherapieRechnung.resx">
|
||||
<DependentUpon>SoziotherapieRechnung.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Teamstundenkonto.resx">
|
||||
<DependentUpon>Teamstundenkonto.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
165
ReportImp/KetteReports/LeistungsnachweisSoziotherapie.cs
Normal file
165
ReportImp/KetteReports/LeistungsnachweisSoziotherapie.cs
Normal file
@@ -0,0 +1,165 @@
|
||||
using System;
|
||||
using BS.Shared.Core;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Report;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.IO;
|
||||
using DevExpress.XtraPrinting.Drawing;
|
||||
|
||||
namespace KetteReports
|
||||
{
|
||||
|
||||
public partial class LeistungsnachweisSoziotherapie : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
|
||||
{
|
||||
public LeistungsnachweisSoziotherapie()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServicesOverviewRO pRO)
|
||||
{
|
||||
if (pRO.Mandator.Logo?.Original is object)
|
||||
xrPictureBox3.ImageSource = new ImageSource(false, pRO.Mandator.Logo.Original);
|
||||
|
||||
double gesamt = 0;
|
||||
double gesamtGruppe = 0;
|
||||
|
||||
if (pRO.Services != null)
|
||||
{
|
||||
foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services)
|
||||
{
|
||||
ServicesOverviewRO.CreateSignatureString(s);
|
||||
|
||||
var serviceRecord = DAOFactory.GenericDAO.LoadByID<ServiceRecord>(s.ServiceRecordOid);
|
||||
pRO.ReferenceNumber = serviceRecord.CostBearer2SupportConcept.CustomerReferenceNumber;
|
||||
if (serviceRecord.CostBearer2SupportConcept.ApprovedStartDate != null)
|
||||
pRO.ApprovedStartDate = String.Format("{0:dd.MM.yyyy}", serviceRecord.CostBearer2SupportConcept.ApprovedStartDate);
|
||||
if (serviceRecord.CostBearer2SupportConcept.ApprovedEndDate != null)
|
||||
pRO.ApprovedEndDate = String.Format("{0:dd.MM.yyyy}", serviceRecord.CostBearer2SupportConcept.ApprovedEndDate);
|
||||
var srDc = MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDC(serviceRecord);
|
||||
|
||||
s.GoalList = String.Empty;
|
||||
if (srDc.Goals != null && srDc.Goals.Count > 0)
|
||||
{
|
||||
foreach (var goal in srDc.Goals)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(goal.Abbreviation))
|
||||
{
|
||||
if (s.GoalList.Length > 0)
|
||||
s.GoalList += ", ";
|
||||
s.GoalList += goal.Abbreviation;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (s.ServiceDescription.Contains("Gruppe"))
|
||||
{
|
||||
s.IsGroup = true;
|
||||
gesamtGruppe += s.Minutes;
|
||||
s.ServiceDescription = "E";
|
||||
s.Notice5 = "2002672";
|
||||
}
|
||||
else
|
||||
{
|
||||
gesamt += s.Minutes;
|
||||
}
|
||||
|
||||
if (s.ServiceDescription.Contains("Video"))
|
||||
{
|
||||
s.ServiceDescription = "V";
|
||||
if (s.Minutes <= 30)
|
||||
{
|
||||
s.Notice5 = "2001615";
|
||||
}
|
||||
else
|
||||
{
|
||||
s.Notice5 = "2001616";
|
||||
}
|
||||
}
|
||||
else if (s.ServiceDescription.Contains("Telefon"))
|
||||
{
|
||||
s.ServiceDescription = "T";
|
||||
if (s.Minutes <= 30)
|
||||
{
|
||||
s.Notice5 = "2001618";
|
||||
}
|
||||
else
|
||||
{
|
||||
s.Notice5 = "2001617";
|
||||
}
|
||||
}
|
||||
else if (s.ServiceDescription.Contains("Aufsuchende Prob"))
|
||||
{
|
||||
s.ServiceDescription = "A";
|
||||
s.Notice5 = "2001607";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (s.ServiceDescription.Contains("Büro"))
|
||||
{
|
||||
s.ServiceDescription = "E";
|
||||
}
|
||||
else if (s.ServiceDescription.Contains("Aufsuchend"))
|
||||
{
|
||||
s.ServiceDescription = "A";
|
||||
}
|
||||
|
||||
if (s.Minutes <= 10)
|
||||
{
|
||||
s.Notice5 = "2001613";
|
||||
}
|
||||
else if (s.Minutes <= 30)
|
||||
{
|
||||
s.Notice5 = "2001612";
|
||||
}
|
||||
else if (s.Minutes <= 45)
|
||||
{
|
||||
s.Notice5 = "2001611";
|
||||
}
|
||||
else
|
||||
{
|
||||
s.Notice5 = "2001610";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cellGesamt.Text = String.Format("{0:0.00}", gesamt / 60);
|
||||
if (gesamtGruppe > 0)
|
||||
{
|
||||
cellGesamtGruppe.Text = String.Format("{0:0.00}", gesamtGruppe / 60);
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
private void picSignature_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
XRPictureBox xrBox = sender as XRPictureBox;
|
||||
string base64String = xrBox.Tag as string;
|
||||
if (!String.IsNullOrWhiteSpace(base64String))
|
||||
{
|
||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||
var binData = Convert.FromBase64String(base64Data);
|
||||
System.Drawing.Image img = ByteArrayToImage(binData);
|
||||
xrBox.Image = Utils.CropImage(img);
|
||||
}
|
||||
else
|
||||
{
|
||||
xrBox.Image = null;
|
||||
}
|
||||
}
|
||||
|
||||
public System.Drawing.Image ByteArrayToImage(byte[] byteArrayIn)
|
||||
{
|
||||
using (var memoryStream = new MemoryStream(byteArrayIn))
|
||||
{
|
||||
return System.Drawing.Image.FromStream(memoryStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1043
ReportImp/KetteReports/LeistungsnachweisSoziotherapie.designer.cs
generated
Normal file
1043
ReportImp/KetteReports/LeistungsnachweisSoziotherapie.designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
120
ReportImp/KetteReports/LeistungsnachweisSoziotherapie.resx
Normal file
120
ReportImp/KetteReports/LeistungsnachweisSoziotherapie.resx
Normal 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>
|
||||
982
ReportImp/KetteReports/SoziotherapieRechnung.Designer.cs
generated
Normal file
982
ReportImp/KetteReports/SoziotherapieRechnung.Designer.cs
generated
Normal file
@@ -0,0 +1,982 @@
|
||||
using BeWo.Report.ReportObjects;
|
||||
namespace KetteReports
|
||||
{
|
||||
partial class SoziotherapieRechnung
|
||||
{
|
||||
/// <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(SoziotherapieRechnung));
|
||||
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
|
||||
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow25 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow23 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
|
||||
((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;
|
||||
//
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||
this.ReportHeader.HeightF = 0F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
this.ReportHeader.StylePriority.UseFont = false;
|
||||
//
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrPictureBox1});
|
||||
this.topMarginBand1.HeightF = 169.7917F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
//
|
||||
// bottomMarginBand1
|
||||
//
|
||||
this.bottomMarginBand1.Font = new DevExpress.Drawing.DXFont("Arial", 7F);
|
||||
this.bottomMarginBand1.HeightF = 88.12486F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
this.bottomMarginBand1.StylePriority.UseFont = false;
|
||||
//
|
||||
// Page1
|
||||
//
|
||||
this.Page1.BorderWidth = 2F;
|
||||
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable2,
|
||||
this.xrLabel6,
|
||||
this.xrLabel7,
|
||||
this.xrLabel4,
|
||||
this.lblAdresse});
|
||||
this.Page1.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
|
||||
this.Page1.HeightF = 396.0767F;
|
||||
this.Page1.Name = "Page1";
|
||||
this.Page1.StylePriority.UseBorderWidth = false;
|
||||
this.Page1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTable2
|
||||
//
|
||||
this.xrTable2.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
|
||||
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(366.9999F, 177.8851F);
|
||||
this.xrTable2.Name = "xrTable2";
|
||||
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow4,
|
||||
this.xrTableRow3,
|
||||
this.xrTableRow5});
|
||||
this.xrTable2.SizeF = new System.Drawing.SizeF(283.7153F, 75F);
|
||||
this.xrTable2.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow4
|
||||
//
|
||||
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell16,
|
||||
this.xrTableCell17});
|
||||
this.xrTableRow4.Name = "xrTableRow4";
|
||||
this.xrTableRow4.Weight = 1D;
|
||||
//
|
||||
// xrTableCell16
|
||||
//
|
||||
this.xrTableCell16.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell16.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell16.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
|
||||
this.xrTableCell16.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell16.Name = "xrTableCell16";
|
||||
this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell16.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell16.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell16.StylePriority.UseBorders = false;
|
||||
this.xrTableCell16.StylePriority.UseFont = false;
|
||||
this.xrTableCell16.StylePriority.UsePadding = false;
|
||||
this.xrTableCell16.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell16.Text = "Rechnungsnummer";
|
||||
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell16.Weight = 0.53122486267026214D;
|
||||
//
|
||||
// xrTableCell17
|
||||
//
|
||||
this.xrTableCell17.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell17.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell17.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
|
||||
this.xrTableCell17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceNumber")});
|
||||
this.xrTableCell17.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell17.Name = "xrTableCell17";
|
||||
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell17.StylePriority.UseBackColor = false;
|
||||
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.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell17.Weight = 0.53122488360866615D;
|
||||
//
|
||||
// xrTableRow3
|
||||
//
|
||||
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell12,
|
||||
this.xrTableCell13});
|
||||
this.xrTableRow3.Name = "xrTableRow3";
|
||||
this.xrTableRow3.Weight = 1D;
|
||||
//
|
||||
// xrTableCell12
|
||||
//
|
||||
this.xrTableCell12.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell12.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell12.Borders = DevExpress.XtraPrinting.BorderSide.Left;
|
||||
this.xrTableCell12.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell12.Name = "xrTableCell12";
|
||||
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell12.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell12.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell12.StylePriority.UseBorders = false;
|
||||
this.xrTableCell12.StylePriority.UseFont = false;
|
||||
this.xrTableCell12.StylePriority.UsePadding = false;
|
||||
this.xrTableCell12.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell12.Text = "Rechnungsdatum";
|
||||
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell12.Weight = 0.53122486267026214D;
|
||||
//
|
||||
// xrTableCell13
|
||||
//
|
||||
this.xrTableCell13.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell13.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell13.Borders = DevExpress.XtraPrinting.BorderSide.Right;
|
||||
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDateTime", "{0:dd.MM.yyyy}")});
|
||||
this.xrTableCell13.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell13.Name = "xrTableCell13";
|
||||
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell13.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell13.StylePriority.UseBorderColor = false;
|
||||
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.MiddleRight;
|
||||
this.xrTableCell13.Weight = 0.53122488360866615D;
|
||||
//
|
||||
// xrTableRow5
|
||||
//
|
||||
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell6,
|
||||
this.xrTableCell7});
|
||||
this.xrTableRow5.Name = "xrTableRow5";
|
||||
this.xrTableRow5.Weight = 1D;
|
||||
//
|
||||
// xrTableCell6
|
||||
//
|
||||
this.xrTableCell6.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell6.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell6.BorderWidth = 2F;
|
||||
this.xrTableCell6.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell6.Name = "xrTableCell6";
|
||||
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell6.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell6.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell6.StylePriority.UseBorders = false;
|
||||
this.xrTableCell6.StylePriority.UseBorderWidth = false;
|
||||
this.xrTableCell6.StylePriority.UseFont = false;
|
||||
this.xrTableCell6.StylePriority.UsePadding = false;
|
||||
this.xrTableCell6.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell6.Text = "IK-Nummer";
|
||||
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell6.Weight = 0.53122486267026214D;
|
||||
//
|
||||
// xrTableCell7
|
||||
//
|
||||
this.xrTableCell7.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell7.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell7.BorderWidth = 2F;
|
||||
this.xrTableCell7.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell7.Name = "xrTableCell7";
|
||||
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell7.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell7.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell7.StylePriority.UseBorders = false;
|
||||
this.xrTableCell7.StylePriority.UseBorderWidth = false;
|
||||
this.xrTableCell7.StylePriority.UseFont = false;
|
||||
this.xrTableCell7.StylePriority.UsePadding = false;
|
||||
this.xrTableCell7.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell7.Text = "490507661";
|
||||
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell7.Weight = 0.53122488360866615D;
|
||||
//
|
||||
// xrLabel6
|
||||
//
|
||||
this.xrLabel6.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel6.CanShrink = true;
|
||||
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 337.0768F);
|
||||
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(650.7153F, 38.99988F);
|
||||
this.xrLabel6.StylePriority.UseBackColor = false;
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.Text = "Abrechnung Soziotherapie-Leistungen gemäß $37a SGV, Versicherte(r): [CustomerLast" +
|
||||
"Name], [CustomerFirstName]\r\nVersichtennummer: [CustomerInsuranceNumber]";
|
||||
this.xrLabel6.WordWrap = false;
|
||||
//
|
||||
// xrLabel7
|
||||
//
|
||||
this.xrLabel7.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel7.CanShrink = true;
|
||||
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 376.0766F);
|
||||
this.xrLabel7.Name = "xrLabel7";
|
||||
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel7.SizeF = new System.Drawing.SizeF(650.7153F, 20F);
|
||||
this.xrLabel7.StylePriority.UseBackColor = false;
|
||||
this.xrLabel7.StylePriority.UseFont = false;
|
||||
this.xrLabel7.Text = "Zeitraum: [AccountingPeriod]";
|
||||
this.xrLabel7.WordWrap = false;
|
||||
//
|
||||
// xrLabel4
|
||||
//
|
||||
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel4.CanShrink = true;
|
||||
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Calibri", 14F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 286.6351F);
|
||||
this.xrLabel4.Name = "xrLabel4";
|
||||
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel4.SizeF = new System.Drawing.SizeF(319.8698F, 25.00006F);
|
||||
this.xrLabel4.StylePriority.UseBackColor = false;
|
||||
this.xrLabel4.StylePriority.UseFont = false;
|
||||
this.xrLabel4.Text = "Rechnung";
|
||||
this.xrLabel4.WordWrap = false;
|
||||
//
|
||||
// lblAdresse
|
||||
//
|
||||
this.lblAdresse.Font = new DevExpress.Drawing.DXFont("Calibri", 11F);
|
||||
this.lblAdresse.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
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;
|
||||
//
|
||||
// ReportFooter
|
||||
//
|
||||
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel15,
|
||||
this.xrLabel14,
|
||||
this.xrLabel11,
|
||||
this.xrLabel5,
|
||||
this.xrTable4});
|
||||
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Times New Roman", 10F);
|
||||
this.ReportFooter.HeightF = 218.2751F;
|
||||
this.ReportFooter.Name = "ReportFooter";
|
||||
this.ReportFooter.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel15
|
||||
//
|
||||
this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 122.5833F);
|
||||
this.xrLabel15.Name = "xrLabel15";
|
||||
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel15.SizeF = new System.Drawing.SizeF(175F, 17F);
|
||||
this.xrLabel15.StylePriority.UseFont = false;
|
||||
this.xrLabel15.Text = "Mit freundlichen Grüßen";
|
||||
//
|
||||
// xrLabel14
|
||||
//
|
||||
this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorName")});
|
||||
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 197.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]";
|
||||
//
|
||||
// xrLabel11
|
||||
//
|
||||
this.xrLabel11.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
|
||||
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(442.0537F, 0F);
|
||||
this.xrLabel11.Multiline = true;
|
||||
this.xrLabel11.Name = "xrLabel11";
|
||||
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel11.SizeF = new System.Drawing.SizeF(208.6615F, 218.2751F);
|
||||
this.xrLabel11.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel5
|
||||
//
|
||||
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Italic);
|
||||
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0.0001271566F, 10.00001F);
|
||||
this.xrLabel5.Name = "xrLabel5";
|
||||
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel5.SizeF = new System.Drawing.SizeF(250F, 17F);
|
||||
this.xrLabel5.StylePriority.UseFont = false;
|
||||
this.xrLabel5.Text = "Abschließende Bemerkungen:";
|
||||
//
|
||||
// xrTable4
|
||||
//
|
||||
this.xrTable4.Font = new DevExpress.Drawing.DXFont("Arial", 9F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
|
||||
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
|
||||
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0.0001271566F, 35.00004F);
|
||||
this.xrTable4.Name = "xrTable4";
|
||||
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow10,
|
||||
this.xrTableRow14});
|
||||
this.xrTable4.SizeF = new System.Drawing.SizeF(442.0536F, 26F);
|
||||
this.xrTable4.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow10
|
||||
//
|
||||
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell18});
|
||||
this.xrTableRow10.Name = "xrTableRow10";
|
||||
this.xrTableRow10.Weight = 0.38095238095238093D;
|
||||
//
|
||||
// xrTableCell18
|
||||
//
|
||||
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")});
|
||||
this.xrTableCell18.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell18.Name = "xrTableCell18";
|
||||
this.xrTableCell18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell18.StylePriority.UseFont = false;
|
||||
this.xrTableCell18.StylePriority.UsePadding = false;
|
||||
this.xrTableCell18.Text = "xrTableCell1";
|
||||
this.xrTableCell18.Weight = 3D;
|
||||
//
|
||||
// xrTableRow14
|
||||
//
|
||||
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell19});
|
||||
this.xrTableRow14.Name = "xrTableRow14";
|
||||
this.xrTableRow14.Weight = 0.23809523809523808D;
|
||||
//
|
||||
// xrTableCell19
|
||||
//
|
||||
this.xrTableCell19.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell19.Name = "xrTableCell19";
|
||||
this.xrTableCell19.StylePriority.UseFont = false;
|
||||
this.xrTableCell19.Weight = 3D;
|
||||
//
|
||||
// DetailReport
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail1,
|
||||
this.DetailReport1});
|
||||
this.DetailReport.DataMember = "ServiceInvoicePeriods";
|
||||
this.DetailReport.DataSource = this.bindingSource1;
|
||||
this.DetailReport.Level = 0;
|
||||
this.DetailReport.Name = "DetailReport";
|
||||
//
|
||||
// Detail1
|
||||
//
|
||||
this.Detail1.HeightF = 0F;
|
||||
this.Detail1.Name = "Detail1";
|
||||
//
|
||||
// DetailReport1
|
||||
//
|
||||
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail2,
|
||||
this.GroupHeader1,
|
||||
this.GroupFooter1});
|
||||
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.xrTable6});
|
||||
this.Detail2.HeightF = 25F;
|
||||
this.Detail2.Name = "Detail2";
|
||||
//
|
||||
// xrTable6
|
||||
//
|
||||
this.xrTable6.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable6.Name = "xrTable6";
|
||||
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow25});
|
||||
this.xrTable6.SizeF = new System.Drawing.SizeF(650.7155F, 25F);
|
||||
this.xrTable6.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow25
|
||||
//
|
||||
this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell3,
|
||||
this.xrTableCell40,
|
||||
this.xrTableCell42,
|
||||
this.xrTableCell20,
|
||||
this.xrTableCell44,
|
||||
this.xrTableCell45,
|
||||
this.xrTableCell47});
|
||||
this.xrTableRow25.Name = "xrTableRow25";
|
||||
this.xrTableRow25.Weight = 1D;
|
||||
//
|
||||
// xrTableCell3
|
||||
//
|
||||
this.xrTableCell3.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AccountingPeriodStart")});
|
||||
this.xrTableCell3.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell3.Multiline = true;
|
||||
this.xrTableCell3.Name = "xrTableCell3";
|
||||
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell3.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell3.StylePriority.UseBorders = false;
|
||||
this.xrTableCell3.StylePriority.UseFont = false;
|
||||
this.xrTableCell3.StylePriority.UsePadding = false;
|
||||
this.xrTableCell3.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell3.TextFormatString = "{0:dd.MM.yyyy}";
|
||||
this.xrTableCell3.Weight = 0.49411074825218504D;
|
||||
//
|
||||
// xrTableCell40
|
||||
//
|
||||
this.xrTableCell40.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell40.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitDescription")});
|
||||
this.xrTableCell40.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell40.Name = "xrTableCell40";
|
||||
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell40.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell40.StylePriority.UseBorders = false;
|
||||
this.xrTableCell40.StylePriority.UseFont = false;
|
||||
this.xrTableCell40.StylePriority.UsePadding = false;
|
||||
this.xrTableCell40.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell40.Text = "Soziotherapie";
|
||||
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell40.Weight = 0.574668553042295D;
|
||||
//
|
||||
// xrTableCell42
|
||||
//
|
||||
this.xrTableCell42.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell42.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell42.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceDescription")});
|
||||
this.xrTableCell42.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell42.Name = "xrTableCell42";
|
||||
this.xrTableCell42.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell42.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell42.StylePriority.UseBorders = false;
|
||||
this.xrTableCell42.StylePriority.UseFont = false;
|
||||
this.xrTableCell42.StylePriority.UsePadding = false;
|
||||
this.xrTableCell42.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell42.Weight = 0.79841694330105706D;
|
||||
//
|
||||
// xrTableCell20
|
||||
//
|
||||
this.xrTableCell20.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitCount")});
|
||||
this.xrTableCell20.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell20.Name = "xrTableCell20";
|
||||
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell20.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell20.StylePriority.UseBorders = false;
|
||||
this.xrTableCell20.StylePriority.UseFont = false;
|
||||
this.xrTableCell20.StylePriority.UsePadding = false;
|
||||
this.xrTableCell20.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell20.TextFormatString = "{0:0.##}";
|
||||
this.xrTableCell20.Weight = 0.23261646304723091D;
|
||||
//
|
||||
// xrTableCell44
|
||||
//
|
||||
this.xrTableCell44.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell44.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRateString")});
|
||||
this.xrTableCell44.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell44.Name = "xrTableCell44";
|
||||
this.xrTableCell44.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell44.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell44.StylePriority.UseBorders = false;
|
||||
this.xrTableCell44.StylePriority.UseFont = false;
|
||||
this.xrTableCell44.StylePriority.UsePadding = false;
|
||||
this.xrTableCell44.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell44.TextFormatString = "{0:}";
|
||||
this.xrTableCell44.Weight = 0.256445220290948D;
|
||||
//
|
||||
// xrTableCell45
|
||||
//
|
||||
this.xrTableCell45.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell45.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell45.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate", "{0:0.00}")});
|
||||
this.xrTableCell45.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell45.Name = "xrTableCell45";
|
||||
this.xrTableCell45.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell45.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell45.StylePriority.UseBorders = false;
|
||||
this.xrTableCell45.StylePriority.UseFont = false;
|
||||
this.xrTableCell45.StylePriority.UsePadding = false;
|
||||
this.xrTableCell45.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell45.Text = "xrTableCell45";
|
||||
this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell45.Weight = 0.281744233911718D;
|
||||
//
|
||||
// xrTableCell47
|
||||
//
|
||||
this.xrTableCell47.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell47.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell47.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount")});
|
||||
this.xrTableCell47.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell47.Name = "xrTableCell47";
|
||||
this.xrTableCell47.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell47.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell47.StylePriority.UseBorders = false;
|
||||
this.xrTableCell47.StylePriority.UseFont = false;
|
||||
this.xrTableCell47.StylePriority.UsePadding = false;
|
||||
this.xrTableCell47.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell47.Weight = 0.45298072340441065D;
|
||||
//
|
||||
// GroupHeader1
|
||||
//
|
||||
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable5});
|
||||
this.GroupHeader1.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.GroupHeader1.HeightF = 25F;
|
||||
this.GroupHeader1.Name = "GroupHeader1";
|
||||
this.GroupHeader1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTable5
|
||||
//
|
||||
this.xrTable5.Font = new DevExpress.Drawing.DXFont("Calibri", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable5.Name = "xrTable5";
|
||||
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow23});
|
||||
this.xrTable5.SizeF = new System.Drawing.SizeF(650.7155F, 25F);
|
||||
this.xrTable5.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow23
|
||||
//
|
||||
this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell2,
|
||||
this.xrTableCell32,
|
||||
this.xrTableCell37,
|
||||
this.xrTableCell14,
|
||||
this.xrTableCell33,
|
||||
this.xrTableCell36,
|
||||
this.xrTableCell34});
|
||||
this.xrTableRow23.Name = "xrTableRow23";
|
||||
this.xrTableRow23.Weight = 1D;
|
||||
//
|
||||
// xrTableCell2
|
||||
//
|
||||
this.xrTableCell2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell2.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell2.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell2.Multiline = true;
|
||||
this.xrTableCell2.Name = "xrTableCell2";
|
||||
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell2.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell2.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell2.StylePriority.UseBorders = false;
|
||||
this.xrTableCell2.StylePriority.UseFont = false;
|
||||
this.xrTableCell2.StylePriority.UsePadding = false;
|
||||
this.xrTableCell2.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell2.Text = "Datum";
|
||||
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell2.Weight = 0.54176126036459427D;
|
||||
//
|
||||
// xrTableCell32
|
||||
//
|
||||
this.xrTableCell32.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell32.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell32.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell32.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell32.Name = "xrTableCell32";
|
||||
this.xrTableCell32.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell32.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell32.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell32.StylePriority.UseBorders = false;
|
||||
this.xrTableCell32.StylePriority.UseFont = false;
|
||||
this.xrTableCell32.StylePriority.UsePadding = false;
|
||||
this.xrTableCell32.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell32.Text = "Positionsnummer";
|
||||
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell32.Weight = 0.63008808839302122D;
|
||||
//
|
||||
// xrTableCell37
|
||||
//
|
||||
this.xrTableCell37.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell37.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell37.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell37.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell37.Name = "xrTableCell37";
|
||||
this.xrTableCell37.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell37.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell37.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell37.StylePriority.UseBorders = false;
|
||||
this.xrTableCell37.StylePriority.UseFont = false;
|
||||
this.xrTableCell37.StylePriority.UsePadding = false;
|
||||
this.xrTableCell37.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell37.Text = "Bezeichnung";
|
||||
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell37.Weight = 0.87541493837556028D;
|
||||
//
|
||||
// xrTableCell14
|
||||
//
|
||||
this.xrTableCell14.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell14.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell14.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell14.Name = "xrTableCell14";
|
||||
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell14.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell14.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell14.StylePriority.UseBorders = false;
|
||||
this.xrTableCell14.StylePriority.UseFont = false;
|
||||
this.xrTableCell14.StylePriority.UsePadding = false;
|
||||
this.xrTableCell14.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell14.Text = "Menge";
|
||||
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell14.Weight = 0.25504874611087D;
|
||||
//
|
||||
// xrTableCell33
|
||||
//
|
||||
this.xrTableCell33.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell33.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell33.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell33.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell33.Name = "xrTableCell33";
|
||||
this.xrTableCell33.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell33.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell33.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell33.StylePriority.UseBorders = false;
|
||||
this.xrTableCell33.StylePriority.UseFont = false;
|
||||
this.xrTableCell33.StylePriority.UsePadding = false;
|
||||
this.xrTableCell33.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell33.Text = "Einheit";
|
||||
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell33.Weight = 0.28117614915144379D;
|
||||
//
|
||||
// xrTableCell36
|
||||
//
|
||||
this.xrTableCell36.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell36.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell36.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell36.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell36.Name = "xrTableCell36";
|
||||
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell36.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell36.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell36.StylePriority.UseBorders = false;
|
||||
this.xrTableCell36.StylePriority.UseFont = false;
|
||||
this.xrTableCell36.StylePriority.UsePadding = false;
|
||||
this.xrTableCell36.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell36.Text = "Preis";
|
||||
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell36.Weight = 0.30891553458958454D;
|
||||
//
|
||||
// xrTableCell34
|
||||
//
|
||||
this.xrTableCell34.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell34.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell34.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell34.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell34.Name = "xrTableCell34";
|
||||
this.xrTableCell34.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell34.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell34.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell34.StylePriority.UseBorders = false;
|
||||
this.xrTableCell34.StylePriority.UseFont = false;
|
||||
this.xrTableCell34.StylePriority.UsePadding = false;
|
||||
this.xrTableCell34.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell34.Text = "Gesamtbetrag";
|
||||
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell34.Weight = 0.49666418721224931D;
|
||||
//
|
||||
// GroupFooter1
|
||||
//
|
||||
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable1});
|
||||
this.GroupFooter1.HeightF = 47.91667F;
|
||||
this.GroupFooter1.Name = "GroupFooter1";
|
||||
//
|
||||
// xrTable1
|
||||
//
|
||||
this.xrTable1.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable1.Name = "xrTable1";
|
||||
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow1});
|
||||
this.xrTable1.SizeF = new System.Drawing.SizeF(649.9999F, 25F);
|
||||
this.xrTable1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow1
|
||||
//
|
||||
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell1,
|
||||
this.xrTableCell5});
|
||||
this.xrTableRow1.Name = "xrTableRow1";
|
||||
this.xrTableRow1.Weight = 1D;
|
||||
//
|
||||
// xrTableCell1
|
||||
//
|
||||
this.xrTableCell1.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell1.Font = new DevExpress.Drawing.DXFont("Calibri", 12F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell1.Name = "xrTableCell1";
|
||||
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell1.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell1.StylePriority.UseBorders = false;
|
||||
this.xrTableCell1.StylePriority.UseFont = false;
|
||||
this.xrTableCell1.StylePriority.UsePadding = false;
|
||||
this.xrTableCell1.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell1.Text = "Rechnungsbetrag";
|
||||
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell1.Weight = 2.3662953373904871D;
|
||||
//
|
||||
// xrTableCell5
|
||||
//
|
||||
this.xrTableCell5.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")});
|
||||
this.xrTableCell5.Font = new DevExpress.Drawing.DXFont("Calibri", 12F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell5.Name = "xrTableCell5";
|
||||
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell5.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell5.StylePriority.UseBorders = false;
|
||||
this.xrTableCell5.StylePriority.UseFont = false;
|
||||
this.xrTableCell5.StylePriority.UsePadding = false;
|
||||
this.xrTableCell5.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell5.Weight = 0.40327538447920763D;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
|
||||
//
|
||||
// xrPictureBox1
|
||||
//
|
||||
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
|
||||
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(493.2781F, 73.64584F);
|
||||
this.xrPictureBox1.Name = "xrPictureBox1";
|
||||
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(183.7219F, 96.14588F);
|
||||
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
|
||||
//
|
||||
// SoziotherapieRechnung
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail,
|
||||
this.ReportHeader,
|
||||
this.topMarginBand1,
|
||||
this.bottomMarginBand1,
|
||||
this.Page1,
|
||||
this.ReportFooter,
|
||||
this.DetailReport});
|
||||
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.Margins = new DevExpress.Drawing.DXMargins(100F, 50F, 169.7917F, 88.12486F);
|
||||
this.PageHeight = 1169;
|
||||
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.xrTable2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
|
||||
((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.ReportHeaderBand ReportHeader;
|
||||
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.ReportFooterBand ReportFooter;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblAdresse;
|
||||
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail1;
|
||||
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail2;
|
||||
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
|
||||
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable5;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow23;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell32;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable6;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow25;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell42;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable1;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable4;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow14;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable2;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell16;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
|
||||
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
|
||||
}
|
||||
}
|
||||
98
ReportImp/KetteReports/SoziotherapieRechnung.cs
Normal file
98
ReportImp/KetteReports/SoziotherapieRechnung.cs
Normal file
@@ -0,0 +1,98 @@
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BS.Shared.Core;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using System;
|
||||
using System.Text;
|
||||
|
||||
namespace KetteReports
|
||||
{
|
||||
[IDSpecificClass(Identifier = "RechnungSoziotherapie")]
|
||||
public partial class SoziotherapieRechnung : XtraReport, IBeWoReport<ServiceInvoiceRO>
|
||||
{
|
||||
public SoziotherapieRechnung()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||
{
|
||||
string poBox = null;
|
||||
if (pRO.InvoiceBase.RecipientContactInformations.Count > 0)
|
||||
{
|
||||
foreach (var i in pRO.InvoiceBase.RecipientContactInformations)
|
||||
{
|
||||
if (i.ContactType == BS.Shared.ContactType.private_POBox)
|
||||
poBox = i.ContactValue;
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder 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.RecipientContactPerson))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientContactPerson);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(pRO.RecipientDivision) && !String.IsNullOrEmpty(pRO.RecipientOrganisation))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientDivision);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(poBox))
|
||||
{
|
||||
sb.AppendLine(poBox);
|
||||
}
|
||||
else if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientPoBox);
|
||||
}
|
||||
else if (!String.IsNullOrEmpty(pRO.RecipientStreet))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientStreet);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(pRO.RecipientPostCodeAndTown))
|
||||
{
|
||||
sb.AppendLine("");
|
||||
sb.AppendLine(pRO.RecipientPostCodeAndTown);
|
||||
}
|
||||
lblAdresse.Text = sb.ToString();
|
||||
|
||||
decimal hours = 0;
|
||||
if (pRO.ServiceInvoicePeriods != null)
|
||||
{
|
||||
foreach (var sip in pRO.ServiceInvoicePeriods)
|
||||
{
|
||||
foreach (var ii in sip.ServiceInvoiceItems)
|
||||
{
|
||||
hours += ii.Hours ?? 0;
|
||||
if (ii.UnitDescription == null || !ii.UnitDescription.StartsWith("GPos"))
|
||||
{
|
||||
ii.UnitDescription = "";
|
||||
}
|
||||
|
||||
// Einheit setzen
|
||||
ii.HourlyRateString = "Stunden";
|
||||
if (ii.ServiceDescription != null && ii.ServiceDescription.ToLower().Contains("hausbesuchspauschale"))
|
||||
{
|
||||
ii.HourlyRateString = "Anzahl";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (String.IsNullOrEmpty(pRO.Notice))
|
||||
{
|
||||
xrLabel5.Visible = false;
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
123
ReportImp/KetteReports/SoziotherapieRechnung.resx
Normal file
123
ReportImp/KetteReports/SoziotherapieRechnung.resx
Normal file
File diff suppressed because one or more lines are too long
@@ -27,7 +27,7 @@ namespace MuenchenerAidsHilfeEV
|
||||
|
||||
decimal summeMitarbeitende = 0m;
|
||||
decimal summeKlientInnen = 0m;
|
||||
Dictionary<decimal, int> betreuungsschluesselZuAnzahl = new Dictionary<decimal, int>();
|
||||
Dictionary<decimal, decimal> betreuungsschluesselZuAnzahl = new Dictionary<decimal, decimal>();
|
||||
|
||||
foreach (var empDetail in pRO.EmployeeDetailList)
|
||||
{
|
||||
@@ -78,20 +78,22 @@ namespace MuenchenerAidsHilfeEV
|
||||
// Betreuungsanteil setzen, wenn er nicht absolut, also in Minuten, ist
|
||||
if (item.IsAbsolut == false && item.Betreuungsschluessel != 0)
|
||||
betreuungsanteil = item.Betreuungsschluessel / 100;
|
||||
nenner /= betreuungsanteil;
|
||||
|
||||
//nenner /= betreuungsanteil;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (betreuungsanteil != 1)
|
||||
{ }
|
||||
// Letztendlichen Umfang mit dem Nenner und dem eventuellen Anteil an der Betreuung
|
||||
betreuungsumfangInProzentGesamt += 100m / nenner;
|
||||
summeKlientInnen += 100m / nenner;
|
||||
betreuungsumfangInProzentGesamt += 100m / (nenner / betreuungsanteil);
|
||||
summeKlientInnen += 100m / (nenner / betreuungsanteil);
|
||||
|
||||
// für zweite Tabelle, die zeigt, welche Schlüssel es gibt und wie viele Klient*innen die jeweils haben, in Dict speichern
|
||||
if (!betreuungsschluesselZuAnzahl.ContainsKey(nenner))
|
||||
betreuungsschluesselZuAnzahl.Add(nenner, 0);
|
||||
betreuungsschluesselZuAnzahl[nenner]++;
|
||||
betreuungsschluesselZuAnzahl[nenner] += betreuungsanteil;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -114,14 +116,14 @@ namespace MuenchenerAidsHilfeEV
|
||||
var row = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
row.Cells.Add(new DevExpress.XtraReports.UI.XRTableCell() { Text = string.Format("{0:0.##}", key), Font = new Font("Arial", 10, FontStyle.Bold) });
|
||||
row.Cells.Add(new DevExpress.XtraReports.UI.XRTableCell() { Text = "" });
|
||||
row.Cells.Add(new DevExpress.XtraReports.UI.XRTableCell() { Text = string.Format("{0}", value) });
|
||||
row.Cells.Add(new DevExpress.XtraReports.UI.XRTableCell() { Text = string.Format("{0:0.####}", value) });
|
||||
row.Cells.Add(new DevExpress.XtraReports.UI.XRTableCell() { Text = string.Format("{0:0.0000}", value / key), TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight });
|
||||
|
||||
summeStellen += value / key;
|
||||
tableCustomerSummary.Rows.Add(row);
|
||||
}
|
||||
|
||||
tcSummeInBetreuung.Text = string.Format("{0}", betreuungsschluesselZuAnzahl.Sum(s => s.Value));
|
||||
tcSummeInBetreuung.Text = string.Format("{0:0.####}", betreuungsschluesselZuAnzahl.Sum(s => s.Value));
|
||||
tcSummeStellen.Text = string.Format("{0}", string.Format("{0:0.0000}", summeStellen));
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
|
||||
@@ -79,9 +79,9 @@ namespace MuenchenerAidsHilfeEV
|
||||
this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.tcSummeInBetreuung = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.tcSummeStellen = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
@@ -590,6 +590,19 @@ namespace MuenchenerAidsHilfeEV
|
||||
this.xrTableRow4.Name = "xrTableRow4";
|
||||
this.xrTableRow4.Weight = 1D;
|
||||
//
|
||||
// xrTableCell13
|
||||
//
|
||||
this.xrTableCell13.Borders = DevExpress.XtraPrinting.BorderSide.Right;
|
||||
this.xrTableCell13.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell13.Multiline = true;
|
||||
this.xrTableCell13.Name = "xrTableCell13";
|
||||
this.xrTableCell13.StylePriority.UseBorders = false;
|
||||
this.xrTableCell13.StylePriority.UseFont = false;
|
||||
this.xrTableCell13.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell13.Text = " ";
|
||||
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell13.Weight = 1D;
|
||||
//
|
||||
// tcSummeInBetreuung
|
||||
//
|
||||
this.tcSummeInBetreuung.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
@@ -601,6 +614,7 @@ namespace MuenchenerAidsHilfeEV
|
||||
this.tcSummeInBetreuung.StylePriority.UseFont = false;
|
||||
this.tcSummeInBetreuung.StylePriority.UseTextAlignment = false;
|
||||
this.tcSummeInBetreuung.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.tcSummeInBetreuung.TextFormatString = "{0:0.####}";
|
||||
this.tcSummeInBetreuung.Weight = 1D;
|
||||
//
|
||||
// tcSummeStellen
|
||||
@@ -614,21 +628,9 @@ namespace MuenchenerAidsHilfeEV
|
||||
this.tcSummeStellen.StylePriority.UseFont = false;
|
||||
this.tcSummeStellen.StylePriority.UseTextAlignment = false;
|
||||
this.tcSummeStellen.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.tcSummeStellen.TextFormatString = "{0:0.0000}";
|
||||
this.tcSummeStellen.Weight = 1D;
|
||||
//
|
||||
// xrTableCell13
|
||||
//
|
||||
this.xrTableCell13.Borders = DevExpress.XtraPrinting.BorderSide.Right;
|
||||
this.xrTableCell13.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell13.Multiline = true;
|
||||
this.xrTableCell13.Name = "xrTableCell13";
|
||||
this.xrTableCell13.StylePriority.UseBorders = false;
|
||||
this.xrTableCell13.StylePriority.UseFont = false;
|
||||
this.xrTableCell13.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell13.Text = " ";
|
||||
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell13.Weight = 1D;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterauslastungRO);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)]
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user