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

This commit is contained in:
2026-04-15 11:30:03 +02:00
237 changed files with 22536 additions and 3492 deletions

2
.gitignore vendored
View File

@@ -415,3 +415,5 @@ FodyWeavers.xsd
# JetBrains Rider
*.sln.iml
/ReportImp/RatPlusTat/CustomBudgetnachweisAnhangRO.cs
/.claude/worktrees
/.claude

View File

@@ -220,6 +220,7 @@ namespace BeWo.AI.View
PanelAnimation.Visibility = Visibility.Hidden;
ButtonText.Text = "Neue Aufnahme starten";
lblStatus.Content = "";
}
},
this.Dispatcher).Start();

View File

@@ -43,12 +43,12 @@
<TargetCulture>de-DE</TargetCulture>
<ProductName>BeWoPlaner</ProductName>
<PublisherName>ownSoft GmbH</PublisherName>
<MinimumRequiredVersion>2.0.1.292</MinimumRequiredVersion>
<MinimumRequiredVersion>2.0.1.293</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<TrustUrlParameters>true</TrustUrlParameters>
<ApplicationRevision>293</ApplicationRevision>
<ApplicationRevision>294</ApplicationRevision>
<ApplicationVersion>2.0.1.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
@@ -3808,6 +3808,9 @@
<DependentUpon>app.config</DependentUpon>
</None>
</ItemGroup>
<ItemGroup>
<Resource Include="Ressources\Icons\bewoplaner_haus.png" />
</ItemGroup>
<Target Name="SetAppConfig" BeforeTargets="Compile">
<Copy SourceFiles="app.Debug.config" DestinationFiles="app.config" OverwriteReadOnlyFiles="true" Condition=" '$(Configuration)' == 'Debug' " />
<Copy SourceFiles="app.DebugRemote.config" DestinationFiles="app.config" OverwriteReadOnlyFiles="true" Condition=" '$(Configuration)' == 'DebugRemote' " />

View File

@@ -56,7 +56,7 @@ namespace BeWo
public static LoginControl LoginControl;
public static MainControl MainControl;
public static string ShortVersion = "3.30";
public static string ShortVersion = "3.30.2";
public static string Version => BeWoAppInfo.BeWoAppVersion.ToString();
public static int RenderTier = 0;
@@ -658,8 +658,8 @@ namespace BeWo
AppSettings.AllowStorno = true;
AppSettings.AllowXRechnung = true;
//AppSettings.ShowAI = false;
//AppSettings.ShowAIVoice = false;
AppSettings.ShowAI = true;
AppSettings.ShowAIVoice = true;
AppSettings.ShowWorktime = true;
AppSettings.ShowPersehImport = true;

View File

@@ -18,6 +18,11 @@ namespace BeWo
var stageVersion = new Version("4.5");
var feature = BeWoClientFeature.AI;
#if !DEBUG
stage = BeWoClientReleaseStage.Release;
feature = BeWoClientFeature.None;
#endif
BeWoAppVersion = new BeWoAppVersion(baseVersion, stage, stageVersion, feature);
}

View File

@@ -273,6 +273,14 @@ namespace BeWo
private static String PUB_KEY_R13 = "00a567708dd0568164151761cdb906d4ad19908c2650379816639254dbd9cc840593ecd3ec081ba0605143487d2bc748969eb42dda9dc8273b57a19fabf0d60ed40e30ca6f9bb1d1d6a49d323e584e356f4558687117fc3ed85d82a02fb2516cb01a5db859ce3565c88ba1af1037ffe39c5dc2491734ff8c2b8b8df0bc712c930c1d05c4bac7cdaac95e7cd1c901f79c03f6fc0a5df4da7be6db764270ebf44d22da00776fd6c95f17fdda752ea5570cf6ea5cb6e073a568cfa174e275827e109fc1f5a2eb01e938b10a44ccd3c289f54935820a34b31ce988c2474e820e0a36f0474f8af1290475dacde19a5cff5e9d9895ba9a43d04aa21705010430d332b38f";
private static String PUB_KEY_YE1 = "0407655075fe68a695ada17d2babca549c8cf31968e2572f3fcd9c0736b32966f160f2854f42729fb3012422e6f4b0186263486925903f5f74f47c1a9c8320e2230847eb9dbb7fbfe65210f2cb1066da33a11c7036cdee9f71b5e226d80bdffabc";
private static String PUB_KEY_YE2 = "04719ab43391d6c410bdcca97b7774942db58738edac647434c7b9de533ea336cf9b920f97269345ab1e5597be796fa812ea881df8925bb121b98cc808aadff603e9ef34fef576e7d2bc5d021d8c55e5a1839ad26214ef57fb1d0d3d3ef603970f";
private static String PUB_KEY_YR1 = "00a158bc5f6c42620317bc9c4d3caa7fa05d7750c8263c0041d3b5422cd0eda179adf65b8464d252055d745724f53f3e8b0fc66ad5dda0738dd6365d40751ae3e2c1276b36ce8b3d273e9986069da1ba2e3da19b43218eb074a799022e416cd536d021fa45204130b490f5c5eb1fc77176fe0f009e39b2c18c2faf14484dc1b230b66ba70037d2f90a05d52108b9b5f3624cfa05659dd2d0e957a8b9a6b5d57de6e75601be5be9efc5e3d0e20ac1f4634d0083bd815486f5873ca798a7be5f49844414edb1bdc1c26a55f62a5e06330ba11fc3f5c1f11d0096a22e654e65f0634d79279ac67a5cf59d98c9bb1736922a1a5f6f572419e13243f9df5ad2746e6e33";
private static String PUB_KEY_YR2 = "00d9d0bc70069a6a87ce25baa31ead5fde78bfdf5d0ee62d042fd4b9e958a65bcaf1a9c7ac21e807e7b2502717a7b04e470703e8123a806f9b70df9b4e80b86885f8a46eb787c0728c2a9c0410096f7cf903cffde3afff0ba0ec8ca4e0d90ec5fd88ea0d9fe794fa9c9a0e4cb15cba4791abcd091901186a7f9d3c5afd38652040ada118a80d916f3ba5aa69b0e02e50972ba18851b79b948ace2a6998ab7a2b1ebb7da0cc324d04088ab6cbdde875f8bf6e5ba6444d712fc1fc6b5cf6455b5290fed8f2cfc5d7a2dd38a6e79938b5f0045f00f6ab288f4f1ad336aea537e00caf983673574daa4393c23c5e57a2f99693f5ac6898bcb9d168f94eab26513d6fb9";
private bool PinPublicKey(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslpolicyerrors)
{
try
@@ -296,7 +304,11 @@ namespace BeWo
pk.Contains(PUB_KEY_R10.ToLower()) ||
pk.Contains(PUB_KEY_R11.ToLower()) ||
pk.Contains(PUB_KEY_R12.ToLower()) ||
pk.Contains(PUB_KEY_R13.ToLower()))
pk.Contains(PUB_KEY_R13.ToLower()) ||
pk.Contains(PUB_KEY_YE1.ToLower()) ||
pk.Contains(PUB_KEY_YE2.ToLower()) ||
pk.Contains(PUB_KEY_YR1.ToLower()) ||
pk.Contains(PUB_KEY_YR2.ToLower()))
{
chainContainsPk = true;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -106,13 +106,29 @@
<!-- FFD2D2D2 -->
<!-- #FFA0A0A0 -->
<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>
<Color x:Key="ModuleAiControlDefaultNavigationHeaderColor">#ffaaaaaa</Color>
<Color x:Key="ModuleAiControlDefaultNavigationContentColor">#FFD7DADB</Color>
<Color x:Key="ModuleAiControlDefaultNavigationContentColor2">#FF92A9B3</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationHeaderColor">#FF5C1919</Color>
<!--<Color x:Key="ModuleAiControlZeiterfassungNavigationHeaderColor">#FF5C1919</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor">#FF993B3B</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor2">#FF893535</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor2">#FF893535</Color>-->
<Color x:Key="ModuleAiControlZeiterfassungNavigationHeaderColor">#FFC80000</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor">#FFD7DADB</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor2">#FF92A9B3</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentTextPrimary">#FF111111</Color>
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentTextSecondary">#FF555555</Color>
<Color x:Key="ModuleAiControlSupportConceptNavigationHeaderColor">#FF5C1919</Color>
<Color x:Key="ModuleAiControlSupportConceptNavigationContentColor">#FF993B3B</Color>
@@ -136,14 +152,6 @@
<Color x:Key="ModuleAiControlOrganisationNavigationContentColor">#FFC8C000</Color>
<Color x:Key="ModuleAiControlOrganisationNavigationContentColor2">#FF706000</Color>
<Color x:Key="BrightTextPrimary">#FFFFFFFF</Color>
<Color x:Key="BrightTextSecondary">#FFD2D2D2</Color>
<Color x:Key="LightTextPrimary">#FFD2D2D2</Color>
<Color x:Key="LightTextSecondary">#FFA0A0A0</Color>
<Color x:Key="DarkTextPrimary">#FF111111</Color>
<Color x:Key="DarkTextSecondary">#FF777777</Color>
<SolidColorBrush x:Key="ModuleAiChatTabItem" Color="#FFFFFFBF" />
<SolidColorBrush x:Key="ModuleAiChatPrimaryColor" Color="#FFCECF7F" />

View File

@@ -31,4 +31,19 @@
</Trigger>
</Style.Triggers>
</Style>
<Style
x:Key="PopupBlackLabel"
BasedOn="{StaticResource BaseLabel}"
TargetType="Label">
<Setter Property="Foreground" Value="{DynamicResource TextForegroundDarkPrimary}" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="FontWeight" Value="Medium" />
<Setter Property="FontSize" Value="12" />
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource TextForegroundDarkSecondary}" />
</Trigger>
</Style.Triggers>
</Style>
</ResourceDictionary>

View File

@@ -108,13 +108,13 @@
<Border
Grid.Row="0"
Grid.Column="0"
Background="{DynamicResource NavigationHeaderBrush}"
CornerRadius="1,1,1,1">
Height="6"
Background="{DynamicResource NavigationHeaderBrush}">
<Border
x:Name="Header"
Grid.Row="0"
Grid.Column="0"
Margin="8"
Margin="0"
Padding="0"
Background="{x:Null}">
<ContentPresenter
@@ -133,10 +133,9 @@
<Border
Grid.Row="1"
Grid.Column="0"
Margin="0,2,0,0"
Margin="0,0,0,0"
Padding="0,0,0,0"
Background="{DynamicResource NavigationContentBrush}"
CornerRadius="1,1,1,1">
Background="{DynamicResource NavigationContentBrush}">
<ContentPresenter
Content="{TemplateBinding Content}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"

View File

@@ -29,6 +29,9 @@
<SolidColorBrush x:Key="TextForegroundPrimary" Color="{StaticResource LightTextPrimary}" />
<SolidColorBrush x:Key="TextForegroundSecondary" Color="{StaticResource LightTextSecondary}" />
<SolidColorBrush x:Key="TextForegroundDarkPrimary" Color="{StaticResource DarkTextPrimary}" />
<SolidColorBrush x:Key="TextForegroundDarkSecondary" Color="{StaticResource DarkTextSecondary}" />
<Style x:Key="ModuleAiControlDefaultStyle" TargetType="{x:Type GroupBox}">
<Style.Resources>
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlDefaultNavigationHeaderColor}" />
@@ -52,6 +55,8 @@
<GradientStop Offset="0" Color="{StaticResource ModuleAiControlZeiterfassungNavigationContentColor}" />
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlZeiterfassungNavigationContentColor2}" />
</LinearGradientBrush>
<SolidColorBrush x:Key="TextForegroundPrimary" Color="{StaticResource ModuleAiControlZeiterfassungNavigationContentTextPrimary}" />
<SolidColorBrush x:Key="TextForegroundSecondary" Color="{StaticResource ModuleAiControlZeiterfassungNavigationContentTextSecondary}" />
</Style.Resources>
</Style>
@@ -150,22 +155,22 @@
</Grid.ColumnDefinitions>
<Border
Width="auto"
Margin="0,4,0,0"
Padding="4"
Margin="0,0,3,0"
Padding="4,4,5,5"
VerticalAlignment="Top"
Background="#09000000"
Background="#DEFFFFFF"
BorderBrush="Black"
BorderThickness="0"
CornerRadius="10, 10, 10, 10">
<Image
Width="24"
Height="24"
Source="..\..\Ressources\Icons\chatbot2.png" />
Source="..\..\Ressources\Icons\bewoplaner_haus.png" />
</Border>
<Border
Grid.Column="1"
Padding="8,4,8,4"
Background="#20000000"
Background="#DEFFFFFF"
BorderBrush="Black"
BorderThickness="0"
CornerRadius="0, 10, 10, 10">
@@ -177,28 +182,9 @@
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<TextBlock
Margin="0"
Padding="0"
FontSize="14"
FontWeight="SemiBold"
Foreground="{DynamicResource TextForegroundPrimary}"
Style="{StaticResource TextBlockStyle}"
Text="{Binding ModelName}" />
<TextBlock
Grid.Column="1"
Margin="8,0,0,0"
Padding="0"
VerticalAlignment="Bottom"
FontSize="12"
FontWeight="Medium"
Foreground="{DynamicResource TextForegroundPrimary}"
Style="{StaticResource TextBlockStyle}"
Text="{Binding Created, StringFormat={}{0:dd.MM.yyyy HH:mm:ss}}" />
<TextBlock
Grid.Row="1"
Grid.Row="0"
Grid.ColumnSpan="2"
Margin="0,4,0,4"
Padding="0"
@@ -207,7 +193,36 @@
FontWeight="Medium"
Foreground="{DynamicResource TextForegroundSecondary}"
Style="{StaticResource TextBlockStyle}"
Text="{Binding DurationSec, StringFormat=Nachgedacht für {0} Sekunden}" />
Text="{Binding DurationSec, StringFormat=Nachgedacht für {0} Sekunden}">
<TextBlock.ToolTip>
<Grid Margin="4,0,0,4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<TextBlock
Margin="0"
Padding="0"
FontSize="12"
FontWeight="Normal"
Foreground="{DynamicResource TextForegroundPrimary}"
Style="{StaticResource TextBlockStyle}"
Text="{Binding ModelName, StringFormat=Modell: {0}}" />
<TextBlock
Grid.Row="1"
Padding="0"
VerticalAlignment="Bottom"
FontSize="12"
FontWeight="Normal"
Foreground="{DynamicResource TextForegroundPrimary}"
Style="{StaticResource TextBlockStyle}"
Text="{Binding Created, StringFormat=Datum/Uhrzeit: {0:dd.MM.yyyy HH:mm:ss}}" />
</Grid>
</TextBlock.ToolTip>
</TextBlock>
<!--<TextBlock
Grid.Row="1"
Grid.ColumnSpan="2"
@@ -219,7 +234,7 @@
Style="{StaticResource TextBlockStyle}"
Text="{Binding DurationSec, StringFormat=Nachgedacht für {0} Sekunden}" />-->
<TextBox
Grid.Row="2"
Grid.Row="1"
Grid.ColumnSpan="2"
Margin="0,4,0,0"
Padding="-3"
@@ -236,12 +251,27 @@
Width="auto"
Margin="30,0,30,0"
HorizontalAlignment="Center"
Background="#33000000"
Background="#DEFFFFFF"
BorderBrush="Black"
BorderThickness="0"
BorderThickness="1"
CornerRadius="0">
<Grid>
<TextBox Padding="8" Style="{StaticResource MessageTextBoxStyle}" />
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<TextBox
Padding="8"
HorizontalAlignment="Center"
Style="{StaticResource MessageTextBoxStyle}">
SystemPrompt
</TextBox>
<Separator Grid.Row="1" />
<TextBox
Grid.Row="2"
Padding="8"
Style="{StaticResource MessageTextBoxStyle}" />
</Grid>
</Border>
</DataTemplate>
@@ -252,7 +282,7 @@
Width="auto"
Margin="30,0,0,0"
HorizontalAlignment="Right"
Background="#15000000"
Background="#DEFFFFFF"
BorderBrush="Black"
BorderThickness="0"
CornerRadius="15, 15, 15, 15"

View File

@@ -148,7 +148,7 @@ namespace BeWo.View.Controls.AI
{
var control = (AiConversationButton)d;
var actionType = (AiActionType)e.NewValue;
if (BeWoApp.AppSettings.ShowAI)
if (BeWoApp.AppSettings.ShowAI && BeWoApp.HasLoggedOnUserRight(UserRightType.AiModulePromptbausteineView))
{
ServiceFacade.DoAiEnhancedServiceAsnyc(x => x.GetAiPromptbausteinFolder(actionType), folders => control.InitPromptbausteine(actionType, folders));
}

View File

@@ -167,7 +167,7 @@ namespace BeWo.View.Controls.AI
{
ActionType = actionType;
if (!BeWoApp.AppSettings.ShowAI)
if (!BeWoApp.AppSettings.ShowAI || !BeWoApp.HasLoggedOnUserRight(UserRightType.AiModulePromptbausteineView))
{
State = AiPromptbausteinButtonState.Hidden;
return;

View File

@@ -25,8 +25,10 @@
<Setter Property="SmallChange" Value="0.01" />
<Setter Property="IsMoveToPointEnabled" Value="True" />
</Style>
<Style BasedOn="{StaticResource PopupWhiteLabel}" TargetType="{x:Type Label}" />
<Style BasedOn="{StaticResource PopupBlackLabel}" TargetType="{x:Type Label}" />
<Style BasedOn="{StaticResource BaseRadioButton}" TargetType="{x:Type RadioButton}" >
<Setter Property="Foreground" Value="Black"/>
</Style>
</ResourceDictionary>
</UserControl.Resources>
<StackPanel>
@@ -34,7 +36,7 @@
HorizontalAlignment="Left"
FontFamily="Microsoft Sans Serif"
FontSize="14"
Foreground="#FFFFFF"
Foreground="Black"
Text="KI Module Einstellungen" />
<Path
Margin="0,3,0,0"

View File

@@ -21,6 +21,7 @@
x:Name="root"
Width="auto"
Height="auto"
MinWidth="600"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
d:DataContext="{d:DesignInstance Type=vmv:AiConversationChatViewModel,
@@ -40,7 +41,7 @@
Width="auto"
Margin="0,0,0,0"
HorizontalAlignment="Stretch"
Background="#17000000"
Background="#CCF4F4F4"
BorderBrush="Black"
BorderThickness="0"
CornerRadius="10, 10, 10, 10">
@@ -103,7 +104,7 @@
</localView:BeWoView.Resources>
<Grid>
<GroupBox x:Name="rootgroupbox" Style="{StaticResource ModuleAiControlSupportConceptStyle}">
<GroupBox x:Name="rootgroupbox" Style="{StaticResource ModuleAiControlZeiterfassungStyle}">
<GroupBox.Header>
<StackPanel
Grid.Row="0"
@@ -177,7 +178,7 @@
</dxwui:HamburgerMenu.Content>
</dxwui:HamburgerMenu>-->
<Grid Background="#12000000">
<Grid>
<ListView
x:Name="listview_conversations"
Padding="4"
@@ -192,31 +193,29 @@
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="Padding" Value="2" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Grid>
<Grid Margin="0,1,0,1">
<Border
x:Name="ItemBorder"
MinHeight="20"
Background="#FF000000"
CornerRadius="5">
x:Name="ItemBorder"
MinHeight="20"
Background="#FF000000"
CornerRadius="5">
<Border.OpacityMask>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Offset="0" Color="#19000000" />
<GradientStop Offset="1" Color="#26000000" />
<GradientStop Offset="0" Color="#00000000" />
<GradientStop Offset="1" Color="#00000000" />
</LinearGradientBrush>
</Border.OpacityMask>
</Border>
<Border
Name="ItemContent"
Padding="2"
SnapsToDevicePixels="true">
<ContentPresenter />
Name="ItemContent"
Padding="1"
SnapsToDevicePixels="true">
<ContentPresenter />
</Border>
</Grid>
<ControlTemplate.Triggers>
@@ -373,7 +372,10 @@
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<TextBlock FontSize="12" FontWeight="Medium">
<TextBlock
FontSize="12"
FontWeight="Medium"
Foreground="Black">
Bitte formulieren Sie eine Frage, um einen neuen Chat zu beginnen.<LineBreak />
Weitere Details erfahren Sie in der Hilfe.<Hyperlink NavigateUri="https://help.bewoplaner.de" RequestNavigate="Hyperlink_RequestNavigate">
(i)
@@ -479,7 +481,10 @@
Style="{StaticResource NavigationToolbarButtonStyle}"
Visibility="Collapsed" />
<TextBlock Margin="3" FontSize="10">
<TextBlock
Margin="0"
FontSize="10"
Foreground="#FFFDFDFD">
Dieses System verwendet KI.<LineBreak />
KI-generierte Inhalte sind zu prüfen.</TextBlock>
</StackPanel>
@@ -598,7 +603,7 @@
<Popup
x:Name="popup_message_save"
IsOpen="{Binding IsSavePromptOpen}"
Placement="Center"
Placement="Mouse"
PlacementTarget="{Binding ElementName=root}"
StaysOpen="False">
<Border BorderBrush="Black" BorderThickness="1">

View File

@@ -72,8 +72,13 @@
IsEnabled="{Binding ViewModel.CanEdit}"
Style="{StaticResource TextBoxNoticeLarge}"
Text="{Binding ViewModel.Prompt, UpdateSourceTrigger=PropertyChanged}"
TextWrapping="Wrap" />
TextWrapping="Wrap" Visibility="{Binding ViewModel.IsPromptVisible, Converter={StaticResource BoolVisibilityConverter}}" />
<Label Grid.Row="2"
Grid.Column="2" Foreground="DarkGray" FontSize="10"
Visibility="{Binding ViewModel.IsPromptVisible, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=Reverse}">
nicht sichtbar
</Label>
<Label
Grid.Row="3"
Grid.Column="0"

View File

@@ -31,9 +31,9 @@ namespace BeWo.View.Detail.Report
_TxtResturlaub.Text = konto.Resturlaub.ToString("0.00") + " Tage";
if (konto.Resturlaub < 0)
_TxtResturlaub.Foreground = Brushes.LightCoral;
_TxtResturlaubVorjahr.Text = konto.ResturlaubVorjahr.ToString("0.00") + " Tage";
_TxtResturlaubVorjahr.Text = konto.ResturlaubVorjahr > 0 ? konto.ResturlaubVorjahr.ToString("0.00") + " Tage" : "0,00 Tage";
_TxtUrlaubsanspruch.Text = konto.Urlaubsanspruch.ToString("0.00") + " Tage";
_TxtUrlaubsanspruchVorjahr.Text = konto.ResturlaubVorjahrTotal.ToString("0.00") + " Tage";
_TxtUrlaubsanspruchVorjahr.Text = konto.ResturlaubVorjahrTotal > 0 ? konto.ResturlaubVorjahrTotal.ToString("0.00") + " Tage" : "0,00 Tage";
_TxtTageUrlaub.Text = tageUrlaub.ToString("0.00") + " Tage";
_TxtTageKrank.Text = tageKrankheit.ToString("0.00") + " Tage";

View File

@@ -140,6 +140,9 @@ namespace BeWo.View
}
}
#if DEBUG
BeWoApp.LoggedOnEmployeeOwnChatCode = "TEST";
#endif
BewoChat.Visibility = !String.IsNullOrEmpty(BeWoApp.LoggedOnEmployeeOwnChatCode) ? Visibility.Visible : Visibility.Hidden;

View File

@@ -44,7 +44,7 @@
<Image
Width="32"
RenderTransformOrigin="0.5,0.5"
Source="..\..\Ressources\Icons\chatbot.png">
Source="..\..\Ressources\Icons\bewoplaner_haus.png">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />

View File

@@ -85,6 +85,24 @@ namespace BeWo.ViewModel
}
}
protected bool SetProperty<T>(ref T field, T value, string propertyName, params string[] morePropertyNames)
=> SetProperty(ref field, value, propertyName, null, morePropertyNames);
protected bool SetProperty<T>(ref T field, T value, string propertyName, Func<T> originalValueProvider = null, params string[] morePropertyNames)
{
var success = SetProperty<T>(ref field, value, propertyName, originalValueProvider);
if (success)
{
foreach (var morePropertyName in morePropertyNames)
{
FirePropertyChanged(morePropertyName);
}
}
return success;
}
protected new bool SetProperty<T>(ref T field, T value, string propertyName, Func<T> originalValueProvider = null)
{
if (EqualityComparer<T>.Default.Equals(field, value))

View File

@@ -73,13 +73,13 @@ namespace BeWo.ViewModel
public bool ShowPrompt
{
get => _ShowPrompt;
set => SetProperty(ref _ShowPrompt, value, nameof(ShowPrompt), () => DataContract.ShowPrompt);
set => SetProperty(ref _ShowPrompt, value, nameof(ShowPrompt), () => DataContract.ShowPrompt, nameof(IsPromptVisible));
}
public bool ShowPromptByTenant
{
get => _ShowPromptByTenant;
set => SetProperty(ref _ShowPromptByTenant, value, nameof(ShowPromptByTenant), () => DataContract.ShowPromptByTenant);
set => SetProperty(ref _ShowPromptByTenant, value, nameof(ShowPromptByTenant), () => DataContract.ShowPromptByTenant, nameof(IsPromptVisible));
}
public bool IsOwnsoftPrompt
@@ -103,12 +103,7 @@ namespace BeWo.ViewModel
public bool IsFavorite
{
get => _IsFavorite;
set
{
var success = SetProperty(ref _IsFavorite, value, nameof(IsFavorite), () => DataContract.IsFavorite);
if (success)
FirePropertyChanged(nameof(FontWeight));
}
set => SetProperty(ref _IsFavorite, value, nameof(IsFavorite), () => DataContract.IsFavorite, nameof(FontWeight));
}
public bool CanShareEdit
@@ -125,12 +120,7 @@ namespace BeWo.ViewModel
public bool IsSelected
{
get => _IsSelected;
set
{
var success = SetProperty(ref _IsSelected, value, nameof(IsSelected));
if (success)
FirePropertyChanged(nameof(IsInfoVisible));
}
set => SetProperty(ref _IsSelected, value, nameof(IsSelected), nameof(IsInfoVisible));
}
public bool IsInfoVisible
@@ -143,6 +133,11 @@ namespace BeWo.ViewModel
get => IsFavorite ? FontWeights.Bold : FontWeights.Medium;
}
public bool IsPromptVisible
{
get => ShowPrompt && ShowPromptByTenant;
}
protected override void InitByDataContract(AiPromptbausteinPromptDC pDataContract)
{
_Title = pDataContract.Title;

View File

@@ -227,7 +227,7 @@ namespace BeWo.ViewModel.ListViewModel
private void InitAiTranscriptionStuff()
{
if (!BeWoApp.AppSettings.ShowAIVoice)
if (!BeWoApp.AppSettings.ShowAIVoice || !BeWoApp.HasLoggedOnUserRight(UserRightType.AiVoiceView))
return;
ServiceFacade.DoAiEnhancedServiceAsnyc(x => x.GetUserSetting(),

View File

@@ -289,7 +289,7 @@ namespace BeWo.ViewModel
}
private static bool IsAiModuleRight(UserRightType right) =>
ContainsRight(right, UserRightType.AiModuleServiceRecordChat, UserRightType.AiModuleServiceRecordDocu, UserRightType.AiModulePromptbausteineEdit,
UserRightType.AiModulePromptbausteineView, UserRightType.AiModulePromptbausteinShare, UserRightType.AiVoiceView);
UserRightType.AiModulePromptbausteineView, UserRightType.AiModulePromptbausteinShare);
//private static bool IsAiModuleSettingRight(UserRightType right) =>
// ContainsRight(right);

View File

@@ -9,6 +9,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Server", "Server", "{FEB033
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReportImp", "ReportImp", "{D8A691C5-146D-4613-86CC-438F02FE9106}"
ProjectSection(SolutionItems) = preProject
ReportImp\CaritasVerbandDuerenJuelichEvBeWo\CaritasVerbandDuerenJuelichEvBeWo.csproj = ReportImp\CaritasVerbandDuerenJuelichEvBeWo\CaritasVerbandDuerenJuelichEvBeWo.csproj
ReportImp\LebenszentrumKönigsborn\LebenszentrumKoenigsborn.csproj = ReportImp\LebenszentrumKönigsborn\LebenszentrumKoenigsborn.csproj
EndProjectSection
EndProject
@@ -981,6 +982,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UteHengstermannAbwAnker", "
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KcmGmbHSozio", "ReportImp\KcmGmbHSozio\KcmGmbHSozio.csproj", "{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CaritasVerbandDuerenJuelichEvBeWo", "ReportImp\CaritasVerbandDuerenJuelichEvBeWo\CaritasVerbandDuerenJuelichEvBeWo.csproj", "{23696062-2534-49E5-B88D-E182F2399923}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SamanthaRiegerIntegrationspraxis", "ReportImp\SamanthaRiegerIntegrationspraxis\SamanthaRiegerIntegrationspraxis.csproj", "{BD841D90-CD90-44B6-8B3C-5C7D05225842}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -12032,6 +12037,54 @@ Global
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|x86.ActiveCfg = Release|Any CPU
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|x86.Build.0 = Release|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Debug|.NET.ActiveCfg = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Debug|.NET.Build.0 = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Debug|Any CPU.Build.0 = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Debug|x86.ActiveCfg = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Debug|x86.Build.0 = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.DebugRemote|x86.Build.0 = Debug|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Release|.NET.ActiveCfg = Release|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Release|.NET.Build.0 = Release|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Release|Any CPU.ActiveCfg = Release|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Release|Any CPU.Build.0 = Release|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Release|x86.ActiveCfg = Release|Any CPU
{23696062-2534-49E5-B88D-E182F2399923}.Release|x86.Build.0 = Release|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Debug|.NET.ActiveCfg = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Debug|.NET.Build.0 = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Debug|x86.ActiveCfg = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Debug|x86.Build.0 = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.DebugRemote|x86.Build.0 = Debug|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Release|.NET.ActiveCfg = Release|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Release|.NET.Build.0 = Release|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Release|Any CPU.Build.0 = Release|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Release|x86.ActiveCfg = Release|Any CPU
{BD841D90-CD90-44B6-8B3C-5C7D05225842}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -12517,6 +12570,8 @@ Global
{A2F237DC-997D-4B64-BA17-4F5157E4976A} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{CCDA80D2-C56B-4BCA-8FE9-21907333A098} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{23696062-2534-49E5-B88D-E182F2399923} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{BD841D90-CD90-44B6-8B3C-5C7D05225842} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -65,6 +65,13 @@ namespace BeWoDatabaseTerminator
private static String PUB_KEY_R13 = "00a567708dd0568164151761cdb906d4ad19908c2650379816639254dbd9cc840593ecd3ec081ba0605143487d2bc748969eb42dda9dc8273b57a19fabf0d60ed40e30ca6f9bb1d1d6a49d323e584e356f4558687117fc3ed85d82a02fb2516cb01a5db859ce3565c88ba1af1037ffe39c5dc2491734ff8c2b8b8df0bc712c930c1d05c4bac7cdaac95e7cd1c901f79c03f6fc0a5df4da7be6db764270ebf44d22da00776fd6c95f17fdda752ea5570cf6ea5cb6e073a568cfa174e275827e109fc1f5a2eb01e938b10a44ccd3c289f54935820a34b31ce988c2474e820e0a36f0474f8af1290475dacde19a5cff5e9d9895ba9a43d04aa21705010430d332b38f";
private static String PUB_KEY_YE1 = "0407655075fe68a695ada17d2babca549c8cf31968e2572f3fcd9c0736b32966f160f2854f42729fb3012422e6f4b0186263486925903f5f74f47c1a9c8320e2230847eb9dbb7fbfe65210f2cb1066da33a11c7036cdee9f71b5e226d80bdffabc";
private static String PUB_KEY_YE2 = "04719ab43391d6c410bdcca97b7774942db58738edac647434c7b9de533ea336cf9b920f97269345ab1e5597be796fa812ea881df8925bb121b98cc808aadff603e9ef34fef576e7d2bc5d021d8c55e5a1839ad26214ef57fb1d0d3d3ef603970f";
private static String PUB_KEY_YR1 = "00a158bc5f6c42620317bc9c4d3caa7fa05d7750c8263c0041d3b5422cd0eda179adf65b8464d252055d745724f53f3e8b0fc66ad5dda0738dd6365d40751ae3e2c1276b36ce8b3d273e9986069da1ba2e3da19b43218eb074a799022e416cd536d021fa45204130b490f5c5eb1fc77176fe0f009e39b2c18c2faf14484dc1b230b66ba70037d2f90a05d52108b9b5f3624cfa05659dd2d0e957a8b9a6b5d57de6e75601be5be9efc5e3d0e20ac1f4634d0083bd815486f5873ca798a7be5f49844414edb1bdc1c26a55f62a5e06330ba11fc3f5c1f11d0096a22e654e65f0634d79279ac67a5cf59d98c9bb1736922a1a5f6f572419e13243f9df5ad2746e6e33";
private static String PUB_KEY_YR2 = "00d9d0bc70069a6a87ce25baa31ead5fde78bfdf5d0ee62d042fd4b9e958a65bcaf1a9c7ac21e807e7b2502717a7b04e470703e8123a806f9b70df9b4e80b86885f8a46eb787c0728c2a9c0410096f7cf903cffde3afff0ba0ec8ca4e0d90ec5fd88ea0d9fe794fa9c9a0e4cb15cba4791abcd091901186a7f9d3c5afd38652040ada118a80d916f3ba5aa69b0e02e50972ba18851b79b948ace2a6998ab7a2b1ebb7da0cc324d04088ab6cbdde875f8bf6e5ba6444d712fc1fc6b5cf6455b5290fed8f2cfc5d7a2dd38a6e79938b5f0045f00f6ab288f4f1ad336aea537e00caf983673574daa4393c23c5e57a2f99693f5ac6898bcb9d168f94eab26513d6fb9";
private static bool PinPublicKey(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslpolicyerrors)
{
@@ -89,7 +96,11 @@ namespace BeWoDatabaseTerminator
pk.Contains(PUB_KEY_R10.ToLower()) ||
pk.Contains(PUB_KEY_R11.ToLower()) ||
pk.Contains(PUB_KEY_R12.ToLower()) ||
pk.Contains(PUB_KEY_R13.ToLower()))
pk.Contains(PUB_KEY_R13.ToLower()) ||
pk.Contains(PUB_KEY_YE1.ToLower()) ||
pk.Contains(PUB_KEY_YE2.ToLower()) ||
pk.Contains(PUB_KEY_YR1.ToLower()) ||
pk.Contains(PUB_KEY_YR2.ToLower()))
{
chainContainsPk = true;
}

View File

@@ -413,6 +413,8 @@
<Content Include="Content\datepicker_jQM.css" />
<Content Include="Content\dx.common.css" />
<Content Include="Content\dx.light.css" />
<Content Include="Content\images\Icon_Mikro_Schw.png" />
<Content Include="Content\images\Icon_Mikro_Weiss.png" />
<Content Include="Scripts\bootstrap\bootstrap.bundle.min.js" />
<Content Include="Scripts\bootstrap\bootstrap4-modal-fullscreen.min.css" />
<Content Include="Scripts\bs-custom-file-input.min.js" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -146,7 +146,7 @@ namespace BeWoPlanerMobil.Controllers
return;
}
if(customerOid == -1)
if(customerOid <= 0)
{
Model.CustomerSessionModel.ResetValues();
}

View File

@@ -16,6 +16,7 @@ using DevExpress.XtraScheduler;
using DevExpress.XtraScheduler.Compatibility;
using Newtonsoft.Json;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
@@ -31,6 +32,7 @@ using FormCollection = System.Web.Mvc.FormCollection;
using GoalRating = BeWoPlanerMobil.Util.GoalRating;
using Image = System.Drawing.Image;
using ServiceRecordDC = BS.Shared.DataContracts.ServiceRecordDC;
using BeWo.Service.AI;
/*
* ToDo: Bug, wenn man auf "bearbeiten" bei einem Eintrag klickt, wird die Leistung nicht geladen
@@ -41,6 +43,13 @@ namespace BeWoPlanerMobil.Controllers
{
public class MainController : SignableController
{
// Speichert den Status externer Aufrufe (callId -> Callback-Daten)
private static readonly ConcurrentDictionary<string, string> _externalCallResults = new ConcurrentDictionary<string, string>();
// Speichert optionale Statusmeldungen für laufende externe Aufrufe (callId -> Statustext)
private static readonly ConcurrentDictionary<string, string> _externalCallStatusMessages = new ConcurrentDictionary<string, string>();
// Speichert das Aufnametoken für laufende externe Aufrufe (callId -> Token)
private static readonly ConcurrentDictionary<string, AiVoiceDataDC> _externalCallTokens = new ConcurrentDictionary<string, AiVoiceDataDC>();
public MainController()
{
int test = 0;
@@ -3553,6 +3562,160 @@ namespace BeWoPlanerMobil.Controllers
return View("Main", Model);
}
/// <summary>
/// Ermittelt die externe URL, die beim Klick auf den Test-Button aufgerufen werden soll.
/// Die callbackUrl wird als Parameter mitgegeben, damit das externe System sie verwenden kann.
/// </summary>
[HttpGet]
[Authorize]
public JsonResult GetExternalCallUrl(string callId, string callbackUrl)
{
try
{
var externalUrl = "";
if (Mandator?.OwnChatCode != null)
{
var ts = new TranscriptionService();
var avd = ts.InitTranskription(MobileSessionFacade.Tenant, false);
externalUrl = avd.OwnChatUrl;
if (!string.IsNullOrEmpty(callId) && !string.IsNullOrEmpty(avd.Token))
{
_externalCallTokens[callId] = ts.MapAiVoiceDataDC(avd);
}
Log.Info($"GetExternalCallUrl: {callId}. Url = {externalUrl}, Transkription startet!");
//var externalBaseUrl = "https://example.com/external-service";
//var externalUrl = externalBaseUrl
// + "?callbackUrl=" + Uri.EscapeDataString(callbackUrl)
// + "&callId=" + Uri.EscapeDataString(callId);
}
else
{
Log.Info($"GetExternalCallUrl: {callId}. Url = {callbackUrl}, Transkription starten hat nicht geklappt. Kein OwnChatCode vorhanden!");
}
return Json(new { success = true, url = externalUrl }, JsonRequestBehavior.AllowGet);
}
catch(Exception ex)
{
return Json(new { success = false, message = "Fehler beim Ermitteln der externen URL: " + ex.Message }, JsonRequestBehavior.AllowGet);
}
}
/// <summary>
/// Callback-Endpunkt, der vom externen System aufgerufen wird.
/// Markiert den externen Aufruf als abgeschlossen.
/// </summary>
[HttpGet]
[AllowAnonymous]
public ActionResult ExternalCallCallback(string callId, string data = null)
{
if(!string.IsNullOrEmpty(callId))
{
_externalCallResults[callId] = data ?? string.Empty;
_externalCallStatusMessages.TryRemove(callId, out _);
_externalCallTokens.TryRemove(callId, out _);
}
return Content("OK");
}
/// <summary>
/// Kann vom externen System aufgerufen werden, um eine Statusmeldung zu setzen,
/// die dem Benutzer im Wartedialog angezeigt wird (ohne den Vorgang abzuschließen).
/// </summary>
[HttpGet]
[AllowAnonymous]
public ActionResult ExternalCallUpdateStatus(string callId, string message)
{
if(!string.IsNullOrEmpty(callId) && message != null)
{
_externalCallStatusMessages[callId] = message;
}
return Content("OK");
}
/// <summary>
/// Wird vom Browser per Polling aufgerufen, um zu prüfen ob der Callback bereits eingegangen ist.
/// Gibt bei completed=false optional eine Statusmeldung zurück.
/// </summary>
[HttpGet]
[Authorize]
public JsonResult CheckExternalCallStatus(string callId)
{
if(!string.IsNullOrEmpty(callId) && _externalCallResults.TryRemove(callId, out var data))
{
_externalCallStatusMessages.TryRemove(callId, out _);
_externalCallTokens.TryRemove(callId, out _);
return Json(new { completed = true, data }, JsonRequestBehavior.AllowGet);
}
string statusMessage = null;
//Log.Info($"CheckExternalCallStatus: Start {callId}.");
if (!string.IsNullOrEmpty(callId) && _externalCallTokens.TryRemove(callId, out var avddc))
{
var ts = new TranscriptionService();
var avd = ts.MapAiVoiceData(avddc);
avd = ts.GetTranskription(avd);
statusMessage = avd.StatusMessage;
if (!String.IsNullOrEmpty(avd.TranskriptionText))
{
statusMessage = "Transkription erfolgreich durchgeführt";
Log.Info($"CheckExternalCallStatus: {callId}. Transkription erfolgreich durchgeführt!");
ExternalCallCallback(callId, avd.TranskriptionText);
}
else if (!String.IsNullOrEmpty(avd.Error))
{
statusMessage = avd.Error;
Log.Info($"CheckExternalCallStatus: {callId}. Transkription mit Fehler beendet: {avd.Error}");
ExternalCallCallback(callId, "");
}
else
{
//Log.Info($"CheckExternalCallStatus: {callId}. Status: {statusMessage}");
}
avddc = ts.MapAiVoiceDataDC(avd);
_externalCallTokens[callId] = avddc;
}
else
{
Log.Info($"CheckExternalCallStatus: {callId}. Kein Token gefunden.");
}
return Json(new { completed = false, statusMessage }, JsonRequestBehavior.AllowGet);
}
/// <summary>
/// Wird aufgerufen, wenn der Benutzer den externen Aufruf abbricht.
/// Räumt den Eintrag auf, falls vorhanden.
/// </summary>
[HttpPost]
[Authorize]
public ActionResult CancelExternalCall(string callId)
{
if(!string.IsNullOrEmpty(callId))
{
_externalCallResults.TryRemove(callId, out _);
_externalCallStatusMessages.TryRemove(callId, out _);
_externalCallTokens.TryRemove(callId, out _);
}
return new HttpStatusCodeResult(200);
}
[HttpPost]
[Authorize]
public ActionResult ResetGroupBookingForm()

View File

@@ -58,11 +58,61 @@ namespace BeWoPlanerMobil.Models
public bool HasRightToInsertRessourceAppointments => CheckRight(UserRightType.KalenderRessourcentermineAnlegen) || CheckRight(UserRightType.CreateAll);
public bool HasRightToViewQuittierungsbelege
public bool HasRightToUseAiVoice
{
get
{
var showAiVoice = MobileUtils.GetSettingValue(Mandator.Settings, SettingsKeys.ShowAIVoice);
var showOwnChat = MobileUtils.GetSettingValue(Mandator.Settings, SettingsKeys.ShowChat);
#if DEBUG
showAiVoice = "1";
showOwnChat = "1";
//tenant = "4368658435";
//var serverUrl = OwnChatHelper.ErmittleServerURL("1", tenant);
//var apikey = "hNykpBwxE1Y6NmwZBTDQOpPXW6xCgnVHjJ5lh0QDQyCefgcnimC32aZ3CwB4qQl4";
//var userid = "1432790061";
Mandator.OwnChatCode = "HcYki-8hLbQ";
return true;
#endif
if ("1".Equals(showAiVoice) && CheckRight(UserRightType.AiVoiceView))
{
if (LoggedInEmployee != null && Mandator.OwnChatCode == null)
{
Mandator.OwnChatCode = "";
if ("1".Equals(showOwnChat))
{
var es = new BeWo.Service.ServiceImplementations.EmployeeServiceImp();
var empAppCodes = es.GetAllEmployeeAppCodes(LoggedInEmployee.EmployeeOid.Value);
if (empAppCodes != null && empAppCodes.Count > 0)
{
foreach (var item in empAppCodes)
{
if (item.EmployeeCode != null && !item.EmployeeCode.Equals(""))
Mandator.OwnChatCode = item.EmployeeCode;
}
}
}
}
}
return !String.IsNullOrEmpty(Mandator.OwnChatCode);
}
}
public bool HasRightToViewQuittierungsbelege
{
get
{
var showEmployeeSignatureSetting = MobileUtils.GetSettingValue(Mandator.Settings, SettingsKeys.ShowSignature);
#if DEBUG
showEmployeeSignatureSetting = "1";
@@ -72,7 +122,6 @@ namespace BeWoPlanerMobil.Models
}
public bool IsAllowedToSeeSupportConceptFilter
{
get

View File

@@ -18,6 +18,7 @@ namespace BeWoPlanerMobil.Models
//public string Website { get; set; }
//public string PostalCode { get; set; }
public string Settings { get; set; }
public string OwnChatCode { get; set; }
//public string State { get; set; }
//public string Street { get; set; }
//public string Town { get; set; }

View File

@@ -92,6 +92,7 @@ function changeGroupBookingFormEnableState(enableState) {
"#gb-distance-input, " +
"textarea, " +
"#reset-button, " +
"#aivoice-button, " +
"#create-button, " +
"#gb-textbausteine-btn, " +
"#gb-hours-minutes-dropdown-btn, " +
@@ -116,6 +117,7 @@ function changeSingleBookingFormEnableState(enableState) {
"#goals-button, " +
"textarea, " +
"#reset-button, " +
"#aivoice-button, " +
"#create-button, " +
"#statistics-button, " +
"#timeFrameSelect, " +

View File

@@ -168,6 +168,110 @@
}
</script>
<script type="text/javascript">
var _externalCallPollingTimer = null;
var _externalCallId = null;
function startExternalCall() {
// Eindeutige ID für diesen Aufruf generieren
_externalCallId = 'ext-' + Date.now() + '-' + Math.random().toString(36).substr(2, 9);
// Callback-URL für das externe System
var callbackUrl = window.location.origin + '@Url.Action("ExternalCallCallback", "Main")' + '?callId=' + encodeURIComponent(_externalCallId);
// Externe URL vom Server ermitteln lassen
$.ajax({
url: '@Url.Action("GetExternalCallUrl", "Main")',
data: { callId: _externalCallId, callbackUrl: callbackUrl },
type: 'GET',
success: function(result) {
if (result && result.success && result.url) {
// Overlay anzeigen und Statustext zurücksetzen
$('#external-call-status-text').text('Um die Aufnahme zu starten, klicken Sie auf den Link, den wir an Ihren ownChat Account gesendet haben.');
document.getElementById('external-call-overlay').style.display = 'flex';
// Externe URL in neuem Tab/Fenster öffnen
window.open(result.url, '_blank');
// Polling starten - prüft regelmäßig ob der Callback aufgerufen wurde
_externalCallPollingTimer = setInterval(function() {
$.ajax({
url: '@Url.Action("CheckExternalCallStatus", "Main")',
data: { callId: _externalCallId },
type: 'GET',
success: function(pollResult) {
if (pollResult && pollResult.completed) {
stopExternalCallPolling();
onExternalCallCompleted(pollResult.data);
} else if (pollResult && pollResult.statusMessage) {
$('#external-call-status-text').text(pollResult.statusMessage);
}
},
error: function() {
// Bei Fehler weiter pollen
}
});
}, 3000);
} else {
// Fehler beim Ermitteln der URL
var errorMsg = (result && result.message) ? result.message : 'Die externe URL konnte nicht ermittelt werden.';
showAlertMessageBox(errorMsg);
_externalCallId = null;
}
},
error: function() {
showAlertMessageBox('Fehler bei der Kommunikation mit dem Server.');
_externalCallId = null;
}
});
}
function cancelExternalCall() {
// callId merken BEVOR stopExternalCallPolling() sie auf null setzt
var callIdToCancel = _externalCallId;
stopExternalCallPolling();
// Server informieren, dass abgebrochen wurde
if (callIdToCancel) {
$.ajax({
url: '@Url.Action("CancelExternalCall", "Main")',
data: { callId: callIdToCancel },
type: 'POST'
});
}
}
function stopExternalCallPolling() {
if (_externalCallPollingTimer) {
clearInterval(_externalCallPollingTimer);
_externalCallPollingTimer = null;
}
_externalCallId = null;
document.getElementById('external-call-overlay').style.display = 'none';
}
function onExternalCallCompleted(data) {
var $target;
var targetIndex;
// Prüfen ob die Tab-Ansicht sichtbar ist (mehrere Dokutypes vorhanden)
var $activeTabTextarea = $('#dokufelderTab .tab-pane.active textarea');
if ($activeTabTextarea.length > 0) {
// Das aktive Tab-Textarea verwenden; Index aus der ID auslesen (sb-doku-textarea-{i})
$target = $activeTabTextarea;
targetIndex = parseInt($target.attr('id').replace('sb-doku-textarea-', ''), 10);
} else {
// Fallback: Einzelfeld Dokumentation6
$target = $('#sb-doku-textarea-5');
targetIndex = 5;
}
if ($target.length > 0) {
$target.val(data);
window.updateDokuText('sb', data, targetIndex);
}
}
</script>
@using(Html.BeginForm("ResetSingleBookingForm", "Main", FormMethod.Post, new { Id = "reset-single-booking-form-form" })) { }
<div class="row">
@@ -580,29 +684,47 @@
</div>
}
<div class="w-100 mt-2">
<button type="button" class="btn btn-primary float-right ml-1" id="create-button" onclick="submitSingleBookingForm()">@Model.SubmitButtonValue</button>
<div class="w-100 mt-2">
<button type="button" class="btn btn-primary float-right ml-1" id="create-button" onclick="submitSingleBookingForm()">@Model.SubmitButtonValue</button>
@if(Model.IsInEditingMode)
@if (Model.IsInEditingMode)
{
using (Html.BeginForm("ResetEditingMode", "Main", FormMethod.Post))
{
using(Html.BeginForm("ResetEditingMode", "Main", FormMethod.Post))
{
<button type="submit" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
}
<button type="submit" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
}
else if(Model.IsInTransferMode)
}
else if (Model.IsInTransferMode)
{
using (Html.BeginForm("ResetTransferMode", "Main", FormMethod.Post))
{
using(Html.BeginForm("ResetTransferMode", "Main", FormMethod.Post))
{
<button type="submit" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
}
<button type="submit" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
}
else
{
<button type="button" class="btn btn-primary float-right" id="reset-button" onclick="resetSingleBookingForm();">Abbrechen</button>
}
@Html.Partial("RestoreServiceRecordInputsPartial", Model)
}
else
{
<button type="button" class="btn btn-primary float-right" id="reset-button" onclick="resetSingleBookingForm();">Abbrechen</button>
}
@if (Model.HasRightToUseAiVoice)
{
<button type="button" class="btn btn-primary float-right mr-1" id="aivoice-button" onclick="startExternalCall();" title="KI-Spracheingabe & Transkription" style="padding: 0 0.6em; overflow: hidden; line-height: 0;"><img src="@Url.Content("~/Content/images/Icon_Mikro_Weiss.png")" alt="KI-Spracheingabe & Transkription" style="height:2.25em; display: block;" /></button>
}
@Html.Partial("RestoreServiceRecordInputsPartial", Model)
</div>
@* Waiting-Overlay für externen Aufruf *@
<div id="external-call-overlay" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.6); z-index:9999; justify-content:center; align-items:center;">
<div style="background:white; border-radius:8px; padding:30px; text-align:center; box-shadow:0 4px 20px rgba(0,0,0,0.3);">
<div class="mb-3">
<i class="fa fa-spinner fa-spin fa-2x"></i>
</div>
<p class="mb-3" id="external-call-status-text">Warte auf Rückmeldung vom externen System...</p>
<button type="button" class="btn btn-danger" onclick="cancelExternalCall();">Abbrechen</button>
</div>
</div>
}
</div>

View File

@@ -267,7 +267,7 @@
var hasNoOwnEntries = !Model.HasRightToProvideEmployeeSignatureForOthers && result.Items.All(item => !item.EmployeeOid.Equals(Model.LoggedInEmployee.EmployeeOid));
var disabledString = hasNoOwnEntries ? "disabled" : string.Empty;
var customerDisabledString = result.FristAbgelaufen ? "disabled" : string.Empty;
var fristAbgelaufen = result.FristAbgelaufen ? "true" : "false";
}
<div class="row">
@@ -299,7 +299,7 @@
<span class="fas fa-trash"></span>
</button>
}
<button class="btn btn-bewo-customers" @customerDisabledString type="button" onclick="loadConfirmationReceiptSignatures('@cardBodyId_ssp', '@result.Identifier', false, @result.HasCustomerSignature.ToString().ToLower(), @canCustomerSign.ToString().ToLower(), @result.CustomerOid)">
<button class="btn btn-bewo-customers" type="button" onclick="if(@fristAbgelaufen){showAlertMessageBoxWithoutCallback('Unterschreiben nicht möglich.', 'Die Frist, in der neue Einträge unterschrieben werden müssen, ist leider abgelaufen.');}else{loadConfirmationReceiptSignatures('@cardBodyId_ssp', '@result.Identifier', false, @result.HasCustomerSignature.ToString().ToLower(), @canCustomerSign.ToString().ToLower(), @result.CustomerOid);}">
<span class="fas fa-signature mr-0 pr-0"></span>
@if(customerSignatureState != SignatureState.All)
{

View File

@@ -55,7 +55,7 @@
<script type="text/javascript" src="@Scripts.Url("~/Scripts/moment/locale/de.js")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/mobileUtils.js?v=1.9")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/view-scripts/main.js?v=2.6")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/view-scripts/main.js?v=2.7")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/signature.js?v=1.5")"></script>
<link type="text/css" rel="stylesheet" href="@Url.Content("~/Scripts/bootstrap/bootstrap4-modal-fullscreen.min.css")" />
@@ -361,7 +361,6 @@
<span class="logoff-countdown m-0 p-0" id="countdown" onclick="countdownClick()">&nbsp;</span>
</p>
</a>
<span class="logoff-countdown m-0 p-0">Version 3.30</span>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive">
<span class="navbar-toggler-icon"></span>
@@ -398,31 +397,31 @@
</li>
}
}
@if(Model.IsAllowedToSeePersons)
@if (Model.IsAllowedToSeePersons)
{
using(Html.BeginForm("RedirectToPersons", "Main", FormMethod.Post))
{
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-user text-bewo-person"></i>
Personen
</button>
</li>
}
using (Html.BeginForm("RedirectToPersons", "Main", FormMethod.Post))
{
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-user text-bewo-person"></i>
Personen
</button>
</li>
}
}
@if(Model.HasRightToViewOwnEmployee)
@if (Model.HasRightToViewOwnEmployee)
{
using(Html.BeginForm("RedirectToEmployees", "Main", FormMethod.Post))
{
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-user text-bewo-employee"></i>
Mitarbeiter
</button>
</li>
}
using (Html.BeginForm("RedirectToEmployees", "Main", FormMethod.Post))
{
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-user text-bewo-employee"></i>
Mitarbeiter
</button>
</li>
}
}
@if (Model.IsAllowedToSeeCustomers)
@@ -514,6 +513,10 @@
</button>
}
</li>
<li class="nav-item">
<span class="logoff-countdown m-0 p-0">Version 3.31</span>
</li>
</ul>
</div>
</div>

View File

@@ -1,5 +1,5 @@
UNA:+,? '
UNB+UNOC:3+109910000+999999999+251201:1030+00396++AO05Q126ke0'
UNB+UNOC:3+109910000+999999999+260301:1030+00397++AO05Q226ke0'
UNH+00001+KOTR:02:001:KV'
IDK+100295017+99+gkv informatik'
VDT+19970403'
@@ -2002,7 +2002,7 @@ VKG+09+108816811+5++28+6+++47'
VKG+09+108616568+5++21+6+++10'
VKG+09+108616568+5++26+6+++10'
VKG+09+108616568+5++27+6+++10'
VKG+09+108916709+5++28+6+++50'
VKG+09+108910008+5++28+6+++50'
VKG+09+108916709+5++21+6+++20'
VKG+09+108916709+5++26+6+++20'
VKG+09+108916709+5++27+6+++20'
@@ -2531,4 +2531,11 @@ ANS+1+40468+D
ANS+2+40004+Düsseldorf+10 13 41'
ASP+01+02118791/56515++Frau Kromat+Fahrkosten'
UNT+000009+00206'
UNZ+000206+00396'
UNH+00207+KOTR:02:001:KV'
IDK+108910008+99+SCD Ebermannsdorf'
VDT+20260401'
FKT+01'
NAM+01+AOK Bayern Servicecenter+Datentransformation'
ANS+1+92263+Ebermannsdorf+Untere Zell 7'
UNT+000007+00207'
UNZ+000207+00397'

View File

@@ -1,5 +1,5 @@
UNA:+,? '
UNB+UNOC:3+104027544+999999999+260313:1445+00245++BK05Q126KE2'
UNB+UNOC:3+104027544+999999999+260326:1010+00246++BK05Q226KE0'
UNH+00001+KOTR:02:001:KV'
IDK+100820488+99+Brandenburgische BKK'
VDT+20100101'
@@ -1015,6 +1015,9 @@ VKG+09+107436557+5++29++++61'
VKG+03+107436557+5++07++++62'
VKG+09+107436557+5++28++++62'
VKG+09+107436557+5++29++++62'
VKG+03+107436557+5++07++++63'
VKG+09+107436557+5++28++++63'
VKG+09+107436557+5++29++++63'
VKG+03+107436557+5++07++++65'
VKG+09+107436557+5++28++++65'
VKG+09+107436557+5++29++++65'
@@ -1039,7 +1042,7 @@ VKG+09+107436557+5++29++++76'
NAM+01+Continentale+Betriebskrankenkasse'
ANS+1+22335+Hamburg+Sengelmannstr.120'
ANS+2+30645+Hannover+ZentralerPosteingang'
UNT+000066+00066'
UNT+000069+00066'
UNH+00067+KOTR:02:001:KV'
IDK+103524101+99+BKK BJB'
VDT+20100401'
@@ -5966,4 +5969,4 @@ NAM+01+Betriebskrankenkasse+futur+Gesch.Ber.Neue Bundesl
ANS+1+47803+Krefeld+Girmesgath 5'
ANS+3+70426+Stuttgart'
UNT+000009+00365'
UNZ+000365+00245'
UNZ+000365+00246'

View File

@@ -1,5 +1,5 @@
UNA:+,? '
UNB+UNOC:3+109900019+999999999+260205:1000+00035++IK05Q126KE0'
UNB+UNOC:3+109900019+999999999+260326:1005+00036++IK05Q226KE0'
UNH+00001+KOTR:02:001:KV'
IDK+100202527+99+IKK Nord (vorm. IKK MV)+78301'
VDT+19950801'
@@ -347,20 +347,18 @@ VKG+03+109900019+5++07++++55'
VKG+03+109900019+5++07++++56'
VKG+03+109900019+5++07++++57'
VKG+03+109900019+5++07++++67'
VKG+03+109900019+5++07++++69'
VKG+03+109900019+5++07++++90'
VKG+03+661430035+5++07++++99'
VKG+09+103700935+5++28++++55'
VKG+09+103700935+5++28++++56'
VKG+09+103700935+5++28++++57'
VKG+09+101500154+5++28++++67'
VKG+09+108001769+5++28++++69'
VKG+09+108001769+5++28++++90'
VKG+09+661400222+5++28++++99'
NAM+01+IKK Classic (West)'
ANS+1+01099+Dresden+Tannenstraße 4b'
ASP+01+0800-4551111+0351-429220099+Service-Hotline+info@ikk-classic.de'
UNT+000023+00031'
UNT+000021+00031'
UNH+00032+KOTR:02:001:KV'
IDK+101534564+99+Signal IDUNA IKK (ex BKK West)'
VDT+19800101'
@@ -1533,20 +1531,18 @@ VKG+03+109900019+5++07++++55'
VKG+03+109900019+5++07++++56'
VKG+03+109900019+5++07++++57'
VKG+03+109900019+5++07++++67'
VKG+03+109900019+5++07++++69'
VKG+03+109900019+5++07++++90'
VKG+03+661430035+5++07++++99'
VKG+09+103700935+5++28++++55'
VKG+09+103700935+5++28++++56'
VKG+09+103700935+5++28++++57'
VKG+09+107202793+5++28++++67'
VKG+09+108001769+5++28++++69'
VKG+09+108001769+5++28++++90'
VKG+09+661400222+5++28++++99'
NAM+01+IKK Classic (Ost)'
ANS+1+01099+Dresden+Tannenstraße 4b'
ASP+01+0800-4551111++Service-Hotline+info@ikk-classic.de'
UNT+000023+00153'
UNT+000021+00153'
UNH+00154+KOTR:02:001:KV'
IDK+107401705+99+IKK BW u. He. (vorm. IKK BaWü)+57303'
VDT+19950801'
@@ -2300,4 +2296,4 @@ NAM+01+IKK Classic+c/o DAVASO GmbH'
ANS+1+04316+Leipzig+Sommerfelder Str. 120'
ANS+2+04304+Leipzig+500761'
UNT+000008+00227'
UNZ+000227+00035'
UNZ+000227+00036'

View File

@@ -72,7 +72,9 @@ namespace BeWo.Data.Entities
x.OwnsoftRefLink == ent.OwnsoftRefLink &&
x.Prompt == ent.Prompt &&
x.ActionType == ent.ActionType &&
x.SamplesCount == ent.SamplesCount;
x.SamplesCount == ent.SamplesCount &&
x.ShowPrompt == ent.ShowPrompt &&
x.ShowPromptByTenant == ent.ShowPromptByTenant;
}
public int GetHashCode(AiPromptbausteinPrompt obj)

View File

@@ -18,5 +18,6 @@ namespace BeWo.Data.Entities
public virtual String Token { get; set; }
public virtual String UploadUrl { get; set; }
public virtual String ResultUrl { get; set; }
public virtual String OwnChatUrl { get; set; }
}
}

View File

@@ -199,9 +199,11 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Content Include="StatusService.svc" />
<Content Include="ApiStreamService.svc" />
<Content Include="ApiService.svc" />
<Content Include="AdminService.svc" />
<Content Include="status.htm" />
<Content Include="Config\ai\systemPrompts\customFunctionPreSystemPrompt.txt" />
<Content Include="Config\ai\systemPrompts\customPreSystemPrompt.txt" />
<Content Include="Config\allowed_ips_admin_api.txt" />

View File

@@ -1,4 +1,4 @@
<?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>C:\Projects\Bewo\BeWo - Main\Host\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>

1
Host/StatusService.svc Normal file
View File

@@ -0,0 +1 @@
<%@ ServiceHost Language="C#" Debug="true" Service="BeWo.Service.ServiceImplementations.Enhanced.StatusServiceImp" %>

View File

@@ -307,6 +307,9 @@
<service behaviorConfiguration="returnFaults" name="BeWo.Service.ServiceImplementations.Enhanced.AiEnhancedServiceImp">
<endpoint behaviorConfiguration="SecurityAndSessionAndWCFErrorBehavior" binding="basicHttpBinding" bindingConfiguration="TransportSecurity" name="AiEnhancedServiceEndpoint" contract="BeWo.Service.ServiceContracts.Enhanced.IAiEnhancedService" />
</service>
<service behaviorConfiguration="returnFaults" name="BeWo.Service.ServiceImplementations.Enhanced.StatusServiceImp">
<endpoint behaviorConfiguration="webHttpBehaviorConfig" binding="webHttpBinding" bindingConfiguration="webHttpStreamBindingConfig" name="StatusServiceEndpoint" contract="BeWo.Service.ServiceContracts.Enhanced.IStatusService" />
</service>
</services>
<bindings>
<basicHttpBinding>

97
Host/status.htm Normal file
View File

@@ -0,0 +1,97 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<title>BeWo Serverstatus</title>
<style>
body {
font-family: sans-serif;
padding: 2rem;
background: #f5f5f5;
}
h1 {
color: #333;
}
.ok {
color: green;
font-weight: bold;
}
.err {
color: red;
font-weight: bold;
}
table {
border-collapse: collapse;
width: 100%;
max-width: 600px;
margin-top: 1rem;
}
td, th {
border: 1px solid #ccc;
padding: 8px 12px;
text-align: left;
}
th {
background: #eee;
}
</style>
</head>
<body>
<h1>BeWo Serverstatus</h1>
<p>Tenant: <span id="tenant"></span></p>
<p>Serverzeit: <span id="time"></span></p>
<p>Version: <span id="version"></span></p>
<p>Datenbank: <span id="db"></span></p>
<h2>Services</h2>
<table>
<thead><tr><th>Service</th><th>Status</th><th>Meldung</th></tr></thead>
<tbody id="services"></tbody>
</table>
<script>
function getTenant() {
const params = new URLSearchParams(window.location.search);
return params.get('Tenant') || '';
}
async function load() {
const tenant = getTenant();
const url = tenant
? `StatusService.svc/Status?Tenant=${encodeURIComponent(tenant)}`
: 'StatusService.svc/Status';
const res = await fetch(url);
const data = await res.json();
document.getElementById('tenant').textContent = data.Tenant || '';
document.getElementById('time').textContent = data.ServerTime;
document.getElementById('version').textContent = data.Version;
const db = document.getElementById('db');
db.textContent = data.DatabaseOk ? '✔ OK' : '✘ Fehler';
db.className = data.DatabaseOk ? 'ok' : 'err';
const tbody = document.getElementById('services');
tbody.innerHTML = '';
for (const svc of data.Services) {
const cls = svc.IsOk ? 'ok' : 'err';
tbody.innerHTML += `
<tr>
<td>${svc.Name}</td>
<td class="${cls}">${svc.IsOk ? '✔ OK' : '✘ Fehler'}</td>
<td>${svc.Message}</td>
</tr>`;
}
}
load();
setInterval(load, 30000); // alle 30 Sek. aktualisieren</script>
</body>
</html>

BIN
Lib/RestSharp.dll Normal file

Binary file not shown.

View File

@@ -2018,4 +2018,23 @@ ALTER TABLE `servicerecordhistory`
ADD INDEX `ChangeTypeIdx` (`ChangeType` ASC);
ALTER TABLE `servicerecordhistory`
ADD INDEX `ServiceRecordOidIdx` (`ServiceRecordOid` ASC);
ADD INDEX `ServiceRecordOidIdx` (`ServiceRecordOid` ASC);
INSERT INTO `.executedscripts`
VALUES ('Changes_2026-03-24 AiUserSettings', CURDATE());
CREATE TABLE `aiusersetting` (
`Oid` bigint NOT NULL,
`InsTs` datetime DEFAULT NULL,
`InsUser` varchar(256) DEFAULT NULL,
`Notice` varchar(1024) DEFAULT NULL,
`Tid` int DEFAULT NULL,
`UdpUser` varchar(256) DEFAULT NULL,
`Version` bigint DEFAULT NULL,
`IsActive` tinyint DEFAULT NULL,
`SystemEntryID` int DEFAULT NULL,
`ApplicationUserOid` bigint NOT NULL,
`AutoStartRecording` tinyint DEFAULT NULL,
PRIMARY KEY (`Oid`),
CONSTRAINT `FK_AIUSERSETTINGUSEROID_APPLICATIONUSER` FOREIGN KEY (`ApplicationUserOid`) REFERENCES `applicationuser` (`Oid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1

View File

@@ -0,0 +1,430 @@
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
partial class AsaStatistikReport
{
/// <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);
}
#region Designer generated code
/// <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();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.lblVersion = new DevExpress.XtraReports.UI.XRLabel();
this.lblTitel = new DevExpress.XtraReports.UI.XRLabel();
this.lblVermLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblVermWert = new DevExpress.XtraReports.UI.XRLabel();
this.lblStaLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblStaWert = new DevExpress.XtraReports.UI.XRLabel();
this.lblBerLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblBerWert = new DevExpress.XtraReports.UI.XRLabel();
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
this.tblHeader = new DevExpress.XtraReports.UI.XRTable();
this.tblHeaderRow = new DevExpress.XtraReports.UI.XRTableRow();
this.cellHPos = new DevExpress.XtraReports.UI.XRTableCell();
this.cellHBeschr = new DevExpress.XtraReports.UI.XRTableCell();
this.cellHWert = new DevExpress.XtraReports.UI.XRTableCell();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.tblDetail = new DevExpress.XtraReports.UI.XRTable();
this.tblDetailRow = new DevExpress.XtraReports.UI.XRTableRow();
this.cellPos = new DevExpress.XtraReports.UI.XRTableCell();
this.cellBeschr = new DevExpress.XtraReports.UI.XRTableCell();
this.cellWert = new DevExpress.XtraReports.UI.XRTableCell();
this.ruleHighlighted = new DevExpress.XtraReports.UI.FormattingRule();
this.ruleSectionHeader = new DevExpress.XtraReports.UI.FormattingRule();
this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
this.paramVermittlungsstelle = new DevExpress.XtraReports.Parameters.Parameter();
this.paramStaatsanwaltschaft = new DevExpress.XtraReports.Parameters.Parameter();
this.paramBerichtszeitraum = new DevExpress.XtraReports.Parameters.Parameter();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tblHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tblDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.Straffaelligenhilfe.AsaStatistikReportRow);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblVersion,
this.lblTitel,
this.lblVermLabel,
this.lblVermWert,
this.lblStaLabel,
this.lblStaWert,
this.lblBerLabel,
this.lblBerWert});
this.ReportHeader.HeightF = 84F;
this.ReportHeader.Name = "ReportHeader";
//
// lblVersion
//
this.lblVersion.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVersion.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.lblVersion.Name = "lblVersion";
this.lblVersion.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVersion.SizeF = new System.Drawing.SizeF(80F, 18F);
this.lblVersion.Text = "V 2014.1";
//
// lblTitel
//
this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(80F, 0F);
this.lblTitel.Name = "lblTitel";
this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblTitel.SizeF = new System.Drawing.SizeF(989F, 18F);
this.lblTitel.StylePriority.UseFont = false;
this.lblTitel.StylePriority.UseTextAlignment = false;
this.lblTitel.Text = "Statistik der Aufsuchenden Sozialarbeit (ASA)";
this.lblTitel.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// lblVermLabel
//
this.lblVermLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVermLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 20F);
this.lblVermLabel.Name = "lblVermLabel";
this.lblVermLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVermLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblVermLabel.Text = "Vermittlungsstelle (Ort):";
//
// lblVermWert
//
this.lblVermWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Vermittlungsstelle]")});
this.lblVermWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVermWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 20F);
this.lblVermWert.Name = "lblVermWert";
this.lblVermWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVermWert.SizeF = new System.Drawing.SizeF(300F, 18F);
//
// lblStaLabel
//
this.lblStaLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblStaLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 40F);
this.lblStaLabel.Name = "lblStaLabel";
this.lblStaLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblStaLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblStaLabel.Text = "Staatsanwaltschaft / Landgerichtsbezirk:";
//
// lblStaWert
//
this.lblStaWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Staatsanwaltschaft]")});
this.lblStaWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblStaWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 40F);
this.lblStaWert.Name = "lblStaWert";
this.lblStaWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblStaWert.SizeF = new System.Drawing.SizeF(300F, 18F);
//
// lblBerLabel
//
this.lblBerLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblBerLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 60F);
this.lblBerLabel.Name = "lblBerLabel";
this.lblBerLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblBerLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblBerLabel.Text = "Berichtszeitraum:";
//
// lblBerWert
//
this.lblBerWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "FormatString('{0:dd.MM.yyyy}', [Parameters.Berichtszeitraum])")});
this.lblBerWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblBerWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 60F);
this.lblBerWert.Name = "lblBerWert";
this.lblBerWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblBerWert.SizeF = new System.Drawing.SizeF(200F, 18F);
//
// PageHeader
//
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.tblHeader});
this.PageHeader.HeightF = 28F;
this.PageHeader.Name = "PageHeader";
//
// tblHeader
//
this.tblHeader.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.tblHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.tblHeader.BorderWidth = 0.5F;
this.tblHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.tblHeader.Name = "tblHeader";
this.tblHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.tblHeaderRow});
this.tblHeader.SizeF = new System.Drawing.SizeF(1069F, 28F);
//
// tblHeaderRow
//
this.tblHeaderRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.cellHPos,
this.cellHBeschr,
this.cellHWert});
this.tblHeaderRow.Name = "tblHeaderRow";
this.tblHeaderRow.Weight = 1.0D;
//
// cellHPos
//
this.cellHPos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHPos.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHPos.Name = "cellHPos";
this.cellHPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHPos.StylePriority.UseFont = false;
this.cellHPos.StylePriority.UseTextAlignment = false;
this.cellHPos.Text = "Pos.";
this.cellHPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHPos.Weight = 0.20D;
//
// cellHBeschr
//
this.cellHBeschr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHBeschr.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHBeschr.Name = "cellHBeschr";
this.cellHBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHBeschr.StylePriority.UseFont = false;
this.cellHBeschr.StylePriority.UseTextAlignment = false;
this.cellHBeschr.Text = "1 Auftrag = 1 Person !!!";
this.cellHBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHBeschr.Weight = 1.40D;
//
// cellHWert
//
this.cellHWert.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHWert.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHWert.Name = "cellHWert";
this.cellHWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHWert.StylePriority.UseFont = false;
this.cellHWert.StylePriority.UseTextAlignment = false;
this.cellHWert.Text = "zur Abwendung einer\nErsatzfreiheitsstrafe";
this.cellHWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHWert.Weight = 0.40D;
//
// Detail
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.tblDetail});
this.Detail.HeightF = 16F;
this.Detail.Name = "Detail";
//
// tblDetail
//
this.tblDetail.AnchorVertical = ((DevExpress.XtraReports.UI.VerticalAnchorStyles)((DevExpress.XtraReports.UI.VerticalAnchorStyles.Top | DevExpress.XtraReports.UI.VerticalAnchorStyles.Bottom)));
this.tblDetail.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.tblDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.tblDetail.BorderWidth = 0.5F;
this.tblDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.tblDetail.Name = "tblDetail";
this.tblDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.tblDetailRow});
this.tblDetail.SizeF = new System.Drawing.SizeF(1069F, 16F);
//
// tblDetailRow
//
this.tblDetailRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.cellPos,
this.cellBeschr,
this.cellWert});
this.tblDetailRow.FormattingRules.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleHighlighted,
this.ruleSectionHeader});
this.tblDetailRow.Name = "tblDetailRow";
this.tblDetailRow.Weight = 11.5D;
//
// cellPos
//
this.cellPos.CanGrow = false;
this.cellPos.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Position]")});
this.cellPos.Name = "cellPos";
this.cellPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellPos.StylePriority.UseTextAlignment = false;
this.cellPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.cellPos.Weight = 0.20D;
//
// cellBeschr
//
this.cellBeschr.CanGrow = false;
this.cellBeschr.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Beschreibung]")});
this.cellBeschr.Name = "cellBeschr";
this.cellBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellBeschr.StylePriority.UseTextAlignment = false;
this.cellBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.cellBeschr.Weight = 1.40D;
//
// cellWert
//
this.cellWert.CanGrow = false;
this.cellWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Wert]")});
this.cellWert.Name = "cellWert";
this.cellWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellWert.StylePriority.UseTextAlignment = false;
this.cellWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.cellWert.Weight = 0.40D;
//
// ruleHighlighted
//
this.ruleHighlighted.Condition = "[RowType] == 1";
this.ruleHighlighted.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(230)))), ((int)(((byte)(153)))));
this.ruleHighlighted.Name = "ruleHighlighted";
//
// ruleSectionHeader
//
this.ruleSectionHeader.Condition = "[RowType] == 2";
this.ruleSectionHeader.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(215)))), ((int)(((byte)(238)))));
this.ruleSectionHeader.Formatting.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.ruleSectionHeader.Name = "ruleSectionHeader";
//
// PageFooter
//
this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo1});
this.PageFooter.HeightF = 26F;
this.PageFooter.Name = "PageFooter";
//
// xrPageInfo1
//
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(868.9998F, 10F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(200F, 16F);
this.xrPageInfo1.StylePriority.UseTextAlignment = false;
this.xrPageInfo1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// TopMargin
//
this.TopMargin.HeightF = 50F;
this.TopMargin.Name = "TopMargin";
//
// BottomMargin
//
this.BottomMargin.HeightF = 50F;
this.BottomMargin.Name = "BottomMargin";
//
// paramVermittlungsstelle
//
this.paramVermittlungsstelle.Description = "Vermittlungsstelle (Ort)";
this.paramVermittlungsstelle.Name = "Vermittlungsstelle";
//
// paramStaatsanwaltschaft
//
this.paramStaatsanwaltschaft.Description = "Staatsanwaltschaft / LG-Bezirk";
this.paramStaatsanwaltschaft.Name = "Staatsanwaltschaft";
this.paramStaatsanwaltschaft.ValueInfo = "GESAMT";
//
// paramBerichtszeitraum
//
this.paramBerichtszeitraum.Description = "Berichtszeitraum (Stichtag)";
this.paramBerichtszeitraum.Name = "Berichtszeitraum";
this.paramBerichtszeitraum.Type = typeof(System.DateTime);
this.paramBerichtszeitraum.ValueInfo = "2026-03-31";
//
// AsaStatistikReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.TopMargin,
this.ReportHeader,
this.PageHeader,
this.Detail,
this.PageFooter,
this.BottomMargin});
this.DataSource = this.bindingSource1;
this.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleHighlighted,
this.ruleSectionHeader});
this.Landscape = true;
this.Margins = new DevExpress.Drawing.DXMargins(50F, 50F, 50F, 50F);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.paramVermittlungsstelle,
this.paramStaatsanwaltschaft,
this.paramBerichtszeitraum});
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tblHeader)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tblDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
// ── Private Felder (alle Report-Controls) ──────────────────────────────
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.PageHeaderBand PageHeader;
private DevExpress.XtraReports.UI.DetailBand Detail;
private DevExpress.XtraReports.UI.PageFooterBand PageFooter;
// Report-Header Labels
private DevExpress.XtraReports.UI.XRLabel lblVersion;
private DevExpress.XtraReports.UI.XRLabel lblTitel;
private DevExpress.XtraReports.UI.XRLabel lblVermLabel;
private DevExpress.XtraReports.UI.XRLabel lblVermWert;
private DevExpress.XtraReports.UI.XRLabel lblStaLabel;
private DevExpress.XtraReports.UI.XRLabel lblStaWert;
private DevExpress.XtraReports.UI.XRLabel lblBerLabel;
private DevExpress.XtraReports.UI.XRLabel lblBerWert;
// Page-Header Tabelle
private DevExpress.XtraReports.UI.XRTable tblHeader;
private DevExpress.XtraReports.UI.XRTableRow tblHeaderRow;
private DevExpress.XtraReports.UI.XRTableCell cellHPos;
private DevExpress.XtraReports.UI.XRTableCell cellHBeschr;
private DevExpress.XtraReports.UI.XRTableCell cellHWert;
// Detail-Tabelle
private DevExpress.XtraReports.UI.XRTable tblDetail;
private DevExpress.XtraReports.UI.XRTableRow tblDetailRow;
private DevExpress.XtraReports.UI.XRTableCell cellPos;
private DevExpress.XtraReports.UI.XRTableCell cellBeschr;
private DevExpress.XtraReports.UI.XRTableCell cellWert;
// Seitenzahl
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
// Bedingte Formatierung
private DevExpress.XtraReports.UI.FormattingRule ruleHighlighted;
private DevExpress.XtraReports.UI.FormattingRule ruleSectionHeader;
// Parameter
private DevExpress.XtraReports.Parameters.Parameter paramVermittlungsstelle;
private DevExpress.XtraReports.Parameters.Parameter paramStaatsanwaltschaft;
private DevExpress.XtraReports.Parameters.Parameter paramBerichtszeitraum;
}
}

View File

@@ -0,0 +1,133 @@
using System;
using System.Collections.Generic;
using BeWo.Service.Reporting.Straffaelligenhilfe;
using DevExpress.XtraReports.UI;
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
/// <summary>
/// XtraReport für die "Statistik der Aufsuchenden Sozialarbeit (ASA)" (V 2014.1).
///
/// Verwendung:
/// var rows = AsaStatistikReport.CreateRows(asa);
/// var report = new AsaStatistikReport();
/// report.Parameters["Vermittlungsstelle"].Value = "Musterstadt";
/// report.Parameters["Staatsanwaltschaft"].Value = "GESAMT";
/// report.Parameters["Berichtszeitraum"].Value = new DateTime(2025, 6, 30);
/// report.SetReportDataSource(rows);
/// report.ShowPreview();
/// </summary>
public partial class AsaStatistikReport : XtraReport
{
public AsaStatistikReport()
{
InitializeComponent();
}
/// <summary>
/// Setzt die Datenquelle des Reports.
/// </summary>
public void SetReportDataSource(List<AsaStatistikReportRow> rows)
{
this.bindingSource1.DataSource = rows;
}
// ── Factory ─────────────────────────────────────────────────────────────
/// <summary>
/// Konvertiert ein ausgefülltes AsaStatistic-Objekt in die Zeilenliste für den Report.
/// </summary>
public static List<AsaStatistikReportRow> CreateRows(AsaStatistic asa)
{
AsaStatistikReportRow Row(string pos, string beschr, int val,
AsaReportRowType type = AsaReportRowType.Normal) =>
new AsaStatistikReportRow
{
Position = pos,
Beschreibung = beschr,
Wert = val.ToString("N0"),
RowType = type
};
return new List<AsaStatistikReportRow>
{
// ── Auftragsbestand ────────────────────────────────────────────
Row("0.1",
"Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge",
asa.Anzahl01),
Row("0.2",
"Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge",
asa.Anzahl02, AsaReportRowType.Highlighted),
Row("1.",
"Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2)",
asa.Anzahl1, AsaReportRowType.Highlighted),
Row("2.",
"Anzahl aller erledigten Aufträge (incl. Abbrüche, ...)",
asa.Anzahl2),
// ── Fallverlauf (Abschnittsüberschrift) ────────────────────────
AsaStatistikReportRow.SectionHeader(
"3.",
"Fallverlauf (der erledigten Aufträge gem. Zeile 2)"),
// ── 3.1. Methode ───────────────────────────────────────────────
AsaStatistikReportRow.SectionHeader(
"3.1.",
"Methode (der erledigten Aufträge gem. Zeile 2)"),
Row("3.1.1.", "Klient wurde aufgesucht", asa.Anzahl3_1_1),
Row("3.1.2.", "Klient wurde angetroffen", asa.Anzahl3_1_2),
Row("3.1.3.", "Klient wurde nicht angetroffen", asa.Anzahl3_1_3),
Row("3.1.4.",
"Klient wurde nicht aufgesucht, da Klient sich in VBS meldet (1. Anschreiben)",
asa.Anzahl3_1_4),
// ── 3.2. Verlauf ───────────────────────────────────────────────
AsaStatistikReportRow.SectionHeader(
"3.2.",
"Verlauf (der erledigten Aufträge gem. Zeile 2)"),
Row("3.2.1.", "Übergang in Schwitzen statt Sitzen", asa.Anzahl3_2_1),
Row("3.2.2.", "Übergang in Treuhänderische Geldverwaltung", asa.Anzahl3_2_2),
Row("3.2.3.", "Kein Interesse / Abbruch / Scheitern", asa.Anzahl3_2_3),
};
}
}
/// <summary>
/// Zeilentyp für die bedingte Formatierung im ASA-Statistik Report.
/// </summary>
public enum AsaReportRowType
{
Normal = 0,
Highlighted = 1, // Orangefarbener Hintergrund (z. B. Zeilen 0.2, 1.)
SectionHeader = 2 // Blauer Hintergrund (Abschnittsüberschriften 3., 3.1., 3.2.)
}
/// <summary>
/// Datenmodell für eine Zeile im ASA-Statistik Report.
/// </summary>
public class AsaStatistikReportRow
{
public string Position { get; set; } = "";
public string Beschreibung { get; set; } = "";
public string Wert { get; set; } = "";
public AsaReportRowType RowType { get; set; } = AsaReportRowType.Normal;
/// <summary>
/// Erstellt eine Abschnittsüberschrift (blauer Hintergrund).
/// </summary>
internal static AsaStatistikReportRow SectionHeader(string position, string beschreibung)
{
return new AsaStatistikReportRow
{
Position = position,
Beschreibung = beschreibung,
RowType = AsaReportRowType.SectionHeader
};
}
}
}

View File

@@ -0,0 +1,430 @@
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
partial class TgvStatistikReport
{
/// <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);
}
#region Designer generated code
/// <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();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.lblVersion = new DevExpress.XtraReports.UI.XRLabel();
this.lblTitel = new DevExpress.XtraReports.UI.XRLabel();
this.lblVermLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblVermWert = new DevExpress.XtraReports.UI.XRLabel();
this.lblStaLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblStaWert = new DevExpress.XtraReports.UI.XRLabel();
this.lblBerLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblBerWert = new DevExpress.XtraReports.UI.XRLabel();
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
this.tblHeader = new DevExpress.XtraReports.UI.XRTable();
this.tblHeaderRow = new DevExpress.XtraReports.UI.XRTableRow();
this.cellHPos = new DevExpress.XtraReports.UI.XRTableCell();
this.cellHBeschr = new DevExpress.XtraReports.UI.XRTableCell();
this.cellHWert = new DevExpress.XtraReports.UI.XRTableCell();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.tblDetail = new DevExpress.XtraReports.UI.XRTable();
this.tblDetailRow = new DevExpress.XtraReports.UI.XRTableRow();
this.cellPos = new DevExpress.XtraReports.UI.XRTableCell();
this.cellBeschr = new DevExpress.XtraReports.UI.XRTableCell();
this.cellWert = new DevExpress.XtraReports.UI.XRTableCell();
this.ruleHighlighted = new DevExpress.XtraReports.UI.FormattingRule();
this.ruleSectionHeader = new DevExpress.XtraReports.UI.FormattingRule();
this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
this.paramVermittlungsstelle = new DevExpress.XtraReports.Parameters.Parameter();
this.paramStaatsanwaltschaft = new DevExpress.XtraReports.Parameters.Parameter();
this.paramBerichtszeitraum = new DevExpress.XtraReports.Parameters.Parameter();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tblHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tblDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.Straffaelligenhilfe.TgvStatistikReportRow);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblVersion,
this.lblTitel,
this.lblVermLabel,
this.lblVermWert,
this.lblStaLabel,
this.lblStaWert,
this.lblBerLabel,
this.lblBerWert});
this.ReportHeader.HeightF = 84F;
this.ReportHeader.Name = "ReportHeader";
//
// lblVersion
//
this.lblVersion.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVersion.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.lblVersion.Name = "lblVersion";
this.lblVersion.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVersion.SizeF = new System.Drawing.SizeF(80F, 18F);
this.lblVersion.Text = "V 2014.1";
//
// lblTitel
//
this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(80F, 0F);
this.lblTitel.Name = "lblTitel";
this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblTitel.SizeF = new System.Drawing.SizeF(989F, 18F);
this.lblTitel.StylePriority.UseFont = false;
this.lblTitel.StylePriority.UseTextAlignment = false;
this.lblTitel.Text = "Statistik der Treuhänderischen Geldverwaltung (TGV)";
this.lblTitel.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// lblVermLabel
//
this.lblVermLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVermLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 20F);
this.lblVermLabel.Name = "lblVermLabel";
this.lblVermLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVermLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblVermLabel.Text = "Vermittlungsstelle (Ort):";
//
// lblVermWert
//
this.lblVermWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Vermittlungsstelle]")});
this.lblVermWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVermWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 20F);
this.lblVermWert.Name = "lblVermWert";
this.lblVermWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVermWert.SizeF = new System.Drawing.SizeF(300F, 18F);
//
// lblStaLabel
//
this.lblStaLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblStaLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 40F);
this.lblStaLabel.Name = "lblStaLabel";
this.lblStaLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblStaLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblStaLabel.Text = "Staatsanwaltschaft / Landgerichtsbezirk:";
//
// lblStaWert
//
this.lblStaWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Staatsanwaltschaft]")});
this.lblStaWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblStaWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 40F);
this.lblStaWert.Name = "lblStaWert";
this.lblStaWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblStaWert.SizeF = new System.Drawing.SizeF(300F, 18F);
//
// lblBerLabel
//
this.lblBerLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblBerLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 60F);
this.lblBerLabel.Name = "lblBerLabel";
this.lblBerLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblBerLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblBerLabel.Text = "Berichtszeitraum:";
//
// lblBerWert
//
this.lblBerWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "FormatString('{0:dd.MM.yyyy}', [Parameters.Berichtszeitraum])")});
this.lblBerWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblBerWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 60F);
this.lblBerWert.Name = "lblBerWert";
this.lblBerWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblBerWert.SizeF = new System.Drawing.SizeF(200F, 18F);
//
// PageHeader
//
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.tblHeader});
this.PageHeader.HeightF = 28F;
this.PageHeader.Name = "PageHeader";
//
// tblHeader
//
this.tblHeader.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.tblHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.tblHeader.BorderWidth = 0.5F;
this.tblHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.tblHeader.Name = "tblHeader";
this.tblHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.tblHeaderRow});
this.tblHeader.SizeF = new System.Drawing.SizeF(1069F, 28F);
//
// tblHeaderRow
//
this.tblHeaderRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.cellHPos,
this.cellHBeschr,
this.cellHWert});
this.tblHeaderRow.Name = "tblHeaderRow";
this.tblHeaderRow.Weight = 1.0D;
//
// cellHPos
//
this.cellHPos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHPos.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHPos.Name = "cellHPos";
this.cellHPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHPos.StylePriority.UseFont = false;
this.cellHPos.StylePriority.UseTextAlignment = false;
this.cellHPos.Text = "Pos.";
this.cellHPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHPos.Weight = 0.20D;
//
// cellHBeschr
//
this.cellHBeschr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHBeschr.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHBeschr.Name = "cellHBeschr";
this.cellHBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHBeschr.StylePriority.UseFont = false;
this.cellHBeschr.StylePriority.UseTextAlignment = false;
this.cellHBeschr.Text = "1 Auftrag = 1 Person !!!";
this.cellHBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHBeschr.Weight = 1.40D;
//
// cellHWert
//
this.cellHWert.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHWert.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHWert.Name = "cellHWert";
this.cellHWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHWert.StylePriority.UseFont = false;
this.cellHWert.StylePriority.UseTextAlignment = false;
this.cellHWert.Text = "zur Abwendung einer\nErsatzfreiheitsstrafe";
this.cellHWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHWert.Weight = 0.40D;
//
// Detail
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.tblDetail});
this.Detail.HeightF = 16F;
this.Detail.Name = "Detail";
//
// tblDetail
//
this.tblDetail.AnchorVertical = ((DevExpress.XtraReports.UI.VerticalAnchorStyles)((DevExpress.XtraReports.UI.VerticalAnchorStyles.Top | DevExpress.XtraReports.UI.VerticalAnchorStyles.Bottom)));
this.tblDetail.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.tblDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.tblDetail.BorderWidth = 0.5F;
this.tblDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.tblDetail.Name = "tblDetail";
this.tblDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.tblDetailRow});
this.tblDetail.SizeF = new System.Drawing.SizeF(1069F, 16F);
//
// tblDetailRow
//
this.tblDetailRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.cellPos,
this.cellBeschr,
this.cellWert});
this.tblDetailRow.FormattingRules.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleHighlighted,
this.ruleSectionHeader});
this.tblDetailRow.Name = "tblDetailRow";
this.tblDetailRow.Weight = 11.5D;
//
// cellPos
//
this.cellPos.CanGrow = false;
this.cellPos.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Position]")});
this.cellPos.Name = "cellPos";
this.cellPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellPos.StylePriority.UseTextAlignment = false;
this.cellPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.cellPos.Weight = 0.20D;
//
// cellBeschr
//
this.cellBeschr.CanGrow = false;
this.cellBeschr.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Beschreibung]")});
this.cellBeschr.Name = "cellBeschr";
this.cellBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellBeschr.StylePriority.UseTextAlignment = false;
this.cellBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.cellBeschr.Weight = 1.40D;
//
// cellWert
//
this.cellWert.CanGrow = false;
this.cellWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Wert]")});
this.cellWert.Name = "cellWert";
this.cellWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellWert.StylePriority.UseTextAlignment = false;
this.cellWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.cellWert.Weight = 0.40D;
//
// ruleHighlighted
//
this.ruleHighlighted.Condition = "[RowType] == 1";
this.ruleHighlighted.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(230)))), ((int)(((byte)(153)))));
this.ruleHighlighted.Name = "ruleHighlighted";
//
// ruleSectionHeader
//
this.ruleSectionHeader.Condition = "[RowType] == 2";
this.ruleSectionHeader.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(215)))), ((int)(((byte)(238)))));
this.ruleSectionHeader.Formatting.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.ruleSectionHeader.Name = "ruleSectionHeader";
//
// PageFooter
//
this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo1});
this.PageFooter.HeightF = 26F;
this.PageFooter.Name = "PageFooter";
//
// xrPageInfo1
//
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(868.9998F, 10F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(200F, 16F);
this.xrPageInfo1.StylePriority.UseTextAlignment = false;
this.xrPageInfo1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// TopMargin
//
this.TopMargin.HeightF = 50F;
this.TopMargin.Name = "TopMargin";
//
// BottomMargin
//
this.BottomMargin.HeightF = 50F;
this.BottomMargin.Name = "BottomMargin";
//
// paramVermittlungsstelle
//
this.paramVermittlungsstelle.Description = "Vermittlungsstelle (Ort)";
this.paramVermittlungsstelle.Name = "Vermittlungsstelle";
//
// paramStaatsanwaltschaft
//
this.paramStaatsanwaltschaft.Description = "Staatsanwaltschaft / LG-Bezirk";
this.paramStaatsanwaltschaft.Name = "Staatsanwaltschaft";
this.paramStaatsanwaltschaft.ValueInfo = "GESAMT";
//
// paramBerichtszeitraum
//
this.paramBerichtszeitraum.Description = "Berichtszeitraum (Stichtag)";
this.paramBerichtszeitraum.Name = "Berichtszeitraum";
this.paramBerichtszeitraum.Type = typeof(System.DateTime);
this.paramBerichtszeitraum.ValueInfo = "2026-03-31";
//
// TgvStatistikReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.TopMargin,
this.ReportHeader,
this.PageHeader,
this.Detail,
this.PageFooter,
this.BottomMargin});
this.DataSource = this.bindingSource1;
this.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleHighlighted,
this.ruleSectionHeader});
this.Landscape = true;
this.Margins = new DevExpress.Drawing.DXMargins(50F, 50F, 50F, 50F);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.paramVermittlungsstelle,
this.paramStaatsanwaltschaft,
this.paramBerichtszeitraum});
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tblHeader)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tblDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
// ── Private Felder (alle Report-Controls) ──────────────────────────────
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.PageHeaderBand PageHeader;
private DevExpress.XtraReports.UI.DetailBand Detail;
private DevExpress.XtraReports.UI.PageFooterBand PageFooter;
// Report-Header Labels
private DevExpress.XtraReports.UI.XRLabel lblVersion;
private DevExpress.XtraReports.UI.XRLabel lblTitel;
private DevExpress.XtraReports.UI.XRLabel lblVermLabel;
private DevExpress.XtraReports.UI.XRLabel lblVermWert;
private DevExpress.XtraReports.UI.XRLabel lblStaLabel;
private DevExpress.XtraReports.UI.XRLabel lblStaWert;
private DevExpress.XtraReports.UI.XRLabel lblBerLabel;
private DevExpress.XtraReports.UI.XRLabel lblBerWert;
// Page-Header Tabelle
private DevExpress.XtraReports.UI.XRTable tblHeader;
private DevExpress.XtraReports.UI.XRTableRow tblHeaderRow;
private DevExpress.XtraReports.UI.XRTableCell cellHPos;
private DevExpress.XtraReports.UI.XRTableCell cellHBeschr;
private DevExpress.XtraReports.UI.XRTableCell cellHWert;
// Detail-Tabelle
private DevExpress.XtraReports.UI.XRTable tblDetail;
private DevExpress.XtraReports.UI.XRTableRow tblDetailRow;
private DevExpress.XtraReports.UI.XRTableCell cellPos;
private DevExpress.XtraReports.UI.XRTableCell cellBeschr;
private DevExpress.XtraReports.UI.XRTableCell cellWert;
// Seitenzahl
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
// Bedingte Formatierung
private DevExpress.XtraReports.UI.FormattingRule ruleHighlighted;
private DevExpress.XtraReports.UI.FormattingRule ruleSectionHeader;
// Parameter
private DevExpress.XtraReports.Parameters.Parameter paramVermittlungsstelle;
private DevExpress.XtraReports.Parameters.Parameter paramStaatsanwaltschaft;
private DevExpress.XtraReports.Parameters.Parameter paramBerichtszeitraum;
}
}

View File

@@ -0,0 +1,146 @@
using System;
using System.Collections.Generic;
using BeWo.Service.Reporting.Straffaelligenhilfe;
using DevExpress.XtraReports.UI;
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
/// <summary>
/// XtraReport für die "Statistik der Treuhänderischen Geldverwaltung (TGV)" (V 2014.1).
///
/// Verwendung:
/// var rows = TgvStatistikReport.CreateRows(tgv);
/// var report = new TgvStatistikReport();
/// report.Parameters["Vermittlungsstelle"].Value = "Musterstadt";
/// report.Parameters["Staatsanwaltschaft"].Value = "GESAMT";
/// report.Parameters["Berichtszeitraum"].Value = new DateTime(2025, 6, 30);
/// report.SetReportDataSource(rows);
/// report.ShowPreview();
/// </summary>
public partial class TgvStatistikReport : XtraReport
{
public TgvStatistikReport()
{
InitializeComponent();
}
/// <summary>
/// Setzt die Datenquelle des Reports.
/// </summary>
public void SetReportDataSource(List<TgvStatistikReportRow> rows)
{
this.bindingSource1.DataSource = rows;
}
// ── Factory ─────────────────────────────────────────────────────────────
/// <summary>
/// Konvertiert ein ausgefülltes TgvStatistic-Objekt in die Zeilenliste für den Report.
/// </summary>
public static List<TgvStatistikReportRow> CreateRows(TgvStatistic tgv)
{
TgvStatistikReportRow Row(string pos, string beschr, string wert,
TgvReportRowType type = TgvReportRowType.Normal) =>
new TgvStatistikReportRow
{
Position = pos,
Beschreibung = beschr,
Wert = wert,
RowType = type
};
TgvStatistikReportRow RowInt(string pos, string beschr, int val,
TgvReportRowType type = TgvReportRowType.Normal) =>
Row(pos, beschr, val.ToString("N0"), type);
return new List<TgvStatistikReportRow>
{
// ── Auftragsbestand ────────────────────────────────────────────
RowInt("0.1",
"Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge",
tgv.Anzahl01),
RowInt("0.2",
"Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge",
tgv.Anzahl02, TgvReportRowType.Highlighted),
RowInt("1.",
"Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2)",
tgv.Anzahl1, TgvReportRowType.Highlighted),
Row("2.",
"Höhe der Geldstrafe in € (gem. Zeile 0.2)",
tgv.Betrag2.ToString("N2"), TgvReportRowType.Highlighted),
// ── Erledigte Aufträge ─────────────────────────────────────────
RowInt("3.",
"Anzahl aller erledigten Aufträge",
tgv.Anzahl3),
RowInt("3.1.",
"davon Anzahl der gescheiterten Fälle",
tgv.Anzahl3_1),
RowInt("3.2.",
"davon Anzahl der positiv erledigten Aufträge",
tgv.Anzahl3_2, TgvReportRowType.Highlighted),
// ── Zahlungen und Arbeitsstunden (Abschnittsüberschrift) ────────
TgvStatistikReportRow.SectionHeader(
"4.",
"Geleistete Zahlungen und Arbeitsstunden (im Quartal)"),
Row("4.1.",
"Summe der nachgewiesenen (Raten) oder Einmalzahlungen in €",
tgv.Betrag4_1.ToString("N2")),
RowInt("4.2.",
"Anzahl der geleisteten Arbeitsstunden (in TGV)",
tgv.Anzahl4_2),
// ── Hafttage / Aufsuchen ───────────────────────────────────────
Row("5.",
"Anzahl der vermiedenen Hafttage (nur durch TGV)",
tgv.Betrag5.ToString("N2"), TgvReportRowType.Highlighted),
RowInt("6.",
"Klient wurde durch BGBW aufgesucht (gem. Zeile 0.2)",
tgv.Anzahl6),
};
}
}
/// <summary>
/// Zeilentyp für die bedingte Formatierung im TGV-Statistik Report.
/// </summary>
public enum TgvReportRowType
{
Normal = 0,
Highlighted = 1, // Orangefarbener Hintergrund (z. B. Zeilen 0.2, 1., 2., 3.2., 5.)
SectionHeader = 2 // Blauer Hintergrund (Abschnittsüberschrift 4.)
}
/// <summary>
/// Datenmodell für eine Zeile im TGV-Statistik Report.
/// </summary>
public class TgvStatistikReportRow
{
public string Position { get; set; } = "";
public string Beschreibung { get; set; } = "";
public string Wert { get; set; } = "";
public TgvReportRowType RowType { get; set; } = TgvReportRowType.Normal;
/// <summary>
/// Erstellt eine Abschnittsüberschrift (blauer Hintergrund).
/// </summary>
internal static TgvStatistikReportRow SectionHeader(string position, string beschreibung)
{
return new TgvStatistikReportRow
{
Position = position,
Beschreibung = beschreibung,
RowType = TgvReportRowType.SectionHeader
};
}
}
}

View File

@@ -1,4 +1,4 @@
namespace BeWo.Report.DefaultReports
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
partial class VgaStatistikReport
{
@@ -89,7 +89,7 @@ namespace BeWo.Report.DefaultReports
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.VgaStatistikReportRow);
this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.Straffaelligenhilfe.VgaStatistikReportRow);
//
// ReportHeader
//

View File

@@ -3,7 +3,7 @@ using System.Collections.Generic;
using BeWo.Service.Reporting.Straffaelligenhilfe;
using DevExpress.XtraReports.UI;
namespace BeWo.Report.DefaultReports
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
/// <summary>
/// XtraReport für die "Statistik der Ableistung gemeinnütziger Arbeit" (V 2014.1).

View File

@@ -289,11 +289,23 @@
<Compile Include="DefaultReports\ValidationMessagesReport.Designer.cs">
<DependentUpon>ValidationMessagesReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\VgaStatistikReport.cs">
<Compile Include="DefaultReports\Straffaelligenhilfe\VgaStatistikReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="DefaultReports\VgaStatistikReport.Designer.cs">
<Compile Include="DefaultReports\Straffaelligenhilfe\VgaStatistikReport.Designer.cs">
<DependentUpon>VgaStatistikReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\Straffaelligenhilfe\TgvStatistikReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="DefaultReports\Straffaelligenhilfe\TgvStatistikReport.Designer.cs">
<DependentUpon>TgvStatistikReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\Straffaelligenhilfe\AsaStatistikReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="DefaultReports\Straffaelligenhilfe\AsaStatistikReport.Designer.cs">
<DependentUpon>AsaStatistikReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\VorlageReport.cs">
<SubType>Component</SubType>
@@ -708,7 +720,7 @@
<DependentUpon>ValidationMessagesReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\VgaStatistikReport.resx">
<EmbeddedResource Include="DefaultReports\Straffaelligenhilfe\VgaStatistikReport.resx">
<DependentUpon>VgaStatistikReport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\VorlageReport.resx">
@@ -930,6 +942,7 @@
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.2.9.6\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.2.9.6\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>

View File

@@ -372,7 +372,27 @@ namespace BeWo.Report.ReportObjects
public decimal Custom15 { get; set; }
public String Regelarbeitszeit { get; set; }
public decimal Custom16 { get; set; }
public decimal Custom17 { get; set; }
public decimal Custom18 { get; set; }
public decimal Custom19 { get; set; }
public decimal Custom20 { get; set; }
public decimal Custom21 { get; set; }
public decimal Custom22 { get; set; }
public decimal Custom23 { get; set; }
public decimal Custom24 { get; set; }
public decimal Custom25 { get; set; }
public String Regelarbeitszeit { get; set; }
public int ArbeitstageProWoche { get; set; }

View File

@@ -10,6 +10,8 @@ using BeWo.Data.Entities;
using BeWo.Data.Access;
using BS.Shared.DataContracts.Compact;
using System.Diagnostics;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Configuration;
namespace BeWo.Report.ReportObjects
{
@@ -65,6 +67,7 @@ namespace BeWo.Report.ReportObjects
public string ApprovalDate { get; set; }
public InvoiceBaseDC InvoiceBase { get; set; }
public List<ServiceRecordDC> BillableServiceRecords { get; set; }
public MandatorDC Mandator { get; set; }
public static ServiceInvoiceRO Create(ServiceInvoiceDC pDC)
{
@@ -114,6 +117,8 @@ namespace BeWo.Report.ReportObjects
}
}
lResult.Mandator = MapperFactory.MandatorDC_Mandator.MapToNewDC(AppSettings.GetMandatorEntity());
foreach (var iContactDC in pDC.InvoiceBase.RecipientContactInformations.Where(iContactDC => iContactDC.ContactType == ContactType.private_POBox))
{
lResult.RecipientPoBox = "Postfach " + iContactDC.ContactValue;

View File

@@ -57,6 +57,7 @@
<ItemGroup>
<Compile Include="CustomMitarbeiterstundenkontoBerechnung.cs" />
<Compile Include="CustomMitarbeiterstundenkontoBerechnungMonate.cs" />
<Compile Include="CustomReportCreator.cs" />
<Compile Include="Export\CustomDataExporter.cs" />
<Compile Include="Export\DatevExporter.cs" />
<Compile Include="Finanzauswertung.cs">
@@ -84,6 +85,12 @@
<DependentUpon>MitarbeiterstundenkontoJahr.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="QuittierungsbelegJugendamt.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="QuittierungsbelegJugendamt.Designer.cs">
<DependentUpon>QuittierungsbelegJugendamt.cs</DependentUpon>
</Compile>
<Compile Include="QuittierungsbelegMitDatum.cs">
<SubType>Component</SubType>
</Compile>
@@ -114,6 +121,10 @@
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="QuittierungsbelegJugendamt.resx">
<DependentUpon>QuittierungsbelegJugendamt.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="QuittierungsbelegMitDatum.resx">
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -0,0 +1,146 @@
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Extensions;
using DevExpress.XtraReports.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AsbRheinErftDueren
{
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);
defaultRo.TotalFLMBillable = 0;
ServicesOverviewRO jugendamtRo = ServicesOverviewRO.CopyFromRO(ro);
jugendamtRo.TotalFLMBillable = 0;
if (ro.Services != null)
{
foreach (ServicesOverviewRO.ServiceDetail s in ro.Services)
{
ServicesOverviewRO.CreateSignatureString(s);
if (s.CostBearer.IsNotNullOrEmpty() && s.CostBearer.ToLower().Contains("jugendamt"))
{
jugendamtRo.Services.Add(s);
jugendamtRo.TotalFLMBillable += s.Minutes;
}
else
{
defaultRo.Services.Add(s);
defaultRo.TotalFLMBillable += s.Minutes;
}
}
}
XtraReport report = null;
report = AddReportToReport<Quittierungsbeleg2>(report, defaultRo);
report = AddReportToReport<QuittierungsbelegJugendamt>(report, jugendamtRo);
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;
}
}
}

View File

@@ -0,0 +1,909 @@
using BeWo.Report.ReportObjects;
namespace AsbRheinErftDueren
{
partial class QuittierungsbelegJugendamt
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components;
/// <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);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTableServiceRecords1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel20 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.formattingRuleServiceDesc = new DevExpress.XtraReports.UI.FormattingRule();
this.formattingRuleCostBearer = new DevExpress.XtraReports.UI.FormattingRule();
this.formattingRuleEmployeeName = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.TotalFLMBillableAlsStunden = new DevExpress.XtraReports.UI.CalculatedField();
this.MinutesAlsStunden = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.Expanded = false;
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;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.GroupHeader1});
this.DetailReport.DataMember = "Services";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
this.DetailReport.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.DetailReport.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable3});
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
this.Detail1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTable3
//
this.xrTable3.BorderColor = System.Drawing.Color.Black;
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(49.3611F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable3.SizeF = new System.Drawing.SizeF(644.639F, 25F);
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell13,
this.xrTableCell14,
this.xrTableCell10,
this.xrTableCell2,
this.xrTableCell15,
this.xrTableCell12});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableRow6.Weight = 1.25D;
//
// xrTableCell13
//
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDate", "{0:dd/MM/yyyy}")});
this.xrTableCell13.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.StylePriority.UseBorders = false;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UsePadding = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "xrTableCell13";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell13.Weight = 0.11994951833461227D;
//
// xrTableCell14
//
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDateMinutes", "{0:HH:mm}")});
this.xrTableCell14.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseBorders = false;
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "xrTableCell14";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell14.Weight = 0.094696981389528381D;
//
// xrTableCell10
//
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EndDateMinutes", "{0:HH:mm}")});
this.xrTableCell10.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UseBorders = false;
this.xrTableCell10.StylePriority.UseFont = false;
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "xrTableCell10";
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell10.Weight = 0.094696933224158855D;
//
// xrTableCell2
//
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.fieldKontaktArt")});
this.xrTableCell2.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell2.Weight = 0.05366162346946534D;
//
// xrTableCell15
//
this.xrTableCell15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.CustomerCount", "{0:0}")});
this.xrTableCell15.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.StylePriority.UseBorders = false;
this.xrTableCell15.StylePriority.UseFont = false;
this.xrTableCell15.StylePriority.UsePadding = false;
this.xrTableCell15.StylePriority.UseTextAlignment = false;
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell15.Weight = 0.05366162346946534D;
//
// xrTableCell12
//
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.MinutesAlsStunden")});
this.xrTableCell12.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UseFont = false;
this.xrTableCell12.StylePriority.UsePadding = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell12.TextFormatString = "{0:0.00}";
this.xrTableCell12.Weight = 0.10732323052948757D;
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableServiceRecords1});
this.GroupHeader1.HeightF = 70F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.RepeatEveryPage = true;
this.GroupHeader1.StylePriority.UseFont = false;
//
// xrTableServiceRecords1
//
this.xrTableServiceRecords1.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableServiceRecords1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrTableServiceRecords1.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableServiceRecords1.LocationFloat = new DevExpress.Utils.PointFloat(49.3611F, 0F);
this.xrTableServiceRecords1.Name = "xrTableServiceRecords1";
this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableServiceRecords1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow1});
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(644.639F, 70F);
this.xrTableServiceRecords1.StylePriority.UseBackColor = false;
this.xrTableServiceRecords1.StylePriority.UseBorders = false;
this.xrTableServiceRecords1.StylePriority.UseFont = false;
this.xrTableServiceRecords1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell4,
this.xrTableCell11,
this.xrTableCell9});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableRow2.Weight = 0.48945783132530124D;
//
// xrTableCell3
//
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell3.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseBorders = false;
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "Datum";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell3.Weight = 0.26536312849161997D;
//
// xrTableCell4
//
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell4.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell4.Multiline = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 4, 0, 0, 100F);
this.xrTableCell4.StylePriority.UseBorders = false;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Uhrzeit";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell4.Weight = 0.41899441340782145D;
//
// xrTableCell11
//
this.xrTableCell11.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell11.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(12, 12, 0, 0, 100F);
this.xrTableCell11.StylePriority.UseBorders = false;
this.xrTableCell11.StylePriority.UseFont = false;
this.xrTableCell11.StylePriority.UsePadding = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "Angebot";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell11.Weight = 0.23743016759776542D;
//
// xrTableCell9
//
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell9.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrTableCell9.StylePriority.UseBorders = false;
this.xrTableCell9.StylePriority.UseFont = false;
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.Text = "FLS in";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell9.Weight = 0.23743025284239694D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell8,
this.xrTableCell5,
this.xrTableCell6,
this.xrTableCell7});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1.223644578313253D;
//
// xrTableCell1
//
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.Weight = 0.26536312849161997D;
//
// xrTableCell8
//
this.xrTableCell8.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell8.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.StylePriority.UseBorders = false;
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "von";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell8.Weight = 0.20949720670391073D;
//
// xrTableCell5
//
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell5.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseBorders = false;
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "bis";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell5.Weight = 0.2094972067039107D;
//
// xrTableCell6
//
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell6.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell6.Multiline = true;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseBorders = false;
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Art /\r\nAnzahl\r\nKlienten";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell6.Weight = 0.23743016759776545D;
//
// xrTableCell7
//
this.xrTableCell7.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell7.Multiline = true;
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseBackColor = false;
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UseFont = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Stunden\r\n(ohne 1,2)";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell7.Weight = 0.23743025284239694D;
//
// formattingRuleStartDate
//
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
this.formattingRuleStartDate.DataMember = "ServicesDouble";
this.formattingRuleStartDate.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleStartDate.Name = "formattingRuleStartDate";
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel19,
this.xrLabel20,
this.xrLabel14,
this.xrLabel16,
this.xrLabel7,
this.xrLabel8,
this.xrLabel6,
this.xrLabel5,
this.xrLabel4,
this.xrLabel3,
this.xrLabel2});
this.ReportHeader.HeightF = 178.9583F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel19
//
this.xrLabel19.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel19.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel19.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(415.0004F, 108.1111F);
this.xrLabel19.Name = "xrLabel19";
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel19.SizeF = new System.Drawing.SizeF(120.6389F, 30.50001F);
this.xrLabel19.StylePriority.UseBackColor = false;
this.xrLabel19.StylePriority.UseBorders = false;
this.xrLabel19.StylePriority.UseFont = false;
this.xrLabel19.StylePriority.UsePadding = false;
this.xrLabel19.StylePriority.UseTextAlignment = false;
this.xrLabel19.Text = "Kostenträger";
this.xrLabel19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel20
//
this.xrLabel20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel20.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel20.LocationFloat = new DevExpress.Utils.PointFloat(535.6393F, 108.1111F);
this.xrLabel20.Name = "xrLabel20";
this.xrLabel20.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel20.SizeF = new System.Drawing.SizeF(158.3612F, 30.50001F);
this.xrLabel20.StylePriority.UseBackColor = false;
this.xrLabel20.StylePriority.UseBorders = false;
this.xrLabel20.StylePriority.UseFont = false;
this.xrLabel20.StylePriority.UsePadding = false;
this.xrLabel20.StylePriority.UseTextAlignment = false;
this.xrLabel20.Text = "[Costbearer]";
this.xrLabel20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel14
//
this.xrLabel14.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(415.0004F, 47.1111F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(120.6385F, 30.50001F);
this.xrLabel14.StylePriority.UseBackColor = false;
this.xrLabel14.StylePriority.UseBorders = false;
this.xrLabel14.StylePriority.UseFont = false;
this.xrLabel14.StylePriority.UsePadding = false;
this.xrLabel14.StylePriority.UseTextAlignment = false;
this.xrLabel14.Text = "Hauptbetreuung";
this.xrLabel14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel16
//
this.xrLabel16.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 47.1111F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(158.3612F, 30.50001F);
this.xrLabel16.StylePriority.UseBackColor = false;
this.xrLabel16.StylePriority.UseBorders = false;
this.xrLabel16.StylePriority.UseFont = false;
this.xrLabel16.StylePriority.UsePadding = false;
this.xrLabel16.StylePriority.UseTextAlignment = false;
this.xrLabel16.Text = "[MainAttendant]";
this.xrLabel16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel7
//
this.xrLabel7.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(415F, 77.6111F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(120.6389F, 30.50001F);
this.xrLabel7.StylePriority.UseBackColor = false;
this.xrLabel7.StylePriority.UseBorders = false;
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.StylePriority.UsePadding = false;
this.xrLabel7.StylePriority.UseTextAlignment = false;
this.xrLabel7.Text = "Aktenzeichen";
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel8
//
this.xrLabel8.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 77.6111F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(158.3612F, 30.50001F);
this.xrLabel8.StylePriority.UseBackColor = false;
this.xrLabel8.StylePriority.UseBorders = false;
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.StylePriority.UsePadding = false;
this.xrLabel8.StylePriority.UseTextAlignment = false;
this.xrLabel8.Text = "[ReferenceNumber]";
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel6
//
this.xrLabel6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(170F, 77.6111F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(180.1944F, 30.50001F);
this.xrLabel6.StylePriority.UseBackColor = false;
this.xrLabel6.StylePriority.UseBorders = false;
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.StylePriority.UsePadding = false;
this.xrLabel6.StylePriority.UseTextAlignment = false;
this.xrLabel6.Text = "[CustomerName]";
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel5
//
this.xrLabel5.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(170F, 47.1111F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(180.1944F, 30.50001F);
this.xrLabel5.StylePriority.UseBackColor = false;
this.xrLabel5.StylePriority.UseBorders = false;
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.StylePriority.UsePadding = false;
this.xrLabel5.StylePriority.UseTextAlignment = false;
this.xrLabel5.Text = "[Month] [Year]";
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel4
//
this.xrLabel4.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel4.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(49.36111F, 77.6111F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(120.6389F, 30.50001F);
this.xrLabel4.StylePriority.UseBackColor = false;
this.xrLabel4.StylePriority.UseBorders = false;
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.StylePriority.UsePadding = false;
this.xrLabel4.StylePriority.UseTextAlignment = false;
this.xrLabel4.Text = "Klientin, Klient";
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel3
//
this.xrLabel3.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(49.3611F, 47.11109F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(120.6389F, 30.50001F);
this.xrLabel3.StylePriority.UseBackColor = false;
this.xrLabel3.StylePriority.UseBorders = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.StylePriority.UsePadding = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "Monat";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel2
//
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(674.9998F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Quittierungsbeleg [Mandator.Name]";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
//
// formattingRuleServiceDesc
//
this.formattingRuleServiceDesc.Condition = "[StartDate2] < [StartDate]";
this.formattingRuleServiceDesc.DataMember = "ServicesDouble";
this.formattingRuleServiceDesc.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleServiceDesc.Name = "formattingRuleServiceDesc";
//
// formattingRuleCostBearer
//
this.formattingRuleCostBearer.Condition = "[StartDate2] < [StartDate]";
this.formattingRuleCostBearer.DataMember = "ServicesDouble";
this.formattingRuleCostBearer.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleCostBearer.Name = "formattingRuleCostBearer";
//
// formattingRuleEmployeeName
//
this.formattingRuleEmployeeName.Condition = "[StartDate2] < [StartDate]";
this.formattingRuleEmployeeName.DataMember = "ServicesDouble";
this.formattingRuleEmployeeName.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleEmployeeName.Name = "formattingRuleEmployeeName";
//
// topMarginBand1
//
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel17,
this.xrLabel18,
this.xrLabel21,
this.xrLabel11,
this.xrLabel10,
this.xrLabel9,
this.xrLabel1});
this.GroupFooter1.HeightF = 270F;
this.GroupFooter1.KeepTogether = true;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel17
//
this.xrLabel17.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel17.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(228.4301F, 19.99996F);
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel17.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel17.StylePriority.UseBackColor = false;
this.xrLabel17.StylePriority.UseBorders = false;
this.xrLabel17.StylePriority.UseFont = false;
this.xrLabel17.StylePriority.UsePadding = false;
this.xrLabel17.StylePriority.UseTextAlignment = false;
this.xrLabel17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel18
//
this.xrLabel18.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel18.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMBillable", "{0:0.##}")});
this.xrLabel18.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(561.9656F, 19.99995F);
this.xrLabel18.Name = "xrLabel18";
this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel18.SizeF = new System.Drawing.SizeF(132.0345F, 20F);
this.xrLabel18.StylePriority.UseBackColor = false;
this.xrLabel18.StylePriority.UseBorders = false;
this.xrLabel18.StylePriority.UseFont = false;
this.xrLabel18.StylePriority.UsePadding = false;
this.xrLabel18.StylePriority.UseTextAlignment = false;
this.xrLabel18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel21
//
this.xrLabel21.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel21.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel21.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(313.4301F, 19.99995F);
this.xrLabel21.Name = "xrLabel21";
this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel21.SizeF = new System.Drawing.SizeF(248.5354F, 20F);
this.xrLabel21.StylePriority.UseBackColor = false;
this.xrLabel21.StylePriority.UseBorders = false;
this.xrLabel21.StylePriority.UseFont = false;
this.xrLabel21.StylePriority.UsePadding = false;
this.xrLabel21.StylePriority.UseTextAlignment = false;
this.xrLabel21.Text = "Fachleistungen in Minuten";
this.xrLabel21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel11
//
this.xrLabel11.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(374.0001F, 39.99996F);
this.xrLabel11.Name = "xrLabel11";
this.xrLabel11.SizeF = new System.Drawing.SizeF(320F, 20F);
this.xrLabel11.StylePriority.UseBackColor = false;
this.xrLabel11.StylePriority.UseBorders = false;
this.xrLabel11.StylePriority.UseFont = false;
this.xrLabel11.StylePriority.UsePadding = false;
this.xrLabel11.StylePriority.UseTextAlignment = false;
this.xrLabel11.Text = "Ohne Faktor 1,2 (wird erst bei Abrechnung eingerechnet)";
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel10
//
this.xrLabel10.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel10.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(313.4301F, 0F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(248.5356F, 20F);
this.xrLabel10.StylePriority.UseBackColor = false;
this.xrLabel10.StylePriority.UseBorders = false;
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.StylePriority.UsePadding = false;
this.xrLabel10.StylePriority.UseTextAlignment = false;
this.xrLabel10.Text = "Fachleistungen in Stunden";
this.xrLabel10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel9
//
this.xrLabel9.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(228.4301F, 0F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel9.StylePriority.UseBackColor = false;
this.xrLabel9.StylePriority.UseBorders = false;
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.StylePriority.UsePadding = false;
this.xrLabel9.StylePriority.UseTextAlignment = false;
this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel1
//
this.xrLabel1.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMBillableAlsStunden")});
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(561.9656F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(132.0345F, 20F);
this.xrLabel1.StylePriority.UseBackColor = false;
this.xrLabel1.StylePriority.UseBorders = false;
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UsePadding = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrLabel1.TextFormatString = "{0:0.00}";
//
// fieldKontaktArt
//
this.fieldKontaktArt.DataMember = "Services";
this.fieldKontaktArt.Expression = "Iif([IsGroup], \'GR\', \'E\')";
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldKontaktArt.Name = "fieldKontaktArt";
//
// TotalFLMBillableAlsStunden
//
this.TotalFLMBillableAlsStunden.Expression = "[TotalFLMBillable] / 60";
this.TotalFLMBillableAlsStunden.Name = "TotalFLMBillableAlsStunden";
//
// MinutesAlsStunden
//
this.MinutesAlsStunden.DataMember = "Services";
this.MinutesAlsStunden.Expression = "[Minutes] / 60";
this.MinutesAlsStunden.Name = "MinutesAlsStunden";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// QuittierungsbelegJugendamt
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.DetailReport,
this.ReportHeader,
this.topMarginBand1,
this.bottomMarginBand1,
this.GroupFooter1});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldKontaktArt,
this.TotalFLMBillableAlsStunden,
this.MinutesAlsStunden});
this.DataSource = this.bindingSource1;
this.DisplayName = "Quittierungsbeleg";
this.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRuleStartDate,
this.formattingRuleServiceDesc,
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName});
this.Margins = new DevExpress.Drawing.DXMargins(50F, 30F, 100F, 30F);
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.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand Detail;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleStartDate;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleServiceDesc;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleCostBearer;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleEmployeeName;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
private DevExpress.XtraReports.UI.XRTable xrTableServiceRecords1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.CalculatedField fieldKontaktArt;
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
private DevExpress.XtraReports.UI.XRLabel xrLabel19;
private DevExpress.XtraReports.UI.XRLabel xrLabel20;
private DevExpress.XtraReports.UI.XRLabel xrLabel17;
private DevExpress.XtraReports.UI.XRLabel xrLabel18;
private DevExpress.XtraReports.UI.XRLabel xrLabel21;
private DevExpress.XtraReports.UI.CalculatedField TotalFLMBillableAlsStunden;
private DevExpress.XtraReports.UI.CalculatedField MinutesAlsStunden;
}
}

View File

@@ -0,0 +1,75 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace AsbRheinErftDueren
{
public partial class QuittierungsbelegJugendamt : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
{
public QuittierungsbelegJugendamt()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
bool hatGruppen = false;
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
foreach (var sd in pRO.Services)
{
if (sd.IsBillable)
{
ServicesOverviewRO.CreateSignatureString(sd);
if (sd.IsGroup)
{
//sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount);
hatGruppen = true;
}
servicesBillable.Add(sd);
}
}
pRO.Services = servicesBillable;
}
bindingSource1.DataSource = pRO;
}
private void picSignature_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e)
{
XRPictureBox xrBox = sender as XRPictureBox;
//var test = this.GetCurrent
string base64String = xrBox.Tag as string;
if (!String.IsNullOrWhiteSpace(base64String))
{
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
var binData = Convert.FromBase64String(base64Data);
Image img = ByteArrayToImage(binData);
xrBox.Image = Utils.CropImage(img);
}
else
{
xrBox.Image = null;
}
}
public Image ByteArrayToImage(byte[] byteArrayIn)
{
Image returnImage = null;
MemoryStream ms = new System.IO.MemoryStream(byteArrayIn);
returnImage = Image.FromStream(ms);
return returnImage;
}
}
}

View File

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

View File

@@ -4,18 +4,25 @@ using System.Linq;
using BeWo.Data;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Data.Security;
using BeWo.Service.Configuration;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using SecurityUtils = BeWo.Service.Security.SecurityUtils;
namespace BeWoAuxilioRitter.Validation
{
public class CustomServiceRecordValidator : ServiceRecordValidator
{
public override string[] GetIgnoreCategoriesForOverlappingCheck()
private IList<ServiceRecord> _EmployeeRecords = null;
private AppSettings _AppSettings = AppSettings.CreateSettings();
public override string[] GetIgnoreCategoriesForOverlappingCheck()
{
return new[] { "Arbeitszeit" };
}
@@ -25,31 +32,414 @@ namespace BeWoAuxilioRitter.Validation
return false;
}
public override List<ServiceRecordValidationResultDC> ValidateServiceRecord(ServiceRecordDC newServiceRecord, SupportConceptStatisticsDC statistics,
int maxDaysEditServiceRecordsAllowed, IList<long> employeeOids, IList<long> cb2scOids)
// TODO auch bei Arbeitszeit auf Frist prüfen ("// 5. Frist")
public override List<ServiceRecordValidationResultDC> ValidateServiceRecord(ServiceRecordDC newServiceRecord, SupportConceptStatisticsDC statisticsXX, int maxDaysEditServiceRecordsAllowed, IList<long> employeeOids, IList<long> cb2scOids)
{
var list = base.ValidateServiceRecord(newServiceRecord, statistics, maxDaysEditServiceRecordsAllowed, employeeOids, cb2scOids);
#region Standard
var result = new List<ServiceRecordValidationResultDC>();
// Warnung bei Fehlkontakt, wenn bereits eine abrechenbare Leistung an dem Tag gebucht wurde
if (newServiceRecord.Start.HasValue && newServiceRecord.SupportConcept != null && newServiceRecord.SupportConcept.CostBearer.Contains("LVR") && newServiceRecord.ServiceDescription.Name.ToLower().Contains("fehlkontakt"))
if (!newServiceRecord.Start.HasValue)
{
return result;
}
_EmployeeRecords = null;
_AppSettings = AppSettings.CreateSettings();
if (!ValidateSignature(newServiceRecord))
{
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = "Der Eintrag wurde bereits unterschrieben. Das Verändern von Datum und Uhrzeit ist nicht möglich."
});
}
/*
* Meldung anzeigen bei:
* 1. Neuem ServiceRecord
* 2. Ändern der Zeitangaben eines bestehenden ServiceRecord
*/
if (newServiceRecord.ServiceDescription.Category.IsBillable)
{
var startDate = newServiceRecord.Start.Value;
var endDate = newServiceRecord.End.Value;
var areTimesEqual = true;
var isNew = newServiceRecord.ServiceRecordOid is null;
if (newServiceRecord.ServiceRecordOid.HasValue)
{
var originalServiceRecord = DAOFactory.GenericDAO.LoadByID<ServiceRecord>(newServiceRecord.ServiceRecordOid.Value);
var isStartUnchanged = Equals(originalServiceRecord.Start, newServiceRecord.Start);
var isEndUnchanged = Equals(originalServiceRecord.End, newServiceRecord.End);
areTimesEqual = isStartUnchanged && isEndUnchanged;
}
var klientenoid = newServiceRecord.SupportConcept?.Customer?.CustomerOid;
var mitarbeiteroid = newServiceRecord.Employee?.EmployeeOid;
if (klientenoid is object && mitarbeiteroid is object)
{
var hasMonatsunterschrift = DAOFactory.SearchDAO.HasConfirmationReceiptSignatureByDateAndEmployeeAndCustomer(klientenoid.Value, mitarbeiteroid.Value, startDate, endDate, newServiceRecord.CostBearer2SupportConceptOid.Value, out var existingSignatures);
if (hasMonatsunterschrift && (isNew || false == areTimesEqual))
{
var customerName = newServiceRecord.SupportConcept.CustomerName;
var customerText = customerName is object ? $"Klient {customerName}" : "diesem Hilfeplan";
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.SignatureExists,
Allow = true,
CustomerName = newServiceRecord.SupportConcept.CustomerName,
EmployeeName = newServiceRecord.Employee.ToString(),
Message = $"Für den ausgewählten Zeitraum existiert bereits eine Monatsunterschrift bei {customerText}, die mit dem Anlegen dieses Eintrags verfällt und neu geleistet werden muss."
});
}
}
}
if (newServiceRecord.ServiceRecordOid.HasValue && newServiceRecord.ServiceDescription.Category.IsBillable)
{
var original = DAOFactory.GenericDAO.LoadByID<ServiceRecord>(newServiceRecord.ServiceRecordOid.Value);
var startEqual = Equals(original.Start, newServiceRecord.Start);
var endEqual = Equals(original.End, newServiceRecord.End);
var areTimesEqual = startEqual && endEqual;
var confirmationReceiptSignatures = DAOFactory.SearchDAO.GetConfirmationReceiptSignaturesByServiceRecord(newServiceRecord.ServiceRecordOid.Value);
if (!areTimesEqual && confirmationReceiptSignatures.Any())
{
var message = "Für diesen Eintrag existiert bereits eine Monatsunterschrift. Das Verändern von Datum oder Uhrzeit führt zu einer ungültigen Monatsunterschrift, die erneut geleistet werden muss, um auf dem Quittierungsbeleg angezeigt zu werden.";
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.SignatureExists,
Message = message,
Allow = true,
CustomerName = newServiceRecord.SupportConcept?.CustomerName,
EmployeeName = newServiceRecord.Employee?.ToString()
});
}
}
bool isGroupRecord = (cb2scOids != null && cb2scOids.Count > 1) ||
(employeeOids != null && employeeOids.Count > 1);
DateTime start = newServiceRecord.Start.Value;
bool noTime = (start.Hour == 0 && start.Minute == 0 && start.Second == 1); //Keine Zeit angegeben
if (!noTime)
{
noTime = newServiceRecord.ServiceDescription.DoNotCheckOverlapping;
}
var duration = (decimal)newServiceRecord.End.Value.Subtract(newServiceRecord.Start.Value).TotalMinutes;
if (!noTime && duration == 0)
{
noTime = true;
}
newServiceRecord.RoundedDuration = duration;
decimal roundedDuration = duration;
var srdc = PluginLoader.FindClass<ServiceRecordDurationCalculator>();
if (srdc != null)
{
srdc.CalculateRoundedDuration(newServiceRecord);
roundedDuration = newServiceRecord.RoundedDuration;
}
decimal? grd = newServiceRecord.GroupRoundedDuration;
if (isGroupRecord)
{
var groupcalc = PluginLoader.FindClass<GroupDurationCalculator>();
if (groupcalc != null)
{
var gd = groupcalc.CalculateGroupDuration(cb2scOids.Count, employeeOids.Count, duration, cb2scOids.ToArray());
if (gd == null)
{
grd = roundedDuration;
roundedDuration = Math.Round(roundedDuration / cb2scOids.Count, 0, MidpointRounding.AwayFromZero);
}
else
{
grd = gd.TotalDuration;
roundedDuration = gd.SingleDuration;
}
}
}
//var minuteInterval = cbDC.ActualMinuteIntervall;
//if (minuteInterval > 0)
newServiceRecord.RoundedDuration = roundedDuration;
decimal rd = newServiceRecord.RoundedDuration;
long? cb2ScOid = null;
if (newServiceRecord.SupportConcept != null && newServiceRecord.CostBearer != null && newServiceRecord.CostBearer2SupportConceptOid.HasValue)
{
cb2ScOid = newServiceRecord.CostBearer2SupportConceptOid.Value;
}
IList<ServiceRecord> allCustomerRecords = null;
if (!noTime)
{
bool overlapsCustomer = false;
if (cb2ScOid.HasValue)
{
// 1. Customer ServiceRecordOverlapping
try
{
allCustomerRecords = DAOFactory.SearchDAO.FindServiceRecordsDetailsForLastDays(cb2ScOid.Value, null);
if (newServiceRecord.ServiceRecordOid.HasValue)
{
allCustomerRecords = allCustomerRecords.Where(r => r.Oid != newServiceRecord.ServiceRecordOid.Value).ToList();
}
ServiceRecordValidationResultDC resultDc = CheckOverlappingCustomerServiceRecords(newServiceRecord, start, allCustomerRecords, isGroupRecord, grd ?? rd);
if (resultDc != null)
{
overlapsCustomer = true;
result.Add(resultDc);
}
}
catch (Exception)
{
result.Add(new ServiceRecordValidationResultDC { ResultType = ServiceRecordValidationResult.Error });
}
}
// 2. EmployeeOverlapping
if (!overlapsCustomer)
{
if (!isGroupRecord)
{
ServiceRecordValidationResultDC resultdc = CheckOverlappingEmployeeServiceRecords(newServiceRecord, start, newServiceRecord.Employee.EmployeeOid, rd);
if (resultdc != null)
result.Add(resultdc);
}
else if (employeeOids != null)
{
foreach (long employeeOid in employeeOids)
{
ServiceRecordValidationResultDC resultdc = null;
if (resultdc == null)
{
resultdc = CheckOverlappingEmployeeServiceRecords(newServiceRecord, start, employeeOid, grd ?? rd);
if (resultdc != null)
result.Add(resultdc);
}
}
}
}
}
#endregion
try
{
// Alle Einträge des Tages holen, für den dokumentiert wird
var span = new DateTimeSpan() { StartDate = new DateTime(newServiceRecord.Start.Value.Year, newServiceRecord.Start.Value.Month, newServiceRecord.Start.Value.Day), EndDate = newServiceRecord.Start.Value.Date.AddDays(1) };
var eintraegeAmTag = DAOFactory.SearchDAO.FindServiceRecordsInSpan(newServiceRecord.CostBearer2SupportConceptOid.Value, span);
// 5. Frist (ANPASSUNG: immer auch die Arbeittszeit prüfen
if (_AppSettings.AnzTageZeiterfassErfolgt > 0)
{
var dt = new DateTime(start.Year, start.Month, start.Day);
dt = dt.AddDays(_AppSettings.AnzTageZeiterfassErfolgt + 1);
if (DateTime.Now >= dt)
result.Add(new ServiceRecordValidationResultDC { ResultType = ServiceRecordValidationResult.FristAbgelaufen });
}
}
catch (Exception)
{
result.Add(new ServiceRecordValidationResultDC { ResultType = ServiceRecordValidationResult.Error });
}
#region Standard
if (cb2ScOid.HasValue)
{
SupportConceptCostBearerRelDC reldc =
MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(
DAOFactory.GenericDAO.GetByID<CostBearer2SupportConcept>(cb2ScOid.Value));
// 4. ApprovedFLSOverspending
try
{
var resultOverspending = CheckApprovedOverspending(reldc, newServiceRecord);
if (resultOverspending != null)
{
result.Add(resultOverspending);
}
// 3. OutsideOfSupportConcept
if (reldc.StartDate.HasValue && reldc.EndDate.HasValue)
if (!start.InBetween(reldc.StartDate.Value, reldc.EndDate.Value, true))
{
String handlungsOption = "Das Speichern ist nicht möglich.";
bool hatDasRechtTrotzdemZuSpeichern = false;
if (UserRightHelper.LoggedInUserHasRight(UserRightType.BookServiceRecordOutOfSupportConcept))
{
handlungsOption = "Möchten Sie trotzdem Speichern?";
hatDasRechtTrotzdemZuSpeichern = true;
}
var dc = new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = $"Das gewählte Datum '{start:dd.MM.yyyy}' liegt außerhalb des Hilfeplanzeitraums ('{reldc.StartDate.Value.ToShortDateString()}' bis '{reldc.EndDate.Value.ToShortDateString()}').\n" + handlungsOption,
StartDate = reldc.StartDate.Value,
EndDate = reldc.EndDate.Value,
Allow = hatDasRechtTrotzdemZuSpeichern
};
result.Add(dc);
}
}
catch (Exception)
{
result.Add(new ServiceRecordValidationResultDC { ResultType = ServiceRecordValidationResult.Error });
}
// 6. SettlementInvoiceAlreadyExisting
try
{
IList<SettlementInvoice> allSettlementInvoices =
DAOFactory.SearchDAO.GetSettlementInvoiceByCostBearer2SupportConceptOid(cb2ScOid.Value);
if (allSettlementInvoices.Count > 0)
{
var r = new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.SettlementInvoiceAlreadyExisting
};
r.CustomerName = reldc.SupportConcept.CustomerFullName;
result.Add(r);
}
}
catch (Exception)
{
result.Add(new ServiceRecordValidationResultDC { ResultType = ServiceRecordValidationResult.Error });
}
//7. Prüfe, ob Datum in der Zukunft liegt
if (CheckZukunft())
{
if (start.Date > DateTime.Now)
{
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = "Das gewählte Datum darf nicht in der Zukunft liegen."
});
}
}
// 8. OutOfEditLimit
try
{
if (maxDaysEditServiceRecordsAllowed > 0)
{
var dt = new DateTime(start.Year, start.Month, 1);
dt = dt.AddMonths(1);
dt = dt.AddDays(maxDaysEditServiceRecordsAllowed);
if (DateTime.Now >= dt)
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.OutOfEditLimit
});
}
}
catch (Exception)
{
result.Add(new ServiceRecordValidationResultDC { ResultType = ServiceRecordValidationResult.Error });
}
// 9. Prüfe Abwesenheiten
var resultdc = CheckAbwesenheiten(newServiceRecord, allCustomerRecords, reldc, rd, isGroupRecord);
if (resultdc != null)
{
result.Add(resultdc);
}
// 10. Prüfe Abwesenheit Mitarbeiter
var resultMa = CheckAbwesenheitMitarbeiter(newServiceRecord, reldc, rd, isGroupRecord, result);
if (resultMa != null)
{
result.Add(resultMa);
}
// 11. Prüfe Fehlkontakte > 2 Std.
if (duration > 120 && (newServiceRecord.ServiceDescription.Name.ToLower().Contains("fehlkontakt") || newServiceRecord.ServiceDescription.Category.Name.ToLower().Contains("fehlkontakt")))
{
String message = String.Format("Die eingegebene Dauer des Fehlkontakts überschreitet die maximal abrechenbare Dauer von 2 Stunden.\nMöchten Sie trotzdem speichern?");
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = message,
Allow = true
});
}
}
long? userOid = SecurityUtils.GetLoggedInUser().Oid;
foreach (var r in result)
{
ValidationMessage validationMessage = new ValidationMessage();
validationMessage.Message = r.Message;
validationMessage.UserOid = userOid;
validationMessage.EmployeeOid = newServiceRecord.Employee?.EmployeeOid;
validationMessage.SupportConceptOid = newServiceRecord.SupportConcept?.SupportConceptOid;
validationMessage.CustomerName = r.CustomerName;
validationMessage.ServiceCategory = newServiceRecord.ServiceDescription.CategoryName;
validationMessage.ServiceDescription = newServiceRecord.ServiceDescription.Name;
validationMessage.ServiceRecordStart = newServiceRecord.Start;
validationMessage.ServiceRecordEnd = newServiceRecord.End;
validationMessage.ServiceRecordValidationResult = (int)r.ResultType;
DAOFactory.GenericDAO.Insert(validationMessage);
}
#endregion
// Warnung bei Fehlkontakt, wenn bereits eine abrechenbare Leistung an dem Tag gebucht wurde
if (newServiceRecord.Start.HasValue && newServiceRecord.SupportConcept != null && newServiceRecord.SupportConcept.CostBearer.Contains("LVR") && newServiceRecord.ServiceDescription.Name.ToLower().Contains("fehlkontakt"))
{
// Alle Einträge des Tages holen, für den dokumentiert wird
var span = new DateTimeSpan() { StartDate = new DateTime(newServiceRecord.Start.Value.Year, newServiceRecord.Start.Value.Month, newServiceRecord.Start.Value.Day), EndDate = newServiceRecord.Start.Value.Date.AddDays(1) };
var eintraegeAmTag = DAOFactory.SearchDAO.FindServiceRecordsInSpan(newServiceRecord.CostBearer2SupportConceptOid.Value, span);
if (eintraegeAmTag != null && eintraegeAmTag.Count() > 0)
{
list.Add(new ServiceRecordValidationResultDC
{
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Allow = true,
Message = "Achtung, bitte beachten, dass bereits eine andere aberechenbare Leistung an diesem Tag im Hilfeplan erbracht wurde und ein Fehlkontakt daher nicht zulässig ist." +
"\nWollen Sie dennoch speichern?"
});
}
}
}
}
else if (newServiceRecord.Start.HasValue && newServiceRecord.SupportConcept != null && newServiceRecord.SupportConcept.CostBearer.Contains("LVR")
else if (newServiceRecord.Start.HasValue && newServiceRecord.SupportConcept != null && newServiceRecord.SupportConcept.CostBearer.Contains("LVR")
&& newServiceRecord.ServiceDescription.Category.IsBillable && !newServiceRecord.ServiceDescription.Name.ToLower().Contains("fehlkontakt"))
{
// Alle Einträge des Tages holen, für den dokumentiert wird
@@ -59,7 +449,7 @@ namespace BeWoAuxilioRitter.Validation
if (eintraegeAmTag != null && eintraegeAmTag.Any(s => s.ServiceDescription.ServiceCategory.IsBillable && s.ServiceDescription.Name.ToLower().Contains("fehlkontakt")))
{
list.Add(new ServiceRecordValidationResultDC
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Allow = true,
@@ -70,13 +460,23 @@ namespace BeWoAuxilioRitter.Validation
}
if (newServiceRecord.Start.HasValue && newServiceRecord.Start.Value.Date > DateTime.Now)
{
list.Add(new ServiceRecordValidationResultDC
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = "Das gewählte Datum darf nicht in der Zukunft liegen."
});
}
return list;
return result;
}
// Muss hier mit rein, da es sonst eine NPE gibt
public override String[] GetIgnoreServiceDescriptionsForOverlappingCheck()
{
if (_AppSettings.ShowWorktime && _AppSettings.EnableArbeitszeiterfassung)
{
return new[] { "Arbeitszeit", "Arbeitszeiterfassung" };
}
return null;
}
}
}

View File

@@ -29,7 +29,6 @@ namespace BeWoFuerDich
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -40,6 +39,7 @@ namespace BeWoFuerDich
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -67,8 +67,7 @@ namespace BeWoFuerDich
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
@@ -204,11 +203,23 @@ namespace BeWoFuerDich
this.xrLabel4,
this.xrLabel3,
this.xrLabel2});
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportHeader.HeightF = 360.0207F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// lblAdresse
//
this.lblAdresse.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.lblAdresse.CanGrow = false;
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(413.125F, 163.0208F);
this.lblAdresse.StylePriority.UseBorders = false;
this.lblAdresse.StylePriority.UseFont = false;
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
@@ -350,7 +361,8 @@ namespace BeWoFuerDich
//
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
this.xrLabel4.CanShrink = true;
this.xrLabel4.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 205.0208F);
this.xrLabel4.Multiline = true;
this.xrLabel4.Name = "xrLabel4";
@@ -365,7 +377,8 @@ namespace BeWoFuerDich
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 188.0208F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -379,7 +392,8 @@ namespace BeWoFuerDich
//
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
this.xrLabel2.CanShrink = true;
this.xrLabel2.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 163.0208F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -403,7 +417,7 @@ namespace BeWoFuerDich
this.xrLabel12,
this.lblNotice,
this.xrTable4});
this.ReportFooter.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportFooter.HeightF = 247.5417F;
this.ReportFooter.KeepTogether = true;
this.ReportFooter.Name = "ReportFooter";
@@ -441,7 +455,7 @@ namespace BeWoFuerDich
// lblNotice
//
this.lblNotice.CanShrink = true;
this.lblNotice.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Italic);
this.lblNotice.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Italic);
this.lblNotice.LocationFloat = new DevExpress.Utils.PointFloat(0F, 46.54166F);
this.lblNotice.Name = "lblNotice";
this.lblNotice.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -470,7 +484,7 @@ namespace BeWoFuerDich
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell23.BorderWidth = 2F;
this.xrTableCell23.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold);
this.xrTableCell23.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 3, 0, 0, 100F);
this.xrTableCell23.StylePriority.UseBorders = false;
@@ -489,7 +503,7 @@ namespace BeWoFuerDich
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.HeightF = 83.68759F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// DetailReport
@@ -505,7 +519,7 @@ namespace BeWoFuerDich
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.Detail1.Font = new System.Drawing.Font("Verdana", 9.75F);
this.Detail1.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F);
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
@@ -514,18 +528,6 @@ namespace BeWoFuerDich
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.InvoiceCustomerRO);
//
// lblAdresse
//
this.lblAdresse.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.lblAdresse.CanGrow = false;
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(413.125F, 163.0208F);
this.lblAdresse.StylePriority.UseBorders = false;
this.lblAdresse.StylePriority.UseFont = false;
//
// InvoiceCustomerReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -539,11 +541,11 @@ namespace BeWoFuerDich
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new System.Drawing.Printing.Margins(100, 50, 240, 50);
this.Margins = new DevExpress.Drawing.DXMargins(100F, 50F, 240F, 83.68759F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();

View File

@@ -117,7 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -28,7 +28,6 @@ namespace BeWoFuerDich
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
@@ -73,7 +72,7 @@ namespace BeWoFuerDich
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.bindingSource1 = new System.Windows.Forms.BindingSource();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
@@ -89,7 +88,7 @@ namespace BeWoFuerDich
//
// ReportHeader
//
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportHeader.HeightF = 0F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
@@ -107,7 +106,7 @@ namespace BeWoFuerDich
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.HeightF = 103.2503F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// Page1
@@ -119,7 +118,7 @@ namespace BeWoFuerDich
this.xrLabel5,
this.xrLabel8,
this.lblAbrechnungszeitraum});
this.Page1.Font = new System.Drawing.Font("Verdana", 10F);
this.Page1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.Page1.HeightF = 322.1041F;
this.Page1.Name = "Page1";
this.Page1.StylePriority.UseFont = false;
@@ -140,7 +139,8 @@ namespace BeWoFuerDich
//
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
this.xrLabel4.CanShrink = true;
this.xrLabel4.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 203.0208F);
this.xrLabel4.Multiline = true;
this.xrLabel4.Name = "xrLabel4";
@@ -155,7 +155,8 @@ namespace BeWoFuerDich
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 183.0208F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -198,7 +199,7 @@ namespace BeWoFuerDich
//
// xrLabel15
//
this.xrLabel15.Font = new System.Drawing.Font("Verdana", 10F);
this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 114.5833F);
this.xrLabel15.Name = "xrLabel15";
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -208,7 +209,7 @@ namespace BeWoFuerDich
//
// xrTable4
//
this.xrTable4.Font = new System.Drawing.Font("Verdana", 10F);
this.xrTable4.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.75F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
@@ -250,7 +251,7 @@ namespace BeWoFuerDich
//
this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorName")});
this.xrLabel14.Font = new System.Drawing.Font("Verdana", 10F);
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 189.5833F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -260,7 +261,7 @@ namespace BeWoFuerDich
//
// xrLabel9
//
this.xrLabel9.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Italic);
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Italic);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43.75F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -452,7 +453,8 @@ namespace BeWoFuerDich
//
// xrTable6
//
this.xrTable6.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable6.Font = new DevExpress.Drawing.DXFont("Verdana", 8.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable6.Name = "xrTable6";
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
@@ -603,7 +605,7 @@ namespace BeWoFuerDich
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "Gesamtsumme: {0}")});
this.xrLabel1.Font = new System.Drawing.Font("Verdana", 9F, System.Drawing.FontStyle.Bold);
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Verdana", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(420.9999F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
@@ -629,14 +631,14 @@ namespace BeWoFuerDich
this.DetailReport});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.Font = new System.Drawing.Font("Verdana", 10F);
this.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new System.Drawing.Printing.Margins(100, 50, 240, 50);
this.Margins = new DevExpress.Drawing.DXMargins(100F, 50F, 240F, 103.2503F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();

View File

@@ -117,7 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -28,7 +28,6 @@ namespace BeWoFuerDich.Alt
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Spitzabrechnung));
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
@@ -62,7 +61,7 @@ namespace BeWoFuerDich.Alt
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.bindingSource1 = new System.Windows.Forms.BindingSource();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow30 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -99,14 +98,14 @@ namespace BeWoFuerDich.Alt
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel17});
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportHeader.HeightF = 140F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// xrLabel17
//
this.xrLabel17.Font = new System.Drawing.Font("Verdana", 6F);
this.xrLabel17.Font = new DevExpress.Drawing.DXFont("Verdana", 6F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(223.5F, 74F);
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -135,7 +134,7 @@ namespace BeWoFuerDich.Alt
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 163.0208F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -150,7 +149,7 @@ namespace BeWoFuerDich.Alt
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel10,
this.lblNotice});
this.ReportFooter.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportFooter.HeightF = 134F;
this.ReportFooter.KeepTogether = true;
this.ReportFooter.Name = "ReportFooter";
@@ -159,7 +158,7 @@ namespace BeWoFuerDich.Alt
// xrLabel10
//
this.xrLabel10.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel10.Font = new System.Drawing.Font("Verdana", 8F);
this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Verdana", 8F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 116.9999F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -171,7 +170,7 @@ namespace BeWoFuerDich.Alt
// lblNotice
//
this.lblNotice.CanShrink = true;
this.lblNotice.Font = new System.Drawing.Font("Verdana", 8F);
this.lblNotice.Font = new DevExpress.Drawing.DXFont("Verdana", 8F);
this.lblNotice.LocationFloat = new DevExpress.Utils.PointFloat(0F, 7.999992F);
this.lblNotice.Multiline = true;
this.lblNotice.Name = "lblNotice";
@@ -182,12 +181,11 @@ namespace BeWoFuerDich.Alt
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 100F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.HeightF = 113.0833F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// GroupHeader1
@@ -206,7 +204,7 @@ namespace BeWoFuerDich.Alt
this.xrLabel1,
this.lblAdresse,
this.xrLabel3});
this.GroupHeader1.Font = new System.Drawing.Font("Verdana", 10F);
this.GroupHeader1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.GroupHeader1.HeightF = 400F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.StylePriority.UseFont = false;
@@ -345,7 +343,7 @@ namespace BeWoFuerDich.Alt
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.Detail1.Font = new System.Drawing.Font("Verdana", 10F);
this.Detail1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.Detail1.HeightF = 20F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
@@ -454,7 +452,7 @@ namespace BeWoFuerDich.Alt
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable4});
this.GroupFooter1.Font = new System.Drawing.Font("Verdana", 10F);
this.GroupFooter1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.GroupFooter1.HeightF = 120F;
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.StylePriority.UseFont = false;
@@ -655,7 +653,7 @@ namespace BeWoFuerDich.Alt
this.xrTableCell58.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell58.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell58.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell58.Name = "xrTableCell58";
this.xrTableCell58.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell58.StylePriority.UseBorderColor = false;
@@ -681,11 +679,11 @@ namespace BeWoFuerDich.Alt
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new System.Drawing.Printing.Margins(105, 50, 100, 50);
this.Margins = new DevExpress.Drawing.DXMargins(105F, 50F, 100F, 113.0833F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();

View File

@@ -122,7 +122,4 @@
rung nach §§ 75 ff. SGB XII eingehalten wurden und alle hier gemachten Angaben anhand der vorgehaltenen
Quittierungsbelege sowie der Betreuungsdokumentation jederzeit nachgewiesen werden können.</value>
</data>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -28,7 +28,6 @@ namespace BeWoFuerDich
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Spitzabrechnung));
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
@@ -38,6 +37,7 @@ namespace BeWoFuerDich
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
this.lblFehlkontakte = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.lblNotice = new DevExpress.XtraReports.UI.XRLabel();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
@@ -71,6 +71,7 @@ namespace BeWoFuerDich
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow30 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -91,12 +92,10 @@ namespace BeWoFuerDich
this.xrTableRow36 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell57 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell58 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.lblFehlkontakte = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -110,14 +109,14 @@ namespace BeWoFuerDich
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel17});
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportHeader.HeightF = 140F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// xrLabel17
//
this.xrLabel17.Font = new System.Drawing.Font("Verdana", 6F);
this.xrLabel17.Font = new DevExpress.Drawing.DXFont("Verdana", 6F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -145,7 +144,7 @@ namespace BeWoFuerDich
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 163.0208F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -161,16 +160,30 @@ namespace BeWoFuerDich
this.lblFehlkontakte,
this.xrLabel10,
this.lblNotice});
this.ReportFooter.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportFooter.HeightF = 135.9999F;
this.ReportFooter.KeepTogether = true;
this.ReportFooter.Name = "ReportFooter";
this.ReportFooter.StylePriority.UseFont = false;
//
// lblFehlkontakte
//
this.lblFehlkontakte.CanShrink = true;
this.lblFehlkontakte.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "FehlkontakteString")});
this.lblFehlkontakte.Font = new DevExpress.Drawing.DXFont("Verdana", 8.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblFehlkontakte.LocationFloat = new DevExpress.Utils.PointFloat(0F, 7.999974F);
this.lblFehlkontakte.Name = "lblFehlkontakte";
this.lblFehlkontakte.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblFehlkontakte.SizeF = new System.Drawing.SizeF(650F, 17F);
this.lblFehlkontakte.StylePriority.UseFont = false;
this.lblFehlkontakte.Text = "Herr / Frau:";
//
// xrLabel10
//
this.xrLabel10.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel10.Font = new System.Drawing.Font("Verdana", 8F);
this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Verdana", 8F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 118.9999F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -182,7 +195,7 @@ namespace BeWoFuerDich
// lblNotice
//
this.lblNotice.CanShrink = true;
this.lblNotice.Font = new System.Drawing.Font("Verdana", 8F);
this.lblNotice.Font = new DevExpress.Drawing.DXFont("Verdana", 8F);
this.lblNotice.LocationFloat = new DevExpress.Utils.PointFloat(0F, 28.99998F);
this.lblNotice.Multiline = true;
this.lblNotice.Name = "lblNotice";
@@ -193,12 +206,11 @@ namespace BeWoFuerDich
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 100F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.HeightF = 130.2083F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// GroupHeader1
@@ -217,7 +229,7 @@ namespace BeWoFuerDich
this.xrLabel1,
this.lblAdresse,
this.xrLabel3});
this.GroupHeader1.Font = new System.Drawing.Font("Verdana", 10F);
this.GroupHeader1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.GroupHeader1.HeightF = 400F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.StylePriority.UseFont = false;
@@ -356,7 +368,7 @@ namespace BeWoFuerDich
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.Detail1.Font = new System.Drawing.Font("Verdana", 10F);
this.Detail1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.Detail1.HeightF = 20F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
@@ -499,7 +511,8 @@ namespace BeWoFuerDich
this.xrTableCell9.BorderColor = System.Drawing.Color.Black;
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell9.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell9.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell9.StylePriority.UseBorderColor = false;
@@ -517,7 +530,8 @@ namespace BeWoFuerDich
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.GrossAmountTotal")});
this.xrTableCell10.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell10.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell10.StylePriority.UseBorderColor = false;
@@ -543,7 +557,8 @@ namespace BeWoFuerDich
this.xrTableCell7.BorderColor = System.Drawing.Color.Black;
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell7.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell7.StylePriority.UseBorderColor = false;
@@ -552,11 +567,15 @@ namespace BeWoFuerDich
this.xrTableCell7.StylePriority.UsePadding = false;
this.xrTableCell7.Weight = 3D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO);
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable4});
this.GroupFooter1.Font = new System.Drawing.Font("Verdana", 10F);
this.GroupFooter1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.GroupFooter1.HeightF = 120F;
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.StylePriority.UseFont = false;
@@ -758,7 +777,7 @@ namespace BeWoFuerDich
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell58.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Claim", "{0:c}")});
this.xrTableCell58.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell58.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell58.Name = "xrTableCell58";
this.xrTableCell58.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell58.StylePriority.UseBorderColor = false;
@@ -768,23 +787,6 @@ namespace BeWoFuerDich
this.xrTableCell58.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell58.Weight = 0.21685899000901443D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO);
//
// lblFehlkontakte
//
this.lblFehlkontakte.CanShrink = true;
this.lblFehlkontakte.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "FehlkontakteString")});
this.lblFehlkontakte.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblFehlkontakte.LocationFloat = new DevExpress.Utils.PointFloat(0F, 7.999974F);
this.lblFehlkontakte.Name = "lblFehlkontakte";
this.lblFehlkontakte.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblFehlkontakte.SizeF = new System.Drawing.SizeF(650F, 17F);
this.lblFehlkontakte.StylePriority.UseFont = false;
this.lblFehlkontakte.Text = "Herr / Frau:";
//
// Spitzabrechnung
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -800,15 +802,15 @@ namespace BeWoFuerDich
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new System.Drawing.Printing.Margins(105, 50, 100, 50);
this.Margins = new DevExpress.Drawing.DXMargins(105F, 50F, 100F, 130.2083F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}

View File

@@ -122,7 +122,4 @@
rung nach §§ 75 ff. SGB XII eingehalten wurden und alle hier gemachten Angaben anhand der vorgehaltenen
Quittierungsbelege sowie der Betreuungsdokumentation jederzeit nachgewiesen werden können.</value>
</data>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -28,7 +28,6 @@ namespace BeWoFuerDich
/// </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();
@@ -90,7 +89,7 @@ namespace BeWoFuerDich
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.bindingSource1 = new System.Windows.Forms.BindingSource();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
@@ -127,7 +126,7 @@ namespace BeWoFuerDich
// bottomMarginBand1
//
this.bottomMarginBand1.Font = new DevExpress.Drawing.DXFont("Arial", 7F);
this.bottomMarginBand1.HeightF = 5.760956F;
this.bottomMarginBand1.HeightF = 92.11489F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
this.bottomMarginBand1.StylePriority.UseFont = false;
//
@@ -904,7 +903,7 @@ namespace BeWoFuerDich
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, 240F, 5.760956F);
this.Margins = new DevExpress.Drawing.DXMargins(100F, 50F, 240F, 92.11489F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;

View File

@@ -19,7 +19,7 @@ namespace BellaDonna.Invoicing
base.SetRecipientInformation(serviceInvoice, costBearer);
if (costBearer.Organisation.Name.Contains("Jugendamt"))
/*if (costBearer.Organisation.Name.Contains("Jugendamt"))
{
if (serviceInvoice.InvoiceBase.CostBearer2SupportConcept != null &&
serviceInvoice.InvoiceBase.CostBearer2SupportConcept.CostBearerContactPerson != null)
@@ -41,7 +41,7 @@ namespace BellaDonna.Invoicing
}
}
}
else if (serviceInvoice.InvoiceBase.CostBearer2SupportConcept != null)
else */if (!costBearer.Organisation.Name.Contains("Jugendamt") && serviceInvoice.InvoiceBase.CostBearer2SupportConcept != null)
{
var cust = serviceInvoice.InvoiceBase.CostBearer2SupportConcept.SupportConcept.Customer;

View File

@@ -51,6 +51,12 @@ namespace BellaDonna
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation) && pRO.RecipientOrganisation.Contains("Jugendamt"))
{
pRO.RecipientOrganisation = "Jugendamt der Stadt Essen";
pRO.RecipientAddressLine1 = "Wirtschaftliche Jugendhilfe";
pRO.RecipientStreet = "Vereinstr. 2";
pRO.RecipientPostCodeAndTown = "45127 Essen";
pRO.RecipientDivision = null;
if (pRO.InvoiceBase.SupportConceptCostBearerRelDc != null)
{
var c2sOid = pRO.InvoiceBase.SupportConceptCostBearerRelDc.CostBearer2SupportConceptOid;

View File

@@ -56,6 +56,12 @@ namespace BellaDonna
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation) && pRO.RecipientOrganisation.Contains("Jugendamt"))
{
pRO.RecipientOrganisation = "Jugendamt der Stadt Essen";
pRO.RecipientAddressLine1 = "Wirtschaftliche Jugendhilfe";
pRO.RecipientStreet = "Vereinstr. 2";
pRO.RecipientPostCodeAndTown = "45127 Essen";
pRO.RecipientDivision = null;
if (pRO.InvoiceBase.SupportConceptCostBearerRelDc != null)
{
var c2sOid = pRO.InvoiceBase.SupportConceptCostBearerRelDc.CostBearer2SupportConceptOid;

View File

@@ -111,13 +111,25 @@ namespace BetreuWoWesel
decimal sollProTag = ed.SollProTag;
// Durch die Anpassung funktioniert das Darstellen von Abwesenheiten nicht, wenn ein Vertrag mitten im Monat endet.
// Endet ein Vertrag mitten im Monat endet, wird in base.CreateEmployeeDetails() das SollProTag auf 0 gesetzt. Dadurch werden hier folgend die
// Abwesenheiten nicht mehr dargestellt, weil "stundenDurchAbwesenheiten" 0 bleibt.
var c = ed.Employee.GetValidContractForDate(start);
if (c != null && c.WeeklyTotalHours.HasValue && c.WeeklyDays.HasValue)
{
var sonderfallSoll = c.WeeklyTotalHours.Value / c.WeeklyDays.Value;
if (sollProTag == 0 && sonderfallSoll > 0)
sollProTag = sonderfallSoll;
}
var test = base.GetSollNachArbeitszeiten(ed.Employee, start, start.AddDays(1));
if (test.HasValue)
{
sollProTag = test.Value;
}
if (start >= new DateTime(2026, 03, 02))
{ }
var ah = GetAbsenceTimeDaysWithWorkWeeks(ed.Employee.AbsenceTimes, start, start.AddDays(1), ed.ArbeitstageProWoche);
decimal stundenDurchAbwesenheiten = 0;

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{23696062-2534-49E5-B88D-E182F2399923}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CaritasverbandDuerenJuelichEvBeWo</RootNamespace>
<AssemblyName>4512933309_Reports</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.2.Export, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpo.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Reporting\InvoiceCustomerReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Reporting\InvoiceCustomerReport.Designer.cs">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Reporting\CustomReportCreator.cs" />
<Compile Include="Reporting\ServiceInvoiceReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Reporting\ServiceInvoiceReport.Designer.cs">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
</Compile>
<Compile Include="Reporting\SettlementReport2.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Reporting\SettlementReport2.Designer.cs">
<DependentUpon>SettlementReport2.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\..\Report\Report.csproj">
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
<Name>Service</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Reporting\InvoiceCustomerReport.resx">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Reporting\ServiceInvoiceReport.resx">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Reporting\SettlementReport2.resx">
<DependentUpon>SettlementReport2.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

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

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("KundeXyz")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("KundeXyz")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("c1fed668-adb9-47e0-b589-1389618e1b6e")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,820 @@
using BeWo.Report.ReportObjects;
namespace CaritasverbandDuerenJuelichEvBeWo
{
partial class InvoiceCustomerReport
{
/// <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);
}
#region Designer generated code
/// <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();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.lblAddress = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAnrede = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
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.lblNotice = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).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;
//
// xrTable1
//
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow9});
this.xrTable1.SizeF = new System.Drawing.SizeF(671.4175F, 25F);
this.xrTable1.StylePriority.UseFont = false;
//
// xrTableRow9
//
this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell6,
this.xrTableCell7,
this.xrTableCell9,
this.xrTableCell14,
this.xrTableCell10,
this.xrTableCell12});
this.xrTableRow9.Name = "xrTableRow9";
this.xrTableRow9.Weight = 1D;
//
// xrTableCell6
//
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.AccountingPeriodStart")});
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell6.StylePriority.UseBorders = false;
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "xrTableCell6";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell6.Weight = 1D;
//
// xrTableCell7
//
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.AccountingPeriodEnd")});
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UsePadding = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "xrTableCell7";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell7.Weight = 1D;
//
// xrTableCell9
//
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.ItemDescription")});
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell9.StylePriority.UseBorders = false;
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.Text = "xrTableCell9";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell9.Weight = 2.3350077713203072D;
//
// xrTableCell14
//
this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.UnitPrice")});
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell14.StylePriority.UseBorders = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "xrTableCell14";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell14.Weight = 0.81217660612832132D;
//
// xrTableCell10
//
this.xrTableCell10.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.UnitCount", "{0:0.##}")});
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell10.StylePriority.UseBorders = false;
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "xrTableCell10";
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell10.Weight = 0.6539656324947265D;
//
// xrTableCell12
//
this.xrTableCell12.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.AmountSum")});
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 3, 0, 0, 100F);
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UsePadding = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.Text = "xrTableCell12";
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell12.Weight = 1.0152204985905673D;
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel16,
this.xrLabel5,
this.xrLabel17,
this.xrLabel7,
this.xrLabel9,
this.lblAddress,
this.xrTable3,
this.xrLabel6,
this.lblAnrede,
this.xrLabel4,
this.xrLabel3,
this.xrLabel2,
this.xrTable2});
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportHeader.HeightF = 518.875F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// lblAddress
//
this.lblAddress.LocationFloat = new DevExpress.Utils.PointFloat(0F, 23.00002F);
this.lblAddress.Multiline = true;
this.lblAddress.Name = "lblAddress";
this.lblAddress.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAddress.SizeF = new System.Drawing.SizeF(351.375F, 131F);
this.lblAddress.StylePriority.UseFont = false;
this.lblAddress.Text = "[RecipientOrganisation]\r\n[RecipientDivision]\r\n[RecipientFirstName] [RecipientLast" +
"Name]\r\n[RecipientStreet]\r\n[RecipientPostCode] [RecipientTown]";
//
// xrTable3
//
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 493.8749F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10});
this.xrTable3.SizeF = new System.Drawing.SizeF(671.4175F, 25F);
this.xrTable3.StylePriority.UseFont = false;
//
// xrTableRow10
//
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell15,
this.xrTableCell16,
this.xrTableCell17,
this.xrTableCell18,
this.xrTableCell19,
this.xrTableCell20});
this.xrTableRow10.Name = "xrTableRow10";
this.xrTableRow10.Weight = 1D;
//
// xrTableCell15
//
this.xrTableCell15.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell15.StylePriority.UseBorders = false;
this.xrTableCell15.StylePriority.UsePadding = false;
this.xrTableCell15.StylePriority.UseTextAlignment = false;
this.xrTableCell15.Text = "Von";
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell15.Weight = 1D;
//
// xrTableCell16
//
this.xrTableCell16.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell16.StylePriority.UseBorders = false;
this.xrTableCell16.StylePriority.UsePadding = false;
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.Text = "Bis";
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell16.Weight = 1D;
//
// xrTableCell17
//
this.xrTableCell17.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell17.StylePriority.UseBorders = false;
this.xrTableCell17.StylePriority.UsePadding = false;
this.xrTableCell17.StylePriority.UseTextAlignment = false;
this.xrTableCell17.Text = "Posten";
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell17.Weight = 2.3350077713203934D;
//
// xrTableCell18
//
this.xrTableCell18.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell18.StylePriority.UseBorders = false;
this.xrTableCell18.StylePriority.UsePadding = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
this.xrTableCell18.Text = "Satz";
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell18.Weight = 0.81217660612829246D;
//
// xrTableCell19
//
this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell19.StylePriority.UseBorders = false;
this.xrTableCell19.StylePriority.UsePadding = false;
this.xrTableCell19.StylePriority.UseTextAlignment = false;
this.xrTableCell19.Text = "Anzahl";
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell19.Weight = 0.6539656324946691D;
//
// xrTableCell20
//
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 100F);
this.xrTableCell20.StylePriority.UseBorders = false;
this.xrTableCell20.StylePriority.UsePadding = false;
this.xrTableCell20.StylePriority.UseTextAlignment = false;
this.xrTableCell20.Text = "Betrag";
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell20.Weight = 1.0152204985905673D;
//
// xrLabel6
//
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 446.875F);
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(666.9999F, 23.25F);
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.Text = "für den Betreuungszeitraum [AccountingPeriod] berechnen wir folgende Leistungen:";
//
// lblAnrede
//
this.lblAnrede.LocationFloat = new DevExpress.Utils.PointFloat(0F, 413.875F);
this.lblAnrede.Multiline = true;
this.lblAnrede.Name = "lblAnrede";
this.lblAnrede.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAnrede.SizeF = new System.Drawing.SizeF(581.4177F, 17.00003F);
this.lblAnrede.StylePriority.UseFont = false;
this.lblAnrede.Text = "[RecipientSalutation]";
//
// xrLabel4
//
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
this.xrLabel4.CanShrink = true;
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 363.875F);
this.xrLabel4.Multiline = true;
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(650F, 17F);
this.xrLabel4.StylePriority.UseBackColor = false;
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.Text = "[CustomerReferenceNumber]";
this.xrLabel4.WordWrap = false;
//
// xrLabel3
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 346.875F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(650F, 16F);
this.xrLabel3.StylePriority.UseBackColor = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.Text = "Abrechnung über Betreuungsleistungen";
this.xrLabel3.WordWrap = false;
//
// xrLabel2
//
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
this.xrLabel2.CanShrink = true;
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 321.875F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 17F);
this.xrLabel2.StylePriority.UseBackColor = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]";
this.xrLabel2.WordWrap = false;
//
// xrTable2
//
this.xrTable2.Font = new DevExpress.Drawing.DXFont("arial", 8F);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(447.8307F, 74.33332F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow5,
this.xrTableRow1,
this.xrTableRow6,
this.xrTableRow3});
this.xrTable2.SizeF = new System.Drawing.SizeF(250.9591F, 58.14431F);
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UseTextAlignment = false;
this.xrTable2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell4});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.13245033112582783D;
//
// xrTableCell4
//
this.xrTableCell4.CanShrink = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Ihr/e Ansprechpartner/in:";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell4.Weight = 1D;
//
// xrTableRow5
//
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell13});
this.xrTableRow5.Name = "xrTableRow5";
this.xrTableRow5.Weight = 0.13245033112582783D;
//
// xrTableCell13
//
this.xrTableCell13.CanShrink = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell13.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "[SenderFirstName] [SenderLastName]";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell13.Weight = 1D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.13245033112582783D;
//
// xrTableCell1
//
this.xrTableCell1.CanShrink = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell1.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "[SenderPhone]";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell1.Weight = 1D;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell2});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 0.11258278145695365D;
//
// xrTableCell2
//
this.xrTableCell2.CanShrink = true;
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "[SenderFax]";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell2.Weight = 1D;
//
// ruleRateFactorNull
//
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
//
// ReportFooter
//
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel8,
this.xrLabel10,
this.xrLabel12,
this.lblNotice,
this.xrTable4});
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportFooter.HeightF = 264.0833F;
this.ReportFooter.KeepTogether = true;
this.ReportFooter.Name = "ReportFooter";
this.ReportFooter.StylePriority.UseFont = false;
//
// xrLabel8
//
this.xrLabel8.CanShrink = true;
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 75F);
this.xrLabel8.Multiline = true;
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(677F, 18.04168F);
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.Text = "[Notice]";
//
// xrLabel10
//
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 155.5417F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(175F, 17F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Mit freundlichen Grüßen";
//
// xrLabel12
//
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 230.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]";
//
// lblNotice
//
this.lblNotice.CanShrink = true;
this.lblNotice.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Italic);
this.lblNotice.LocationFloat = new DevExpress.Utils.PointFloat(0F, 46.54166F);
this.lblNotice.Name = "lblNotice";
this.lblNotice.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblNotice.SizeF = new System.Drawing.SizeF(250F, 28.45834F);
this.lblNotice.StylePriority.UseFont = false;
this.lblNotice.Text = "Abschließende Bemerkungen:";
//
// xrTable4
//
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(570.5F, 0F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow11});
this.xrTable4.SizeF = new System.Drawing.SizeF(101F, 25F);
//
// xrTableRow11
//
this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell23});
this.xrTableRow11.Name = "xrTableRow11";
this.xrTableRow11.Weight = 1D;
//
// xrTableCell23
//
this.xrTableCell23.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell23.BorderWidth = 2F;
this.xrTableCell23.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 3, 0, 0, 100F);
this.xrTableCell23.StylePriority.UseBorders = false;
this.xrTableCell23.StylePriority.UseBorderWidth = false;
this.xrTableCell23.StylePriority.UseFont = false;
this.xrTableCell23.StylePriority.UsePadding = false;
this.xrTableCell23.StylePriority.UseTextAlignment = false;
this.xrTableCell23.Text = "[TotalClaim]";
this.xrTableCell23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell23.Weight = 3.4827586206896557D;
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 172.9167F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel13});
this.bottomMarginBand1.HeightF = 81.62492F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1});
this.DetailReport.DataMember = "InvoiceItems";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.Detail1.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F);
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
//
// xrLabel16
//
this.xrLabel16.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 7F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(363.165F, 23.00002F);
this.xrLabel16.StylePriority.UseBorders = false;
this.xrLabel16.StylePriority.UseFont = false;
this.xrLabel16.Text = "Caritasverband Düren-Jülich e.V., Friedrichstr. 11, 52351 Düren";
//
// xrLabel5
//
this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(447.8307F, 0F);
this.xrLabel5.Multiline = true;
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(250.9592F, 18F);
this.xrLabel5.StylePriority.UseBorders = false;
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.Text = "Eingliederungshilfe Düren\r\n";
//
// xrLabel17
//
this.xrLabel17.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel17.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(447.8307F, 17.99997F);
this.xrLabel17.Multiline = true;
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel17.SizeF = new System.Drawing.SizeF(250.959F, 56.33335F);
this.xrLabel17.StylePriority.UseBorders = false;
this.xrLabel17.StylePriority.UseFont = false;
this.xrLabel17.Text = "Friedrichstr. 11\r\n52351 Düren \r\nPostfach 100338, 52303 Düren \r\nTelefon-Zentrale: " +
"0 24 21/4 81-120\r\n";
//
// xrLabel7
//
this.xrLabel7.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(447.8312F, 134.3333F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 8, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(250.9585F, 56.33336F);
this.xrLabel7.StylePriority.UseBorders = false;
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.StylePriority.UsePadding = false;
this.xrLabel7.Text = "Caritasverband für die Region Düren-Jülich e.V.\r\nVorstand: Dirk Hucko (Sprecher)," +
" Marcus Mauel\r\nAmtsgericht Düren VR 527";
//
// xrLabel9
//
this.xrLabel9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate", "{0:dd.MM.yyyy}")});
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("arial", 8F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(447.8307F, 207.6667F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(192.3748F, 23F);
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.StylePriority.UseTextAlignment = false;
this.xrLabel9.Text = "Düren";
this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 0.11258278145695365D;
//
// xrTableCell3
//
this.xrTableCell3.Multiline = true;
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "[SenderMail]";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell3.Weight = 1D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.InvoiceCustomerRO);
//
// xrLabel13
//
this.xrLabel13.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel13.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel13.Multiline = true;
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel13.SizeF = new System.Drawing.SizeF(657.9586F, 35.50002F);
this.xrLabel13.StylePriority.UseBorders = false;
this.xrLabel13.StylePriority.UseFont = false;
this.xrLabel13.Text = "Sparkasse Düren | IBAN: DE88 3955 0110 0000 6679 23 | BIC SDUEDE33XXX\r\nPax-Bank " +
"Aachen | IBAN: DE21 3706 0193 1004 1930 20 | BIC GENODED1PAX";
//
// InvoiceCustomerReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.ReportHeader,
this.ReportFooter,
this.topMarginBand1,
this.bottomMarginBand1,
this.DetailReport});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new DevExpress.Drawing.DXMargins(99.99998F, 25F, 172.9167F, 81.62492F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand Detail;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel lblAnrede;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
private DevExpress.XtraReports.UI.XRLabel lblNotice;
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell16;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRTable xrTable4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.XRLabel lblAddress;
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel17;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
}
}

View File

@@ -0,0 +1,54 @@
using System;
using System.Text;
using BeWo.Report;
using BeWo.Report.ReportObjects;
namespace CaritasverbandDuerenJuelichEvBeWo
{
public partial class InvoiceCustomerReport : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<InvoiceCustomerRO>
{
public InvoiceCustomerReport()
{
InitializeComponent();
}
public void SetReportDataSource(InvoiceCustomerRO pRO)
{
if (String.IsNullOrEmpty(pRO.Notice))
{
lblNotice.Visible = false;
}
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation) && !String.IsNullOrEmpty(pRO.RecipientOrganisation.Trim()))
{
sb.AppendLine(pRO.RecipientOrganisation);
}
if (!String.IsNullOrEmpty(pRO.RecipientDivision) && !String.IsNullOrEmpty(pRO.RecipientDivision.Trim()))
{
sb.AppendLine(pRO.RecipientDivision);
}
if ((!String.IsNullOrEmpty(pRO.RecipientFirstName) && !String.IsNullOrEmpty(pRO.RecipientFirstName.Trim()))
|| (!String.IsNullOrEmpty(pRO.RecipientLastName) && !String.IsNullOrEmpty(pRO.RecipientLastName.Trim())))
{
sb.AppendLine(String.Format("{0} {1}", pRO.RecipientFirstName, pRO.RecipientLastName).Trim());
}
if (!String.IsNullOrEmpty(pRO.RecipientStreet) && !String.IsNullOrEmpty(pRO.RecipientStreet.Trim()))
{
sb.AppendLine(pRO.RecipientStreet);
}
if (!String.IsNullOrEmpty(pRO.RecipientPostCode) && !String.IsNullOrEmpty(pRO.RecipientPostCode.Trim()))
{
sb.Append(pRO.RecipientPostCode);
sb.Append(" ");
}
if (!String.IsNullOrEmpty(pRO.RecipientTown) && !String.IsNullOrEmpty(pRO.RecipientTown.Trim()))
{
sb.Append(pRO.RecipientTown);
}
lblAddress.Text = sb.ToString();
this.bindingSource1.DataSource = pRO;
}
}
}

View File

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

View File

@@ -0,0 +1,977 @@
using BeWo.Report.ReportObjects;
namespace CaritasverbandDuerenJuelichEvBeWo
{
partial class ServiceInvoiceReport
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
DevExpress.XtraReports.UI.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.lblAdresse = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAnrede = new DevExpress.XtraReports.UI.XRLabel();
this.lblAbrechnungszeitraum = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
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.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow23 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport2 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail3 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow25 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell46 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable7 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).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.HeightF = 181.4583F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel5});
this.bottomMarginBand1.HeightF = 74.54175F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// Page1
//
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel8,
this.xrTable2,
this.xrLabel17,
this.xrLabel16,
this.xrLabel6,
this.xrLabel7,
this.xrTable7,
this.lblAdresse,
this.xrLabel4,
this.xrLabel3,
this.xrLabel2,
this.lblAnrede,
this.lblAbrechnungszeitraum});
this.Page1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.Page1.HeightF = 429.0833F;
this.Page1.Name = "Page1";
this.Page1.StylePriority.UseFont = false;
//
// lblAdresse
//
this.lblAdresse.LocationFloat = new DevExpress.Utils.PointFloat(0F, 23.00002F);
this.lblAdresse.Multiline = true;
this.lblAdresse.Name = "lblAdresse";
this.lblAdresse.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAdresse.SizeF = new System.Drawing.SizeF(317F, 111.5F);
this.lblAdresse.StylePriority.UseFont = false;
this.lblAdresse.Text = "[RecipientOrganisation]\r\n[RecipientContactPerson]\r\n[RecipientDivision]\r\n[Recipien" +
"tStreet]\r\n[RecipientPostCodeAndTown]";
//
// xrLabel4
//
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
this.xrLabel4.CanShrink = true;
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 310F);
this.xrLabel4.Multiline = true;
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(650F, 20F);
this.xrLabel4.StylePriority.UseBackColor = false;
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.Text = "[CustomerReferenceNumber]";
this.xrLabel4.WordWrap = false;
//
// xrLabel3
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 290F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(650F, 20F);
this.xrLabel3.StylePriority.UseBackColor = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.Text = "Abrechnung Betreuungsleistungen für [CustomerSalutation] [CustomerName], geb. [Cu" +
"stomerBirthdate!dd.MM.yyyy]";
this.xrLabel3.WordWrap = false;
//
// xrLabel2
//
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
this.xrLabel2.CanShrink = true;
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 269.9999F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 20F);
this.xrLabel2.StylePriority.UseBackColor = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]";
this.xrLabel2.WordWrap = false;
//
// lblAnrede
//
this.lblAnrede.LocationFloat = new DevExpress.Utils.PointFloat(0F, 372.5F);
this.lblAnrede.Name = "lblAnrede";
this.lblAnrede.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAnrede.SizeF = new System.Drawing.SizeF(317F, 17F);
this.lblAnrede.StylePriority.UseFont = false;
this.lblAnrede.Text = "Sehr geehrte Damen und Herren,";
//
// lblAbrechnungszeitraum
//
this.lblAbrechnungszeitraum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 397.5F);
this.lblAbrechnungszeitraum.Multiline = true;
this.lblAbrechnungszeitraum.Name = "lblAbrechnungszeitraum";
this.lblAbrechnungszeitraum.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAbrechnungszeitraum.SizeF = new System.Drawing.SizeF(642F, 31.58334F);
this.lblAbrechnungszeitraum.StylePriority.UseFont = false;
this.lblAbrechnungszeitraum.Text = "hiermit berechnen wir für den ... folgende erbrachte Tätigkeiten:";
//
// xrLabel15
//
this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 114.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";
//
// xrTable4
//
this.xrTable4.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.75F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10,
this.xrTableRow14});
this.xrTable4.SizeF = new System.Drawing.SizeF(650F, 26F);
this.xrTable4.StylePriority.UseFont = false;
//
// xrTableRow10
//
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell9});
this.xrTableRow10.Name = "xrTableRow10";
this.xrTableRow10.Weight = 0.38095238095238093D;
//
// xrTableCell9
//
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")});
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.Text = "xrTableCell1";
this.xrTableCell9.Weight = 3D;
//
// xrTableRow14
//
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell12});
this.xrTableRow14.Name = "xrTableRow14";
this.xrTableRow14.Weight = 0.23809523809523808D;
//
// xrTableCell12
//
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Weight = 3D;
//
// 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("Verdana", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 189.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]";
//
// xrLabel9
//
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Italic);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43.75F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(250F, 17F);
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.Text = "Abschließende Bemerkungen:";
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.DetailReport2});
this.DetailReport.DataMember = "ServiceInvoicePeriods";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
//
// xrTable5
//
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(677F, 25F);
//
// xrTableRow23
//
this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell32,
this.xrTableCell37,
this.xrTableCell35,
this.xrTableCell33,
this.xrTableCell36,
this.xrTableCell38,
this.xrTableCell34});
this.xrTableRow23.Name = "xrTableRow23";
this.xrTableRow23.Weight = 1D;
//
// xrTableCell32
//
this.xrTableCell32.BackColor = System.Drawing.Color.Gainsboro;
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.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.UsePadding = false;
this.xrTableCell32.StylePriority.UseTextAlignment = false;
this.xrTableCell32.Text = "Zeitraum";
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell32.Weight = 0.62463077449375981D;
//
// xrTableCell37
//
this.xrTableCell37.BackColor = System.Drawing.Color.Gainsboro;
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.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.UsePadding = false;
this.xrTableCell37.StylePriority.UseTextAlignment = false;
this.xrTableCell37.Text = "Leistung";
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell37.Weight = 0.85081236260328186D;
//
// xrTableCell35
//
this.xrTableCell35.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell35.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell35.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell35.StylePriority.UseBackColor = false;
this.xrTableCell35.StylePriority.UseBorderColor = false;
this.xrTableCell35.StylePriority.UseBorders = false;
this.xrTableCell35.StylePriority.UsePadding = false;
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "Satz";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell35.Weight = 0.23245943032832414D;
//
// xrTableCell33
//
this.xrTableCell33.BackColor = System.Drawing.Color.Gainsboro;
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.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.UsePadding = false;
this.xrTableCell33.StylePriority.UseTextAlignment = false;
this.xrTableCell33.Text = "Stunden";
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell33.Weight = 0.2893277257020575D;
//
// xrTableCell36
//
this.xrTableCell36.BackColor = System.Drawing.Color.Gainsboro;
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.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.UsePadding = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.Text = "Betrag";
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell36.Weight = 0.26310971709438763D;
//
// xrTableCell38
//
this.xrTableCell38.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell38.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell38.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell38.StylePriority.UseBackColor = false;
this.xrTableCell38.StylePriority.UseBorderColor = false;
this.xrTableCell38.StylePriority.UseBorders = false;
this.xrTableCell38.StylePriority.UsePadding = false;
this.xrTableCell38.StylePriority.UseTextAlignment = false;
this.xrTableCell38.Text = "pausch Fakt.";
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell38.Weight = 0.42042083402151886D;
//
// xrTableCell34
//
this.xrTableCell34.BackColor = System.Drawing.Color.Gainsboro;
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.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.UsePadding = false;
this.xrTableCell34.StylePriority.UseTextAlignment = false;
this.xrTableCell34.Text = "Gesamt";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell34.Weight = 0.31923915575667006D;
//
// DetailReport2
//
this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail3,
this.GroupFooter1});
this.DetailReport2.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
this.DetailReport2.DataSource = this.bindingSource1;
this.DetailReport2.Level = 0;
this.DetailReport2.Name = "DetailReport2";
this.DetailReport2.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
//
// Detail3
//
this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable6});
this.Detail3.HeightF = 25F;
this.Detail3.Name = "Detail3";
//
// xrTable6
//
this.xrTable6.Font = new DevExpress.Drawing.DXFont("Verdana", 8.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
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(677F, 25F);
this.xrTable6.StylePriority.UseFont = false;
//
// xrTableRow25
//
this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell40,
this.xrTableCell42,
this.xrTableCell43,
this.xrTableCell44,
this.xrTableCell45,
this.xrTableCell46,
this.xrTableCell47});
this.xrTableRow25.Name = "xrTableRow25";
this.xrTableRow25.Weight = 1D;
//
// 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.Duration")});
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.UsePadding = false;
this.xrTableCell40.StylePriority.UseTextAlignment = false;
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell40.Weight = 0.62463084211025488D;
//
// 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.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.UsePadding = false;
this.xrTableCell42.StylePriority.UseTextAlignment = false;
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell42.Weight = 0.85081229498678679D;
//
// xrTableCell43
//
this.xrTableCell43.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell43.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell43.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate", "{0:0.00}")});
this.xrTableCell43.Name = "xrTableCell43";
this.xrTableCell43.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell43.StylePriority.UseBorderColor = false;
this.xrTableCell43.StylePriority.UseBorders = false;
this.xrTableCell43.StylePriority.UsePadding = false;
this.xrTableCell43.StylePriority.UseTextAlignment = false;
this.xrTableCell43.Text = "xrTableCell43";
this.xrTableCell43.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell43.Weight = 0.23245943032832414D;
//
// 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.Hours", "{0:0.##}")});
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.UsePadding = false;
this.xrTableCell44.StylePriority.UseTextAlignment = false;
this.xrTableCell44.Text = "xrTableCell44";
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell44.Weight = 0.2893277257020575D;
//
// 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.NetAmount", "{0:0.00}")});
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.UsePadding = false;
this.xrTableCell45.StylePriority.UseTextAlignment = false;
this.xrTableCell45.Text = "xrTableCell45";
this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell45.Weight = 0.26310971709438763D;
//
// xrTableCell46
//
this.xrTableCell46.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell46.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell46.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.RateFactor")});
this.xrTableCell46.Name = "xrTableCell46";
this.xrTableCell46.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell46.StylePriority.UseBorderColor = false;
this.xrTableCell46.StylePriority.UseBorders = false;
this.xrTableCell46.StylePriority.UsePadding = false;
this.xrTableCell46.StylePriority.UseTextAlignment = false;
this.xrTableCell46.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell46.Weight = 0.42042083402151886D;
//
// 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.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.UsePadding = false;
this.xrTableCell47.StylePriority.UseTextAlignment = false;
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell47.Weight = 0.31923915575667006D;
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1,
this.xrLabel9,
this.xrTable4,
this.xrLabel14,
this.xrLabel15});
this.GroupFooter1.HeightF = 206.5833F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "Gesamtsumme: {0}")});
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Verdana", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(420.9999F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(255.8333F, 25F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UsePadding = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "xrLabel1";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// xrLabel17
//
this.xrLabel17.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel17.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(449.2493F, 17.99997F);
this.xrLabel17.Multiline = true;
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel17.SizeF = new System.Drawing.SizeF(250.959F, 56.33335F);
this.xrLabel17.StylePriority.UseBorders = false;
this.xrLabel17.StylePriority.UseFont = false;
this.xrLabel17.Text = "Friedrichstr. 11\r\n52351 Düren \r\nPostfach 100338, 52303 Düren \r\nTelefon-Zentrale: " +
"0 24 21/4 81-120\r\n";
//
// xrLabel16
//
this.xrLabel16.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 7F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(1.418559F, 0F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(363.165F, 23.00002F);
this.xrLabel16.StylePriority.UseBorders = false;
this.xrLabel16.StylePriority.UseFont = false;
this.xrLabel16.Text = "Caritasverband Düren-Jülich e.V., Friedrichstr. 11, 52351 Düren";
//
// xrLabel6
//
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(449.2492F, 0F);
this.xrLabel6.Multiline = true;
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(250.9592F, 18F);
this.xrLabel6.StylePriority.UseBorders = false;
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.Text = "Eingliederungshilfe Düren\r\n";
//
// xrLabel7
//
this.xrLabel7.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(449.2498F, 134.3333F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 8, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(250.9585F, 56.33336F);
this.xrLabel7.StylePriority.UseBorders = false;
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.StylePriority.UsePadding = false;
this.xrLabel7.Text = "Caritasverband für die Region Düren-Jülich e.V.\r\nVorstand: Dirk Hucko (Sprecher)," +
" Marcus Mauel\r\nAmtsgericht Düren VR 527";
//
// xrTable7
//
this.xrTable7.Font = new DevExpress.Drawing.DXFont("arial", 8F);
this.xrTable7.LocationFloat = new DevExpress.Utils.PointFloat(449.2498F, 74.33332F);
this.xrTable7.Name = "xrTable7";
this.xrTable7.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow5,
this.xrTableRow3,
this.xrTableRow1,
this.xrTableRow6});
this.xrTable7.SizeF = new System.Drawing.SizeF(250.9585F, 59.99999F);
this.xrTable7.StylePriority.UseFont = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell4});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.0794701986754967D;
//
// xrTableCell4
//
this.xrTableCell4.CanShrink = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Ihr/e Ansprechpartner/in:";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell4.Weight = 1D;
//
// xrTableRow5
//
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell13});
this.xrTableRow5.Name = "xrTableRow5";
this.xrTableRow5.Weight = 0.079470198675496692D;
//
// xrTableCell13
//
this.xrTableCell13.CanShrink = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell13.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "[SenderContactPerson]";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell13.Weight = 1D;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell8});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 0.079470198675496734D;
//
// xrTableCell8
//
this.xrTableCell8.CanShrink = true;
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "[SenderContactPersonMail]";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell8.Weight = 1D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.079470198675496651D;
//
// xrTableCell1
//
this.xrTableCell1.CanShrink = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell1.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "[SenderContactPersonPhone]";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell1.Weight = 1D;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell2});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 0.0794701986754967D;
//
// xrTableCell2
//
this.xrTableCell2.CanShrink = true;
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "[SenderContactPersonFax]";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell2.Weight = 1D;
//
// xrLabel5
//
this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(1.418559F, 0F);
this.xrLabel5.Multiline = true;
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(675.4145F, 35.50002F);
this.xrLabel5.StylePriority.UseBorders = false;
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.Text = "Sparkasse Düren | IBAN: DE88 3955 0110 0000 6679 23 | BIC SDUEDE33XXX\r\nPax-Bank " +
"Aachen | IBAN: DE21 3706 0193 1004 1930 20 | BIC GENODED1PAX";
//
// xrLabel8
//
this.xrLabel8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate", "{0:dd.MM.yyyy}")});
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("arial", 8F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(449.2492F, 207.6667F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(192.3748F, 23F);
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.StylePriority.UseTextAlignment = false;
this.xrLabel8.Text = "Düren";
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTable2
//
this.xrTable2.Font = new DevExpress.Drawing.DXFont("arial", 8F);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(449.2492F, 190.6667F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow11});
this.xrTable2.SizeF = new System.Drawing.SizeF(192.375F, 17F);
this.xrTable2.StylePriority.UseFont = false;
//
// xrTableRow11
//
this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3});
this.xrTableRow11.Name = "xrTableRow11";
this.xrTableRow11.Weight = 0.11258278145695365D;
//
// xrTableCell3
//
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "BusinessPartnerId")});
this.xrTableCell3.Multiline = true;
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell3.TextFormatString = "GP-Nr.: {0}";
this.xrTableCell3.Weight = 1D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// ServiceInvoiceReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.ReportHeader,
this.topMarginBand1,
this.bottomMarginBand1,
this.Page1,
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(94.79165F, 32F, 181.4583F, 74.54175F);
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.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).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.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel lblAnrede;
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungszeitraum;
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
private DevExpress.XtraReports.UI.XRTable xrTable4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
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 xrLabel9;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
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 xrTableCell35;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell38;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport2;
private DevExpress.XtraReports.UI.DetailBand Detail3;
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 xrTableCell43;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell46;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
private DevExpress.XtraReports.UI.XRLabel lblAdresse;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel17;
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRTable xrTable7;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
}
}

View File

@@ -0,0 +1,74 @@
using System;
using System.Text;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using BS.Shared.Extensions;
using DevExpress.XtraReports.UI;
namespace CaritasverbandDuerenJuelichEvBeWo
{
public partial class ServiceInvoiceReport : XtraReport, IBeWoReport<ServiceInvoiceRO>
{
public ServiceInvoiceReport()
{
this.InitializeComponent();
}
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
DateTime start = pRO.AccountingPeriodStart;
DateTime end = pRO.AccountingPeriodEnd;
if (start.Month == end.Month && start.Year == end.Year)
{
lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Monat {0:MMMM yyyy} folgende erbrachte Tätigkeiten:", start);
}
else
{
lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Zeitraum {0:MMMM yyyy} - {1:MMMM yyyy} folgende erbrachte Tätigkeiten:", start, end);
}
if (pRO.CustomerSalutation.IsNullOrEmpty())
{
lblAnrede.Text = "Guten Tag,";
}
SetzeAdresse(pRO);
this.bindingSource1.DataSource = pRO;
}
private void SetzeAdresse(ServiceInvoiceRO pRO)
{
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation) && pRO.RecipientOrganisation.ToLower().Trim() != "selbstzahler")
{
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) && pRO.RecipientOrganisation.ToLower().Trim() != "selbstzahler")
{
sb.AppendLine(pRO.RecipientDivision);
}
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(pRO.RecipientPostCodeAndTown);
}
lblAdresse.Text = sb.ToString();
}
}
}

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -0,0 +1,124 @@
<?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>
<data name="xrLabel6.Text" xml:space="preserve">
<value>anbei sende ich Ihnen die unterschriebenen Nachweise über die im Rahmen des Betreuten Wohnens für [Salutation2] [CustomerFirstName] [CustomerLastName] erbrachten Leistungen zu. Nach unserer Berechnung ergeben sich für den Betreuungszeitraum [AccountingPeriod] hieraus:
</value>
</data>
</root>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Iesi.Collections" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.4000" newVersion="4.0.0.4000" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.0.4000" newVersion="3.1.0.4000" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -66,6 +66,7 @@ namespace CaritasverbandDuerenJuelichEV
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
@@ -83,7 +84,6 @@ namespace CaritasverbandDuerenJuelichEV
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).BeginInit();
@@ -483,8 +483,8 @@ namespace CaritasverbandDuerenJuelichEV
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel17,
this.xrPictureBox2,
this.xrLabel17,
this.xrLabel15,
this.xrLabel14,
this.xrLabel12,
@@ -502,11 +502,27 @@ namespace CaritasverbandDuerenJuelichEV
//
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "Employees2Entries.EmployeeSignature")});
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(329.4027F, 50F);
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(329.4F, 58F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(168.9861F, 50.04177F);
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(168.99F, 40F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrLabel17
//
this.xrLabel17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Employees2Entries.EmployeeSignatureDate")});
this.xrLabel17.Font = new DevExpress.Drawing.DXFont("arial", 10F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(249.1944F, 66.62508F);
this.xrLabel17.Multiline = true;
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel17.SizeF = new System.Drawing.SizeF(80.20834F, 33.41669F);
this.xrLabel17.StylePriority.UseFont = false;
this.xrLabel17.StylePriority.UseTextAlignment = false;
this.xrLabel17.Text = "xrLabel17";
this.xrLabel17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
this.xrLabel17.TextFormatString = "{0:dd.MM.yyyy}";
//
// xrLabel15
//
this.xrLabel15.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
@@ -698,22 +714,6 @@ namespace CaritasverbandDuerenJuelichEV
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsListRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// xrLabel17
//
this.xrLabel17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Employees2Entries.EmployeeSignatureDate")});
this.xrLabel17.Font = new DevExpress.Drawing.DXFont("arial", 10F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(249.1944F, 66.62508F);
this.xrLabel17.Multiline = true;
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
this.xrLabel17.SizeF = new System.Drawing.SizeF(80.20834F, 33.41669F);
this.xrLabel17.StylePriority.UseFont = false;
this.xrLabel17.StylePriority.UseTextAlignment = false;
this.xrLabel17.Text = "xrLabel17";
this.xrLabel17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
this.xrLabel17.TextFormatString = "{0:dd.MM.yyyy}";
//
// EmployeeKilometerauswertungsListReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -798,7 +798,7 @@ namespace CaritasverbandDuerenJuelichEV
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox2;
private DevExpress.XtraReports.UI.XRLabel xrLabel17;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox2;
}
}

View File

@@ -85,17 +85,31 @@ namespace CaritasverbandDuerenJuelichEV
var empRecords = records.Where(r => r.EmployeeOid == emp.Oid).ToList();
if (empRecords.Any(r => r.ServiceDescription.Name == "Monatsabschluss"))
{
e2e.EmployeeSignatureDate = records.Where(r => r.ServiceDescription.Name == "Monatsabschluss").LastOrDefault().InsTs.Value;
var timeSpan = new DateTimeSpan();
timeSpan.StartDateTime = pRO.StartDate;
timeSpan.EndDateTime = pRO.EndDate.AddDays(1).AddSeconds(-1);
var signatures = DAOFactory.SearchDAO.GetConfirmationReceiptSignaturesByEmployeeInTimeSpan(emp.Oid.Value, timeSpan);
if (signatures != null)
if (signatures != null && signatures.Count > 0)
{
var eSignature = signatures.LastOrDefault();
if (!(eSignature?.SignatureImage is null))
{
e2e.EmployeeSignature = ImageUtils.ConvertBase64StringToBitmap(eSignature.SignatureImage);
e2e.EmployeeSignatureDate = eSignature.InsTs;
}
}
// in den Fällen der Verwaltung, kann die letzte QB-Unterschrift ewig her sein, dann ältere nehmen
else
{
timeSpan.StartDateTime = new DateTime(2025, 01, 01);
signatures = DAOFactory.SearchDAO.GetConfirmationReceiptSignaturesByEmployeeInTimeSpan(emp.Oid.Value, timeSpan);
if (signatures != null && signatures.Count > 0)
{
var eSignature = signatures.LastOrDefault();
if (!(eSignature?.SignatureImage is null))
{
e2e.EmployeeSignature = ImageUtils.ConvertBase64StringToBitmap(eSignature.SignatureImage);
}
}
}
}

View File

@@ -83,17 +83,31 @@ namespace CaritasverbandDuerenJuelichEV
var records = DAOFactory.SearchDAO.GetServiceRecordForTimeSpan(pRO.StartDate, pRO.EndDate.AddDays(1).AddSeconds(-1)).Where(r => r.EmployeeOid == pRO.Employee.EmployeeOid).ToList();
if (records.Any(r => r.ServiceDescription.Name == "Monatsabschluss"))
{
lblDate.Text = String.Format("{0:dd.MM.yyyy}", records.Where(r => r.ServiceDescription.Name == "Monatsabschluss").LastOrDefault().InsTs.Value);
var timeSpan = new DateTimeSpan();
timeSpan.StartDateTime = pRO.StartDate;
timeSpan.EndDateTime = pRO.EndDate.AddDays(1).AddSeconds(-1);
var signatures = DAOFactory.SearchDAO.GetConfirmationReceiptSignaturesByEmployeeInTimeSpan(emp.Oid.Value, timeSpan);
if (signatures != null)
if (signatures != null && signatures.Count > 0)
{
var eSignature = signatures.LastOrDefault();
if (!(eSignature?.SignatureImage is null))
{
xrPictureBox2.Image = ImageUtils.ConvertBase64StringToBitmap(eSignature?.SignatureImage);
lblDate.Text = String.Format("{0:dd.MM.yyyy}", eSignature.InsTs);
}
}
// in den Fällen der Verwaltung, kann die letzte QB-Unterschrift ewig her sein, dann ältere nehmen
else
{
timeSpan.StartDateTime = new DateTime(2025, 01, 01);
signatures = DAOFactory.SearchDAO.GetConfirmationReceiptSignaturesByEmployeeInTimeSpan(emp.Oid.Value, timeSpan);
if (signatures != null)
{
var eSignature = signatures.LastOrDefault();
if (!(eSignature?.SignatureImage is null))
{
xrPictureBox2.Image = ImageUtils.ConvertBase64StringToBitmap(eSignature?.SignatureImage);
}
}
}
}

View File

@@ -45,6 +45,8 @@ namespace CaritasverbandDuerenJuelichEV
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.lblDate = new DevExpress.XtraReports.UI.XRLabel();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
@@ -59,7 +61,6 @@ namespace CaritasverbandDuerenJuelichEV
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle();
@@ -84,8 +85,7 @@ namespace CaritasverbandDuerenJuelichEV
this.xrCheckBox2 = new DevExpress.XtraReports.UI.XRCheckBox();
this.lblKennzeichen = new DevExpress.XtraReports.UI.XRLabel();
this.lblDoppelkm = new DevExpress.XtraReports.UI.XRLabel();
this.lblDate = new DevExpress.XtraReports.UI.XRLabel();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).BeginInit();
@@ -243,6 +243,25 @@ namespace CaritasverbandDuerenJuelichEV
this.GroupFooter1.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
this.GroupFooter1.RepeatEveryPage = true;
//
// lblDate
//
this.lblDate.Font = new DevExpress.Drawing.DXFont("arial", 10F);
this.lblDate.LocationFloat = new DevExpress.Utils.PointFloat(249.1944F, 69.33333F);
this.lblDate.Multiline = true;
this.lblDate.Name = "lblDate";
this.lblDate.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblDate.SizeF = new System.Drawing.SizeF(80.20834F, 33.41669F);
this.lblDate.StylePriority.UseFont = false;
this.lblDate.StylePriority.UseTextAlignment = false;
this.lblDate.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrPictureBox2
//
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(329.4F, 57F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(168.99F, 42F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrLabel15
//
this.xrLabel15.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
@@ -319,7 +338,7 @@ namespace CaritasverbandDuerenJuelichEV
this.xrLabel11.StylePriority.UsePadding = false;
this.xrLabel11.StylePriority.UseTextAlignment = false;
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrLabel11.TextFormatString = "{0:0.00} €";
this.xrLabel11.TextFormatString = "{0:0.00} €";
//
// xrLabel10
//
@@ -351,7 +370,7 @@ namespace CaritasverbandDuerenJuelichEV
this.xrLabel9.StylePriority.UsePadding = false;
this.xrLabel9.StylePriority.UseTextAlignment = false;
this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrLabel9.TextFormatString = "Summe des Erstattungsbetrags ({0} € pro Kilometer)";
this.xrLabel9.TextFormatString = "Summe des Erstattungsbetrags ({0} € pro Kilometer)";
//
// GroupHeader2
//
@@ -423,11 +442,6 @@ namespace CaritasverbandDuerenJuelichEV
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell12.Weight = 0.48185133670195773D;
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// pageFooterBand1
//
this.pageFooterBand1.HeightF = 23.33336F;
@@ -570,7 +584,7 @@ namespace CaritasverbandDuerenJuelichEV
this.xrLabel16.StylePriority.UseBorders = false;
this.xrLabel16.StylePriority.UseFont = false;
this.xrLabel16.StylePriority.UseTextAlignment = false;
this.xrLabel16.Text = "Caritasverband \r\nfür die Region Düren-Jülich e.V.";
this.xrLabel16.Text = "Caritasverband \r\nf<EFBFBD>r die Region D<EFBFBD>ren-J<EFBFBD>lich e.V.";
this.xrLabel16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrPictureBox1
@@ -702,26 +716,10 @@ namespace CaritasverbandDuerenJuelichEV
this.lblDoppelkm.Text = "Doppelkilometer: ";
this.lblDoppelkm.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// lblDate
// objectDataSource1
//
this.lblDate.Font = new DevExpress.Drawing.DXFont("arial", 10F);
this.lblDate.LocationFloat = new DevExpress.Utils.PointFloat(249.1944F, 69.33333F);
this.lblDate.Multiline = true;
this.lblDate.Name = "lblDate";
this.lblDate.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblDate.SizeF = new System.Drawing.SizeF(80.20834F, 33.41669F);
this.lblDate.StylePriority.UseFont = false;
this.lblDate.StylePriority.UseTextAlignment = false;
this.lblDate.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrPictureBox2
//
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "Employees2Entries.EmployeeSignature")});
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(329.4027F, 52.70824F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(168.9861F, 50.04177F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// EmployeeKilometerauswertungsReport
//

View File

@@ -117,6 +117,7 @@
<Compile Include="ServiceInvoiceReport.Designer.cs">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
</Compile>
<Compile Include="Service\CustomCustomerService.cs" />
<Compile Include="Service\CustomGroupDurationCalculator.cs" />
<Compile Include="Service\CustomSaveInterceptor.cs" />
<Compile Include="Service\CustomVacationService.cs" />

View File

@@ -0,0 +1,34 @@
using System.Collections.Generic;
using BeWo.Data;
using BeWo.Data.Entities;
using BeWo.Data.Security;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.DataContracts.Compact;
namespace CaritasverbandKelheim.Service
{
public class CustomCustomerService : CustomerService
{
public override List<CompactCustomerDC> GetAllActiveCustomersCompact(bool fetchReferenceNumbers, long? currentEmployeeOid)
{
var customer = base.GetAllActiveCustomersCompact(fetchReferenceNumbers, currentEmployeeOid);
if (UserRightHelper.LoggedInUserHasRight(UserRightType.Customer_ViewMyTeams))
{
foreach (var c in customer)
{
if (c.IsRelatedToTeam)
{
c.IsRelatedToEmployee = true;
}
}
}
return customer;
}
}
}

Some files were not shown because too many files have changed in this diff Show More