cb reports

This commit is contained in:
Christian
2021-02-21 19:01:51 +01:00
parent 9d1e79cb88
commit 21febac1a0
86 changed files with 9417 additions and 479 deletions

1
.gitignore vendored
View File

@@ -486,3 +486,4 @@
/ReportImp/KommAmbulanteDienste/obj/Debug
/ReportImp/KommAmbulanteDienste/obj/Release
/ReportImp/PassgenauUG/obj/Debug
/ReportImp/PassgenauUG/obj/Release

View File

@@ -149,6 +149,7 @@
<HintPath>..\packages\RestSharp.105.2.3\lib\net45\RestSharp.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Activities" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
@@ -421,6 +422,10 @@
<Page Include="View\Master\DokumenteView.xaml">
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
</Page>
<Page Include="View\TwoFactorAuthMessageDialog.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Report\Kilometerauswertung\KilometerauslastungsView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -1087,6 +1092,9 @@
<Compile Include="View\Master\DokumenteView.xaml.cs">
<DependentUpon>DokumenteView.xaml</DependentUpon>
</Compile>
<Compile Include="View\TwoFactorAuthMessageDialog.xaml.cs">
<DependentUpon>TwoFactorAuthMessageDialog.xaml</DependentUpon>
</Compile>
<Compile Include="View\Navigation\Sorter\UserSorter.cs" />
<Compile Include="View\Report\Kilometerauswertung\KilometerauslastungsView.xaml.cs">
<DependentUpon>KilometerauslastungsView.xaml</DependentUpon>

View File

@@ -45,9 +45,12 @@ using Image = System.Windows.Controls.Image;
using MessageBox = System.Windows.MessageBox;
using Panel = System.Windows.Controls.Panel;
using System.Windows.Media;
using System.Windows.Threading;
using BeWo.Core.Service;
using BeWo.ownChat;
using BeWo.PasswortSecurity;
using BeWo.Scheduler.Utils;
using BeWo.ViewModel.ListViewModel;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.DocumentViewer;
using DevExpress.Xpf.Printing.PreviewControl.Bars;
@@ -2093,14 +2096,15 @@ namespace BeWo.Core
if (customer.Count == 0)
{
// Normale Buchung
newView = new ChatDokumentationsView(notice, null, start, end, schedulerCallback, appointment);
newView = new ChatDokumentationsView(notice, null, start, end, null, schedulerCallback, appointment);
}
else if (customer.Count == 1 && employees.Count == 0)
else if (customer.Count == 1 && employees.Count < 2)
{
var compactKlient = ServiceFacade.DoCustomerServiceSync(s => s.GetCompactCustomerDC(customer[0].CustomerOid));
// Normale Buchung
newView = new ChatDokumentationsView(notice, compactKlient, start, end, schedulerCallback, appointment);
newView = new ChatDokumentationsView(notice, compactKlient, start, end, employees.Count == 1 ? employees[0] : null, schedulerCallback, appointment);
}
else
{
@@ -2123,14 +2127,14 @@ namespace BeWo.Core
if(customer.Count == 0)
{
// Normale Buchung
newView = new ChatDokumentationsView(notice, null, start, end);
newView = new ChatDokumentationsView(notice, null, start, end, null);
}
else if(customer.Count == 1 && employees.Count == 0)
else if(customer.Count == 1 && employees.Count < 2)
{
var compactKlient = ServiceFacade.DoCustomerServiceSync(s => s.GetCompactCustomerDC(customer[0].CustomerOid));
// Normale Buchung
newView = new ChatDokumentationsView(notice, compactKlient, start, end);
newView = new ChatDokumentationsView(notice, compactKlient, start, end, employees.Count == 1 ? employees[0] : null);
}
else
{
@@ -2208,6 +2212,157 @@ namespace BeWo.Core
var storage = pAppointment.GetCustomFieldStorage();
return Utils.CheckSchedulerRights(storage.CustomerList, storage.ResourceList, storage.EmployeeList.ToList(), storage.Originator, pIsNew, pCheckType, BeWoApp.LoggedOnUser);
}
}
public static void EditServiceRecord(ServiceRecordDC dc, DispatcherObject p)
{
var record = ServiceFacade.DoOperationsServiceSync(s => s.GetServiceRecordById(dc.ServiceRecordOid.Value));
//var allgoalsCopy = GoalService.CopyGoals(selectedRecord.AllGoals, false);
//var sr = new ServiceRecordVM(record, ViewModel.PrototypeVM.Category2Services,
//selectedRecord.AllGoalCategories, allgoalsCopy);
VMFactory.CreateServiceRecordVMAsync(
BeWoApp.LoggedOnUser.Employee.EmployeeOid,
vmList => p.Dispatch(
delegate
{
vmList.DispatcherObject = p;
if (record.Customer != null && record.SupportConcept != null)
{
vmList.InitPrototypeVM(record.Customer.CustomerOid, record.SupportConcept.SupportConceptOid, record.CostBearer2SupportConceptOid);
}
//var allgoalsCopy = GoalService.CopyGoals(selectedRecord.AllGoals, false);
//var sr = new ServiceRecordVM(record, ViewModel.PrototypeVM.Category2Services,
// selectedRecord.AllGoalCategories, allgoalsCopy);
var vm = new ServiceRecordVM(record, vmList.PrototypeVM.Category2Services, vmList.PrototypeVM.AllGoalCategories, vmList.PrototypeVM.AllGoals);
EditServiceRecord(vmList, vm);
}));
}
public static void EditServiceRecord(ServiceRecordListVM listvm, ServiceRecordVM vm)
{
if (vm == null)
{
return;
}
BeWoView serviceRecordEditView;
if (vm.GroupOid != null)
{
serviceRecordEditView = new ServiceRecordGroupEditView();
}
else
{
serviceRecordEditView = new ServiceRecordEditView();
}
double height = BeWoApp.MainControl.ActualHeight * 0.8;
double width = 710;
if (BeWoApp.AppSettings.ShowRtfTextfield)
{
height = BeWoApp.MainControl.ActualHeight - 120;
width = 1000;
}
if (BeWoApp.MainControl.ActualWidth < width)
{
width = BeWoApp.MainControl.ActualWidth;
}
if (height < 600)
{
height = 600;
}
var beWoWindow = new BeWoWindow
{
Height = height,
Width = width,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
GroupBoxContent = serviceRecordEditView,
Owner = BeWoApp.CurrentBeWo.MainWindow
};
beWoWindow.rootGroupBox.Style = null;
beWoWindow.rootGroupBox.Visibility = Visibility.Visible;
beWoWindow.rootGroupBox.Margin = new Thickness(-10);
beWoWindow.rootGroupBox.Padding = new Thickness(0);
if (serviceRecordEditView.CommandBindings.Count == 0)
{
serviceRecordEditView.CommandBindings.Add(
new CommandBinding(
ApplicationCommands.Close,
(s, e) =>
{
var result = ServiceRecordDialogResult.ClosedWithoutSaving;
if (vm.EditAllowed)
{
if (serviceRecordEditView is ServiceRecordEditView view)
{
result = view.CloseAndDoSaveCheck();
}
else
{
result = ((ServiceRecordGroupEditView)serviceRecordEditView).CloseAndDoSaveCheck();
}
}
beWoWindow.Close();
}));
serviceRecordEditView.CommandBindings.Add(
new CommandBinding(
ApplicationCommands.Save,
(s, e) =>
{
if (vm.EditAllowed)
{
bool save;
if (serviceRecordEditView is ServiceRecordEditView)
{
save = ((ServiceRecordEditView)serviceRecordEditView).IsValid() &&
((ServiceRecordEditView)serviceRecordEditView).IsCustomerChangeAllowed();
}
else
{
save = ((ServiceRecordGroupEditView)serviceRecordEditView).IsValid() &&
((ServiceRecordGroupEditView)serviceRecordEditView)
.IsCustomerChangeAllowed();
}
if (!save)
{
return;
}
serviceRecordEditView.SaveData();
}
beWoWindow.Close();
}));
}
if (serviceRecordEditView is ServiceRecordEditView)
{
((ServiceRecordEditView)serviceRecordEditView).InitView(listvm, vm, vm.SupportConcept == null);
}
else
{
var group = ServiceFacade.DoOperationsServiceSync(s => s.GetServiceRecordGroup(vm.GroupOid.Value));
((ServiceRecordGroupEditView)serviceRecordEditView).InitView(listvm, vm, group);
beWoWindow.Width += 190;
}
beWoWindow.ShowDialog();
}
}
}

View File

@@ -28,6 +28,7 @@ using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.View;
using BeWo.View.Detail;
using BS.Shared.Translation;
using Path = System.IO.Path;
namespace BeWo
@@ -983,8 +984,24 @@ namespace BeWo
private void LoginResult( WaitLayer2 lWaitLayer, UserValidationResult result, String lUserName, String lPassword, String tenant, String lPIN)
{
if (result == UserValidationResult.UserValid)
if (result == UserValidationResult.UserValid || result == UserValidationResult.UserValidTwoFactorAuthenticationNeeded)
{
if (result == UserValidationResult.UserValidTwoFactorAuthenticationNeeded)
{
MessageDialog dlg = new MessageDialog();
var message = Translator.Translate("Zwei Faktor Authentifizierung erorderlich");
if (message.Contains("<") && message.Contains(">"))
{
dlg.SetXaml(message);
}
else
{
dlg.Message = message;
}
dlg.ShowDialog();
}
if (!CheckStatusMessage(String.Format(GETSTATUSMESSAGE_URL, tenant, BeWoApp.ShortVersion)))
{
grid_root.Children.Remove(lWaitLayer);
@@ -1017,7 +1034,7 @@ namespace BeWo
BeWoApp.UserName = lUserName;
BeWoApp.UserPassword = lPassword;
ServiceFacade.DoUserServiceAsync(s2 => s2.LoadUserByLoginName(lUserName),
ServiceFacade.DoUserServiceAsync(s2 => s2.LoadUserByNameAndPassword(lUserName, lPassword),
r2 =>
{
BeWoApp.LoggedOnUser = r2;

View File

@@ -154,7 +154,11 @@ namespace BeWo.View.Detail
{
tabitem_chatservice.Visibility = Visibility.Collapsed;
}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_ViewNotizen))
{
tabitem_notizen.Visibility = Visibility.Collapsed;
}
comboBox_Nationalitaet.ItemsSource = pCustomerVM.Nationalitaeten;
comboBox_Aufenthalt.ItemsSource = pCustomerVM.AufenthaltsStatuse;

View File

@@ -127,7 +127,10 @@ namespace BeWo.View.Detail
{
tabitem_documents.Visibility = Visibility.Visible;
}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_ViewNotizen))
{
tabitem_notizen.Visibility = Visibility.Collapsed;
}
//Employee Image
if (_ViewModel.EmployeeImage != null)
{

View File

@@ -234,7 +234,7 @@
</dxc:ChartControl.Legend>
</dxc:ChartControl>
<Popup x:Name="tooltip1" AllowsTransparency="True">
<Border CornerRadius="0" Background="White" Padding="5"
<Border CornerRadius="0" Background="White" Padding="5" MouseLeave="UIElement_OnMouseLeave"
BorderBrush="LightGray" BorderThickness="1" >
<StackPanel x:Name="TooltipPanel" Orientation="Vertical"></StackPanel>

View File

@@ -1,4 +1,5 @@
using System;
using System.Activities.Expressions;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
@@ -9,6 +10,7 @@ using System.Windows.Controls.Primitives;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Threading;
using BeWo.Core;
using BeWo.Core.Service;
@@ -19,6 +21,7 @@ using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.ClientPartials;
using BS.Shared.Extensions;
using BS.Shared.Translation;
using DevExpress.Data.Helpers;
using DevExpress.Xpf.Charts;
using DevExpress.Xpf.Editors;
@@ -425,16 +428,17 @@ namespace BeWo.View.Detail
tooltip1.Placement = PlacementMode.Mouse;
tooltip1.PopupAnimation = PopupAnimation.None;
//tooltip1.HorizontalOffset = TooltipPanel.ActualWidth + 10;
//tooltip1.VerticalOffset = -TooltipPanel.ActualHeight;
tooltip1.PopupAnimation = PopupAnimation.Fade;
tooltip1.HorizontalOffset = 10;
tooltip1.VerticalOffset = -30;
tooltip1.IsOpen = true;
}
else
{
tooltip1.IsOpen = false;
//tooltip1.IsOpen = false;
}
}
@@ -511,13 +515,56 @@ namespace BeWo.View.Detail
recordLabel.SetValue(Grid.ColumnProperty, 0);
recordLabel.SetValue(Grid.RowProperty, 5);
recordLabel.SetValue(Grid.ColumnSpanProperty, 2);
var btn = new Button();
btn.ToolTip = Translator.Translate("In Zeiterfassung öffnen");
btn.SetValue(Grid.ColumnProperty, 1);
btn.SetValue(Grid.RowProperty, 5);
btn.Height = 23;
btn.Width = 23;
btn.Tag = cd.ServiceRecord;
btn.HorizontalAlignment = HorizontalAlignment.Right;
var img = new Image
{
Source = new BitmapImage(
new Uri(
"pack://application:,,,/Ressources/Icons/HistoryDisabled.png"))
};
btn.Content = img;
btn.Click += Btn_Click;
//< Button Grid.Column = "1" Width = "23" Height = "23" Style = "{DynamicResource TransparentButtonStyle}" ToolTip = "{markup:Translate In Zeiterfassung öffnen}" Tag = "{Binding}" Click = "ButtonOpenServiceRecordView_Click" Margin = "0,0,0,0" >
//< Image Source = "..\..\..\Ressources\Icons\HistoryDisabled.png" />
//</ Button >
g.Children.Add(recordLabel);
g.Children.Add(btn);
}
return g;
}
private void Btn_Click(object sender, RoutedEventArgs e)
{
var btn = sender as Button;
var dc = btn.Tag as ServiceRecordDC;
if (dc == null)
{
return;
}
BeWoUtils.EditServiceRecord(dc, this);
}
private TextBlock CreateTextBlock(bool bold)
{
var tb = new TextBlock();
@@ -535,7 +582,7 @@ namespace BeWo.View.Detail
private void chartControl1_MouseLeave(object sender, MouseEventArgs e)
{
tooltip1.IsOpen = false;
//tooltip1.IsOpen = false;
}
private void FetchStatistics()
@@ -890,7 +937,11 @@ namespace BeWo.View.Detail
}
}
private void UIElement_OnMouseLeave(object sender, MouseEventArgs e)
{
tooltip1.IsOpen = false;
}
}
public class ListBoxGoalItem

View File

@@ -76,6 +76,7 @@
<dxa:AccordionItem Header="{markup:Translate Zeiterfassung}" Foreground="{StaticResource TabItemTextBrush}">
<dxa:AccordionItem Header="{markup:Translate Angebote}" Name="TabitemAdditionalServiceRegions" Selected="Tabitem_Selected" Foreground="Black"/>
<dxa:AccordionItem Header="{markup:Translate Bereiche}" Name="TabitemAdditionalServices" Selected="Tabitem_Selected" Foreground="Black"/>
<dxa:AccordionItem Header="{markup:Translate Bewertungsskala}" Name="TabitemRatingTypes" Selected="Tabitem_Selected" Foreground="Black"/>
<dxa:AccordionItem Header="{markup:Translate Dokumentationsfelder}" Name="TabitemDokumenttype" Selected="Tabitem_Selected" Foreground="Black"/>
<dxa:AccordionItem Header="{markup:Translate Leistungskategorien}" Name="TabitemServiceCategories" Selected="Tabitem_Selected" Foreground="Black"/>
<dxa:AccordionItem Header="{markup:Translate Leistungen}" Name="TabitemServiceDescriptions" Selected="Tabitem_Selected" Foreground="Black"/>
@@ -84,7 +85,7 @@
<dxa:AccordionItem Header="{markup:Translate Textbausteine}" Name="TabitemTextbausteine" Selected="Tabitem_Selected" Foreground="Black"/>
<dxa:AccordionItem Header="{markup:Translate Ziele und Maßnahmen}" Name="TabitemGoalcategories" Selected="Tabitem_Selected" Foreground="Black"/>
<dxa:AccordionItem Header="{markup:Translate Bewertungsskala}" Name="TabitemRatingTypes" Selected="Tabitem_Selected" Foreground="Black"/>

View File

@@ -58,7 +58,7 @@
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal">
<Button Content="Neue Kategorie hinzufügen" Margin="3" Click="ButtonOpenAddNotizenKategorieClick" IsEnabled="{Binding Path=DarfNotizenEintragAnlegen, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}}" />
<Button Content="Neue Kategorie hinzufügen" Margin="3" Click="ButtonOpenAddNotizenKategorieClick" Visibility="{Binding Path=DarfNotizenEintraegeAnlegen, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}, Converter={StaticResource BoolVisibilityConverter}}" />
<controls:PopupNonTopmost x:Name="popup_newNotizenKategorie">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_newNotizenKategorie" Header="Neue Kategorie hinzufügen" Style="{DynamicResource ObjectEditGroupBox}">
@@ -142,11 +142,11 @@
<Button VerticalAlignment="Center" Height="20"
ToolTip="Kategorie umbenennen"
Margin="3" Content="!" FontFamily="Wingdings"
IsEnabled="{Binding Path=DarfNotizenEintraegeBearbeiten, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}}"
Click="KategorienamenChangeButtonClick">
<Button.Visibility>
<MultiBinding Converter="{StaticResource BoolVisibilityMultiConverter }">
<Binding Path="IsSelected" RelativeSource="{RelativeSource AncestorType={x:Type TabItem}}" />
<Binding Path="DarfNotizenEintraegeBearbeiten" RelativeSource="{RelativeSource AncestorType={x:Type view:NotizenView}}" />
</MultiBinding>
</Button.Visibility>
</Button>
@@ -174,7 +174,7 @@
<Button.Visibility>
<MultiBinding Converter="{StaticResource BoolVisibilityMultiConverter }">
<Binding Path="IsSelected" RelativeSource="{RelativeSource AncestorType={x:Type TabItem}}" />
<Binding Path="DarfNotizenEintragLoeschen" RelativeSource="{RelativeSource AncestorType={x:Type view:NotizenView}}" />
<Binding Path="DarfNotizenEintraegeLoeschen" RelativeSource="{RelativeSource AncestorType={x:Type view:NotizenView}}" />
</MultiBinding>
</Button.Visibility>
</Button>
@@ -197,7 +197,7 @@
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Grid.Row="1" Orientation="Horizontal" Grid.ColumnSpan="4">
<Button Content="Neue Notiz hinzufügen" Margin="3" Tag="{Binding}" Click="ButtonOpenAddNotizenEintragClick" IsEnabled="{Binding Path=DarfNotizenEintragAnlegen, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}}" />
<Button Content="Neue Notiz hinzufügen" Margin="3" Tag="{Binding}" Click="ButtonOpenAddNotizenEintragClick" Visibility="{Binding Path=DarfNotizenEintraegeAnlegen, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}, Converter={StaticResource BoolVisibilityConverter}}" />
<!--<Label VerticalAlignment="Center">Auszahlungsintervall</Label>
<dxe:ComboBoxEdit VerticalAlignment="Center" Height="23" HorizontalAlignment="Left" Width="100" IsTextEditable="False" Margin="3,0,3,3"
@@ -231,12 +231,12 @@
<GroupBox Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="4" x:Name="EintraegeGrid" Style="{StaticResource ObjectEditGroupBox}" Header="Notizen">
<dxg:GridControl Name="grid_NotizenEintraege" Tag="{Binding}" MaxWidth="{Binding ElementName=EintraegeGrid, Path=ActualWidth}" ItemsSource="{Binding Path=NotizenEintraege.VMList}" CustomColumnSort="GridNotizenEintraegeOnCustomColumnSort">
<dxg:GridControl Name="grid_NotizenEintraege" Tag="{Binding}" MaxWidth="{Binding ElementName=EintraegeGrid, Path=ActualWidth}" ItemsSource="{Binding Path=NotizenEintraege.VMList}" CustomColumnSort="GridNotizenEintraegeOnCustomColumnSort" Loaded="Grid_OnLoaded">
<dxg:GridControl.Columns>
<dxg:GridColumn Header="" FixedWidth="True" Width="24" ReadOnly="True" Visible="{Binding Path=DarfNotizenEintraegeBearbeiten, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}}">
<dxg:GridColumn Header="" FixedWidth="True" Width="24" ReadOnly="True" Visible="{Binding Path=DarfNotizenEintraegeLoeschen, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}}">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="r" Tag="{Binding}" Click="ButtonNotizenEintragDeleteClick" FontFamily="Webdings" Width="18" Height="18" VerticalAlignment="Center" IsEnabled="{Binding Path=DarfNotizenEintragLoeschen, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}}" />
<Button Content="r" Tag="{Binding}" Click="ButtonNotizenEintragDeleteClick" FontFamily="Webdings" Width="18" Height="18" VerticalAlignment="Center" IsEnabled="{Binding Path=DarfNotizenEintraegeLoeschen, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}}" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
@@ -244,15 +244,13 @@
<dxg:GridColumn Header="Angelegt am" FixedWidth="True" FieldName="InsTs" AllowEditing="False"/>
<dxg:GridColumn Header="Angelegt von" FixedWidth="True" FieldName="InsUser" AllowEditing="False"/>
<dxg:GridColumn Binding="{Binding Path=RowData.Row.EintragKategorieDC, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Header="Kategorie" FixedWidth="True" >
<dxg:GridColumn Binding="{Binding Path=RowData.Row.EintragKategorieDC, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Header="Kategorie" FixedWidth="True" AllowEditing="{Binding Path=NotizenEintraegeBearbeitenAlsDefaultBooelan, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}}">
<dxg:GridColumn.EditSettings >
<dxe:ComboBoxEditSettings ItemsSource="{Binding Path=EintragKategorienMitLeereintrag, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}, Mode=FindAncestor}}" IsTextEditable="False"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn Header="Notiz" FieldName="Notice" AllowEditing="{Binding Path=NotizenEintraegeBearbeitenAlsDefaultBooelan, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}}">
<dxg:GridColumn.EditSettings>
<dxe:MemoEditSettings TextWrapping="NoWrap" AcceptsReturn="True" MemoTextWrapping="NoWrap" MemoAcceptsReturn="True" ShowIcon="False" />
</dxg:GridColumn.EditSettings>
<dxg:GridColumn Name="ColumnNotice" Header="Notiz" FieldName="Notice" AllowEditing="{Binding Path=NotizenEintraegeBearbeitenAlsDefaultBooelan, RelativeSource={RelativeSource AncestorType={x:Type view:NotizenView}}}" >
</dxg:GridColumn>
</dxg:GridControl.Columns>

View File

@@ -21,7 +21,9 @@ using BS.Shared.Extensions;
using DevExpress.Utils;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Xpf.Grid;
using DevExpress.XtraRichEdit.Mouse;
namespace BeWo.View
{
@@ -182,10 +184,28 @@ namespace BeWo.View
//darfBargeldTransaktionenBearbeitenAsDefaultBoolean = editRightAsDefaultBoolean;
//darfBargeldTransaktionenLoeschen = deleteRight;
//darfBargeldTransaktionenAnlegen = createRight;
darfNotizenEintraegeAnlegen = true;
darfNotizenEintraegeBearbeiten = true;
darfNotizenEintraegeBearbeitenAsDefaultBoolean = DefaultBoolean.True;
darfNotizenEintraegeLoeschen = true;
if (currentObjectTid == TableID.Customer)
{
darfNotizenEintraegeAnlegen = BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_EditNotizen);
darfNotizenEintraegeBearbeiten = BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_EditNotizen);
darfNotizenEintraegeBearbeitenAsDefaultBoolean = BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_EditNotizen) ? DefaultBoolean.True : DefaultBoolean.False;
darfNotizenEintraegeLoeschen = BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_DeleteNotizen);
}
else if (currentObjectTid == TableID.Employee)
{
darfNotizenEintraegeAnlegen = BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_EditNotizen);
darfNotizenEintraegeBearbeiten = BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_EditNotizen);
darfNotizenEintraegeBearbeitenAsDefaultBoolean = BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_EditNotizen) ? DefaultBoolean.True : DefaultBoolean.False;
darfNotizenEintraegeLoeschen = BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_DeleteNotizen);
}
}
private void ReloadViewModel()
@@ -446,5 +466,28 @@ namespace BeWo.View
ReloadViewModel();
}));
}
private void Grid_OnLoaded(object sender, RoutedEventArgs e)
{
var grid = sender as GridControl;
SetColumnNoticeEditSettings(grid);
}
private void SetColumnNoticeEditSettings(GridControl grid)
{
if (grid != null && grid.Columns.Count > 0 && DarfNotizenEintraegeBearbeiten)
{
var ms = new MemoEditSettings();
ms.TextWrapping = TextWrapping.NoWrap;
ms.AcceptsReturn = true;
ms.MemoTextWrapping = TextWrapping.NoWrap;
ms.MemoAcceptsReturn = true;
ms.ShowIcon = false;
ms.ShowTooltipForTrimmedText = true;
grid.Columns[grid.Columns.Count - 1].EditSettings = ms;
}
}
}
}

View File

@@ -0,0 +1,79 @@
<Window x:Class="BeWo.View.TwoFactorAuthMessageDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converter="clr-namespace:BeWo.Converter"
Title="BeWoPlaner" Height="400" Width="500" WindowStartupLocation="CenterScreen" WindowStyle="None" ResizeMode="NoResize" >
<Window.Resources>
<converter:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
</Window.Resources>
<Grid Background="{x:Null}" Margin="0,0,0,0">
<Border BorderThickness="1" Padding="5,5,5,5" BorderBrush="Black" Background="{DynamicResource LoginBackgroundColor}">
<Grid Opacity="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="80" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="..\Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
<Grid Grid.Row="1" Margin="0,10,0,0" x:Name="rootGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<TextBox Background="Transparent"
BorderThickness="0" IsReadOnly="True"
x:Name="txtMessage" TextWrapping="Wrap" Margin="3" FontSize="14">Wir haben Ihnen eine Mail an die hinterlegte Adresse geschickt. Bitte geben Sie den Code ein um sich anzumelden.</TextBox>
<Grid Grid.Row="1" HorizontalAlignment="Center" Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBox Grid.Row="0" Grid.Column="1" x:Name="textbox" VerticalContentAlignment="Center" Width="185" VerticalAlignment="Center" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center" FontSize="20">123456</TextBox>
</Grid>
<!--<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="*" ></RowDefinition>
<RowDefinition Height="Auto" ></RowDefinition>
</Grid.RowDefinitions>
<TextBox Background="Transparent"
BorderThickness="0" IsReadOnly="True"
TextWrapping="Wrap" Margin="3" FontSize="14">
Am 17./18.11.2017 wird ein BeWoPlaner-Update erscheinen, welches auf die Microsoft Komponente .NET 4.5 angewiesen ist. Bitte installieren Sie .NET 4.5. Sobald Sie die Installation durchgeführt haben, startet der BeWoPlaner ohne diese Meldung.
Sie finden die Installation unter folgendem Link:
</TextBox>
<TextBlock Grid.Row="1" Margin="3" FontSize="14">
<Hyperlink NavigateUri="https://www.microsoft.com/de-de/download/details.aspx?id=42642" Command="{Binding Test}">
https://www.microsoft.com/de-de/download/details.aspx?id=42642
</Hyperlink>
</TextBlock>
</Grid>-->
<!--<Button Grid.Row="2" Grid.Column ="2" Width="100" Margin="3" IsCancel="True" IsEnabled="False" HorizontalAlignment="Right">Abbrechen</Button>-->
</Grid>
</Grid>
</Border>
<Line Grid.ColumnSpan="4" Stroke="#FFADADAD" X1="14" Y1="70" X2="486" Y2="70" StrokeThickness="1"></Line>
<Line x:Name="linkLine" Stroke="#FFADADAD" X1="14" Y1="320" X2="486" Y2="320" StrokeThickness="1" Margin="0,30,0,-30"></Line>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<Button x:Name="OkayButton" Width="120" Margin="3,3,3,10" VerticalAlignment="Bottom" Click="OkayButton_OnClick">Anmelden</Button>
<Button x:Name="CancelButton" Width="120" Margin="3,3,15,10" IsDefault="True" VerticalAlignment="Bottom" Click="CancelButton_OnClick">Abbrechen</Button>
</StackPanel>
</Grid>
</Window>

View File

@@ -0,0 +1,107 @@
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Xaml;
using BeWo.ServiceProxy;
using BS.Shared;
using BS.Shared.Extensions;
using XamlReader = System.Windows.Markup.XamlReader;
namespace BeWo.View
{
public partial class TwoFactorAuthMessageDialog
{
public TwoFactorAuthMessageDialog()
{
InitializeComponent();
DataContext = this;
OkayButton.IsDefault = true;
CancelButton.IsDefault = false;
}
public TwoFactorAuthMessageDialog(Action pAfterPasswordConfirmationCallBack)
{
IsInConfirmationWithPasswordMode = true;
AfterPasswordConfirmationCallBack = pAfterPasswordConfirmationCallBack;
InitializeComponent();
DataContext = this;
OkayButton.IsDefault = true;
CancelButton.IsDefault = false;
}
public Action AfterPasswordConfirmationCallBack { get; set; }
public bool IsInConfirmationWithPasswordMode { get; set; }
private ICommand _OpenBrowserCommand;
public ICommand OpenBrowserCommand => _OpenBrowserCommand ?? (_OpenBrowserCommand = new OpenBrowserCommandImpl());
public class OpenBrowserCommandImpl : ICommand
{
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
if (parameter != null)
{
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(parameter.ToString()));
}
}
}
public void SetXaml(string xamlCode)
{
try
{
if(XamlReader.Parse(xamlCode) is UIElement element)
{
txtMessage.Visibility = Visibility.Collapsed;
rootGrid.Children.Add(element);
}
}
catch(Exception e)
{
//ignore
}
}
public string Message
{
get => txtMessage.Text;
set => txtMessage.Text = value;
}
private void CancelButton_OnClick(object sender, RoutedEventArgs e)
{
//DialogResult = true;
Close();
}
private void OkayButton_OnClick(object sender, RoutedEventArgs e)
{
//var result = ServiceFacade.DoUserServiceSync(u => u.IsUserValid(BeWoApp.UserName, PasswordBox.Password, null), result =>
//{
// if(result == UserValidationResult.UserValid)
// {
// AfterPasswordConfirmationCallBack?.Invoke();
// this.Dispatch(Close);
// }
// else
// {
// MessageBox.Show("Anmeldeinformationen nicht bekannt. Bitte überprüfen Sie den Benutzernamen und das Passwort!", "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation);
// }
//}, true);
}
}
}

View File

@@ -1549,5 +1549,46 @@ namespace BeWo.ViewModel.ListViewModel
{
return ServiceFacade.DoOperationsServiceSync(s => s.CalculateGroupDuration2(personCount, employeeCount, totalDuration, costBearer2SupportConceptList));
}
public void InitPrototypeVM(long customerOid, long? supportConceptOid, long? cb2scOid)
{
var infoDC = ServiceFacade.DoOperationsServiceSync(s => s.GetSupportConceptTreeNodeDetailInfo(customerOid, supportConceptOid, cb2scOid));
if (infoDC != null && infoDC.SupportConceptGoals != null && infoDC.SupportConceptGoals.Count > 0)
{
var goalCats = new List<ValueListEntryDC>();
var goals = new List<ValueListEntryDC>();
var goalCategoryDict = _AllGoalCategories.ToDictionary(goalCat => goalCat.ValueListEntryOid.Value);
foreach (var goal in infoDC.SupportConceptGoals)
{
if (goal.ParentOid != null && goalCategoryDict.ContainsKey(goal.ParentOid.Value))
{
var path = GetAllParentGoalCategoies(goalCategoryDict, goal);
foreach (var goalCat in path)
{
goalCats.Add(goalCat);
goalCategoryDict.Remove(goalCat.ValueListEntryOid.Value);
}
}
goals.Add(goal);
}
PrototypeVM.ChangeGoalTree(goalCats, goals);
}
if (infoDC != null)
{
//_SelectedCustomerNode.SupportConceptTreeNodeDC.SupportConceptCostBearerRelDC.ApprovalPeriodList = infoDC.ApprovalPeriods;
if (!IsGroupBooking && !IsMultiBooking)
{
PrototypeVM.UpdateServiceAccountings(infoDC.ServiceAccountings, _Category2Services, true);
}
}
}
}
}

View File

@@ -102,7 +102,7 @@ namespace BeWo.ownChat
//}
//Konstruktor für Kalender
public ChatDokumentationsView(string notice, CompactCustomerDC _compactCustomer, DateTime firstTime, DateTime lastTime, Action schedulerCallback = null, Appointment appointment = null)
public ChatDokumentationsView(string notice, CompactCustomerDC _compactCustomer, DateTime firstTime, DateTime lastTime, CompactEmployeeDC employee, Action schedulerCallback = null, Appointment appointment = null)
{
InitializeComponent();
@@ -119,7 +119,10 @@ namespace BeWo.ownChat
vm.DispatcherObject = this;
var dc = SupportConceptService.ErstelleServiceRecordDC(firstTime, lastTime, customerCompact, scList);
if (employee != null)
{
dc.Employee = employee;
}
vm.PrototypeVM.UpdateServiceAccountings(null, vm.PrototypeVM.Category2Services, customerCompact != null);
if(vm.PrototypeVM.SortedCategories != null && vm.PrototypeVM.SortedCategories.Count > 0)

View File

@@ -611,6 +611,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BetreuungsbueroFrankRoehrig
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kimm", "ReportImp\Kimm\Kimm.csproj", "{CEA6A3D2-DDD4-4699-89AE-FEF7908C46D5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PassgenauUG", "ReportImp\PassgenauUG\PassgenauUG.csproj", "{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -4882,6 +4884,22 @@ Global
{CEA6A3D2-DDD4-4699-89AE-FEF7908C46D5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{CEA6A3D2-DDD4-4699-89AE-FEF7908C46D5}.Release|x86.ActiveCfg = Release|Any CPU
{CEA6A3D2-DDD4-4699-89AE-FEF7908C46D5}.Release|x86.Build.0 = Release|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Debug|.NET.ActiveCfg = Debug|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Debug|.NET.Build.0 = Debug|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Debug|x86.ActiveCfg = Debug|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Debug|x86.Build.0 = Debug|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Release|.NET.ActiveCfg = Release|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Release|.NET.Build.0 = Release|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Release|Any CPU.Build.0 = Release|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Release|x86.ActiveCfg = Release|Any CPU
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -5183,6 +5201,7 @@ Global
{A368A18F-0D5F-49EB-885A-CEED97B5A5C5} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{C252012D-4EE1-4262-B599-28297AE41E9C} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{CEA6A3D2-DDD4-4699-89AE-FEF7908C46D5} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{87D57693-C3EB-4DD0-8C32-4C8D7BE9066E} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -132,8 +132,8 @@ namespace BeWoPlanerMobil.Controllers
if (valueListEntry2Object.Entry.SystemEntryID.HasValue && valueListEntry2Object.Entry.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant || valueListEntry2Object.Entry.Value.ToLower().Contains("ownchat"))
{
foreach (var applicationUser in appUser)
{
if (employee2Customer.EmployeeOid == applicationUser.Employee.Oid)
{
if (employee2Customer.EmployeeOid == applicationUser.Employee?.Oid)
{
string status;
switch (employee2Customer.IsActive)
@@ -149,7 +149,8 @@ namespace BeWoPlanerMobil.Controllers
break;
}
var input2 = new JsonInputKlient2(status, employee2Customer.EmployeeOid.ToString());
var input2 = new JsonInputKlient2(status,
employee2Customer.EmployeeOid.ToString());
inputList.Add(input2);
}

View File

@@ -290,7 +290,7 @@
Tel.:
</div>
<div class="col-auto text-right">
<a href="call:@umfeldPerson.TelNr">@umfeldPerson.TelNr</a>
<a href="tel:@umfeldPerson.TelNr">@umfeldPerson.TelNr</a>
</div>
</div>
<div class="row mb-3">
@@ -298,7 +298,7 @@
Mobil:
</div>
<div class="col-auto text-right">
<a href="call:@umfeldPerson.Mobil">@umfeldPerson.Mobil</a>
<a href="tel:@umfeldPerson.Mobil">@umfeldPerson.Mobil</a>
</div>
</div>
<div class="row mb-3">

View File

@@ -31,9 +31,9 @@
<script src="~/Scripts/Chart.min.js?v=1.6"></script>
<script src="~/Scripts/support-concept-statistics.js?v=1.6"></script>
<script src="~/Scripts/view-scripts/customer.js?v=1.6"></script>
<script src="~/Scripts/view-scripts/scheduler.js?v=1.6"></script>
<script src="~/Scripts/view-scripts/scheduler.js?v=1.7"></script>
<script src="~/Scripts/utils/dateUtils.js?v=1.6"></script>
<script src="~/Scripts/view-scripts/report.js?v=1.6"></script>
<script src="~/Scripts/view-scripts/report.js?v=1.7"></script>
<script src="https://cdn.jsdelivr.net/npm/signature_pad@2.3.2/dist/signature_pad.min.js"></script>
<script src="~/Scripts/utils/trimCanvas.js?v=1.6"></script>

View File

@@ -129,6 +129,7 @@
<add key="LicenseOrderUrl" value="https://support.bewoplaner.de/lizenzbestellung/?k=[TENANT]" />
<add key="LicenseCancellationUrl" value="https://support.bewoplaner.de/api/licencecancellation.php?k=[TENANT]" />
<add key="ContractStateUrl" value="https://support.bewoplaner.de/api/getcontractstate.php?CustomerID=[TENANT]" />
<add key="PluginPath" value="D:\Projects\beyondSoft\BeWoPlaner\BeWo\Host\bin" />
</appSettings>
<!--
Eine Beschreibung der Änderungen von 'web.config' finden Sie unter 'http://go.microsoft.com/fwlink/?LinkId=235367'.

View File

@@ -4263,5 +4263,13 @@ namespace BeWo.Data.Access
return false;//criteria.List<ServiceRecord>().Any();
}
public InvoiceBase FindMaxInvoiceNumber(string numberPrefix)
{
return CreateCriteriaIsActive<InvoiceBase>()
.Add(Restrictions.Like(InvoiceBase.PropertyName_InvoiceNumber, numberPrefix + "%"))
.List<InvoiceBase>().OrderByDescending(i => i.InvoiceNumber).FirstOrDefault();
}
}
}

View File

@@ -37,6 +37,12 @@ namespace BeWo.Report.ReportObjects
public int WeiblichAnzahl { get; set; }
public int? Custom1 { get; set; }
public int? Custom2 { get; set; }
public int? Custom3 { get; set; }
public IList<String> CustomerNames { get; set; }
public String AllCustomerString { get; set; }
@@ -78,13 +84,29 @@ namespace BeWo.Report.ReportObjects
JahresReportDetail detail = new JahresReportDetail();
detail.Name = data.Name;
detail.MaennlichAnzahl = (int)data.Male;
//werte
MaenlichVar += detail.MaennlichAnzahl;
detail.WeiblichAnzahl = (int)data.Female;
//wert
WeiblichVar += detail.WeiblichAnzahl;
detail.Anzahl = data.Value.HasValue ? (int)data.Value : 0;
if (data.Value1 != null)
{
int i = 0;
if (Int32.TryParse(data.Value1.ToString(), out i))
{
detail.Custom1 = (detail.Custom1 ?? 0) + i;
}
}
if (data.Value2 != null)
{
int i = 0;
if (Int32.TryParse(data.Value2.ToString(), out i))
{
detail.Custom2 = (detail.Custom2 ?? 0) + i;
}
}
detail.CustomerNames = data.CustomerNames;
if (data.CustomerNames != null)

View File

@@ -370,7 +370,10 @@ namespace BeWo.Report.ReportObjects
case SupportConceptApprovalInterval.Yearly:
ap.ApprovalUnit = AccountingIntervalType.Yearly;
break;
default:
case SupportConceptApprovalInterval.Hourly:
ap.ApprovalUnit = AccountingIntervalType.Hourly;
break;
default:
throw new ArgumentOutOfRangeException();
}
}

View File

@@ -106,6 +106,13 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CustomReportCreator.cs" />
<Compile Include="LeistungsnachweisJugendamt.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="LeistungsnachweisJugendamt.Designer.cs">
<DependentUpon>LeistungsnachweisJugendamt.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ServicesOverviewReport.cs">
<SubType>Component</SubType>
@@ -121,6 +128,10 @@
</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>
@@ -131,6 +142,9 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="LeistungsnachweisJugendamt.resx">
<DependentUpon>LeistungsnachweisJugendamt.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="ServicesOverviewReport.resx">
<DependentUpon>ServicesOverviewReport.cs</DependentUpon>

View File

@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeWo.BetreutesWohnenStelzel;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using DevExpress.XtraReports.UI;
namespace BetreutesWohnenStelzel
{
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);
if (lROs.Count > 0)
{
var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid);
rootReport.CreateDocument();
for (int i = 1; i < lROs.Count; i++)
{
var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid);
lNext.CreateDocument();
rootReport.Pages.AddRange(lNext.Pages);
}
return rootReport;
}
return new XtraReport();
}
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
return CreateServicesOverviewReportForRo(ro, serviceCategoryOid);
}
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
{
IBeWoReport<ServicesOverviewRO> report = null;
if (!String.IsNullOrWhiteSpace(ro.Costbearer) && (ro.Costbearer.ToLower().Contains("jugendamt")))
{
report = new LeistungsnachweisJugendamt();
}
if (report == null)
report = new Stundenzettel();
report.SetReportDataSource(ro);
return report as XtraReport;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,113 @@
using System;
using System.Collections.Generic;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared;
namespace BetreutesWohnenStelzel
{
public partial class LeistungsnachweisJugendamt : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
{
public LeistungsnachweisJugendamt()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
bool hatGruppen = false;
double summeFls = 0;
double summeAusfall = 0;
double summeWege = 0;
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services)
{
if (s.IsBillable)
{
s.Notice4 = "";
s.Notice5 = "";
s.TimeRangeString = "";
if (s.ServiceDescription.Contains("Ausfall"))
{
summeAusfall += s.Minutes;
s.Notice4 = String.Format("{0:0.00}", s.Minutes / 60);
}
else if (s.ServiceDescription.Contains("Wege"))
{
summeWege += s.Minutes;
s.Notice5 = String.Format("{0:0.00}", s.Minutes / 60);
}
else
{
summeFls += s.Minutes;
s.TimeRangeString = String.Format("{0:0.00}", s.Minutes / 60);
}
servicesBillable.Add(s);
}
}
pRO.Services = servicesBillable;
}
cellSummeFls.Text = String.Format("{0:0.00}", summeFls / 60);
cellSummeAusfall.Text = String.Format("{0:0.00}", summeAusfall / 60);
cellSummeWegezeit.Text = String.Format("{0:0.00}", summeWege / 60);
cellSummeGesamt.Text = String.Format("Gesamt: {0:0.00}", (summeWege + summeAusfall + summeWege) / 60);
pRO.ApprovedFLSPerMonth = pRO.ApprovedFLSPerWeek * 4.33m;
//cellAsdBezirk.Text = pRO.o
cellAsdSachb.Text = "";
if (pRO.CostBearer2SupportConceptList != null && pRO.CostBearer2SupportConceptList.Count > 0)
{
if (pRO.CostBearer2SupportConceptList[0].CostBearerContactPerson != null)
{
String name = "";
if (pRO.CostBearer2SupportConceptList[0].CostBearerContactPerson.Sex.HasValue)
{
if (pRO.CostBearer2SupportConceptList[0].CostBearerContactPerson.Sex.Value == Sex.Male)
{
name = "Herr ";
}
else
{
name = "Frau ";
}
}
cellAsdSachb.Text = name + pRO.CostBearer2SupportConceptList[0].CostBearerContactPerson.LastName;
}
}
this.bindingSource1.DataSource = pRO;
//Leistungsnachweis Jugendamt Monvita
// Berater = Hauptbetreuer
//ASD - Bezirk: leer
//ASD - Sachb: leer
//WJH - Az.: leer
// links oben:
//bew.FLS / wo: klar
// Abrechnungszeitraum von bis: gesmter Bewilligung:
//Pro Monat 4 * 4.33333333333333333333
//ins.
// Teil 2 ignorieren
}
}
}

View File

@@ -0,0 +1,123 @@
<?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>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>21, 17</value>
</metadata>
</root>

View File

@@ -42,9 +42,14 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Service\CustomAccountingService.cs" />
<Compile Include="Validation\ServiceRecordValidator.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}</Project>
<Name>Service</Name>

View File

@@ -0,0 +1,190 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Xml;
using System.Xml.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
namespace CaritasKleve.Service
{
public class CustomAccountingService : AccountingService
{
//public override List<InvoiceBaseDC> GetInvoiceBases(DateTime? startDate, DateTime? endDate)
//{
// if (startDate.HasValue && startDate.Value.Year == 2011)
// {
// ConvertResourceBookingsToResourceAppointments();
// }
// return base.GetInvoiceBases(startDate, endDate);
//}
private void ConvertResourceBookingsToResourceAppointments()
{
const string selectQuery = "SELECT Oid, ResourceBookingSequenceOid FROM resourcebooking WHERE startdatetime >= '2021-01-01' AND IsActive = 1 AND IsDeleted = 0";
var dataSet = DAOFactory.AdoDAO.ExecuteQuery(selectQuery);
var dataReader = dataSet.CreateDataReader();
var rbs2rb = new Dictionary<long, List<long>>();
var newSchedulerAppointments = new List<SchedulerAppointmentDC>();
var sequence2booking = new Dictionary<ResourceBookingSequence, List<ResourceBooking>>();
var allResourceBookings = DAOFactory.GenericDAO.GetAllActive<ResourceBooking>();
List<ResourceBooking> changedBookings = new List<ResourceBooking>();
while (dataReader.Read())
{
rbs2rb.AddOrUpdateValueInDictionary((long)dataReader.GetValue(0), new List<long> { (long)dataReader.GetValue(1) });
}
if (allResourceBookings.Count == 0) return;
allResourceBookings = allResourceBookings.OrderBy(o => o.Oid).ToList();
foreach (var b in allResourceBookings)
{
if (rbs2rb.ContainsKey(b.Oid.Value))
{
if (!sequence2booking.ContainsKey(b.Sequence))
sequence2booking.Add(b.Sequence, new List<ResourceBooking> { b });
else
sequence2booking[b.Sequence].Add(b);
}
}
foreach (var kvp in sequence2booking)
{
var sequence = kvp.Key;
var frequencyType = sequence.FrequencyType;
foreach (var booking in kvp.Value)
{
var originator = DAOFactory.SearchDAO.FindEmployeeByFullname(booking.InsUser) ?? booking.Employee;
if (booking.Sequence.FrequencyType.Equals(ResourceBookingFrequencyType.MonthlyOnLastDay))
{
//var singleBookings = ConvertType6ResourceAppointment(booking);
//newSchedulerAppointments.AddRange(singleBookings);
continue;
}
var employeeList = new List<Employee2SchedulerAppointmentDC>();
if (booking.Employee != null)
employeeList.Add(new Employee2SchedulerAppointmentDC
{
Employee = MapperFactory.CompactEmployeeDC_Employee.MapToNewDC(booking.Employee),
ParticipationAnswer = ParticipationAnswer.Zusage,
IsPC_CheckedTs = null,
IsPChanged = false
});
var resourceList = new List<ResourceDC> { MapperFactory.ResourceDC_Resource.MapToNewDC(booking.Sequence.Resource) };
var newSchedulerAppointment = new SchedulerAppointmentDC
{
ActivationType = ActivationTypeId.Active,
AllDay = booking.Start.Equals(booking.End),
CustomerList = new List<CompactCustomerDC>(),
Description = booking.Notice,
EmployeeList = employeeList,
EndDate = booking.End,
StartDate = booking.Start,
IsPrivate = false,
ResourceList = resourceList,
Subject = booking.Notice,
Originator = MapperFactory.CompactEmployeeDC_Employee.MapToNewDC(originator),
Type = 0,
FormerBookingSequenceOid = booking.Sequence.Oid
};
if (kvp.Value.Count > 1 && booking.SequencePosition > 0)
{
newSchedulerAppointment.Type = booking.IsDeleted ? 4 : 3;
}
else if (frequencyType != ResourceBookingFrequencyType.Once)
{
newSchedulerAppointment.Type = 1;
}
if (!booking.Sequence.FrequencyType.Equals(ResourceBookingFrequencyType.Once))
{
//newSchedulerAppointment.RecurrenceInfo = CreateRecurrenceInfo(booking).ToXml();
}
if (newSchedulerAppointments.FirstOrDefault(f => f.FormerBookingSequenceOid.Equals(sequence.Oid)) != null)
{
var x = newSchedulerAppointments.First(f => f.FormerBookingSequenceOid.Equals(sequence.Oid) && f.RecurrenceInfo != null).RecurrenceInfo;
using (var reader = XmlReader.Create(new StringReader(x)))
{
reader.ReadToFollowing("RecurrenceInfo");
reader.MoveToAttribute("Id");
var id = reader.Value;
var doc = XDocument.Load(new StringReader(newSchedulerAppointment.RecurrenceInfo));
var xElement = doc.Element("RecurrenceInfo");
if (xElement != null)
{
xElement.RemoveAttributes();
xElement.Add(new XAttribute("Id", id));
xElement.Add(new XAttribute("Index", booking.SequencePosition));
}
newSchedulerAppointment.RecurrenceInfo = doc.ToString();
}
}
changedBookings.Add(booking);
newSchedulerAppointments.Add(newSchedulerAppointment);
}
}
foreach (var resourcebooking in changedBookings)
{
//resourcebooking.IsActive = ActivationTypeId.Deleted;
//resourcebooking.Sequence.IsActive = ActivationTypeId.Deleted;
}
//DAOFactory.GenericDAO.Update(changedBookings);
InsertSchedulerAppointments(newSchedulerAppointments);
}
public void InsertSchedulerAppointments(IList<SchedulerAppointmentDC> pSchedulerAppointments)
{
foreach (var item in pSchedulerAppointments)
{
item.EmployeeList?.ForEach(each =>
{
each.Employee2SchedulerAppointmentOid = null;
each.Employee2SchedulerAppointmentVersion = null;
each.SchedulerAppointmentOid = null;
each.IsPChanged = false;
each.IsPC_CheckedTs = null;
});
var lRelations = MapperFactory.Employee2SchedulerAppointmentDC_Employee2SchedulerAppointment.MapToNewEntities(item.EmployeeList);
DAOFactory.GenericDAO.Insert(lRelations);
var neu = MapperFactory.Employee2SchedulerAppointmentDC_Employee2SchedulerAppointment.MapToNewDCs(lRelations);
item.EmployeeList = neu;
}
var lAppointments = MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewEntities(pSchedulerAppointments);
DAOFactory.GenericDAO.Insert(lAppointments);
}
}
}

View File

@@ -463,5 +463,11 @@ namespace DiakonieKKKleve
return list;
}
public override bool IsKrankheitAbsenceTime(AbsenceTime absenceTime)
{
return !String.IsNullOrEmpty(absenceTime.AbsenceReason.Description) &&
(absenceTime.AbsenceReason.Description.ToLower().IndexOf("arbeitsunfähig") >= 0
|| absenceTime.AbsenceReason.Description.ToLower().IndexOf("krank") >= 0 || absenceTime.AbsenceReason.Description.ToLower() == "au" || absenceTime.AbsenceReason.Description.ToLower() == "kinderfreitage mit lfz");
}
}
}

View File

@@ -9,6 +9,7 @@ using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
@@ -50,7 +51,15 @@ namespace DiakonieMuelheim
{
start = DateTime.Parse(qro.Rows[0].Field2.ToString());
if (start == DateTime.MinValue)
{
start = new DateTime(DateTime.Now.Year - 1, 1, 1);
}
ende = DateTime.Parse(qro.Rows[0].Field3.ToString());
if (ende.Year == 9999)
{
ende = new DateTime(DateTime.Now.Year - 1, 12, 31);
}
teamOid = Int64.Parse(qro.Rows[0].Field4.ToString());
foreach (var row in qro.Rows)
@@ -78,26 +87,46 @@ namespace DiakonieMuelheim
List<JahrestatisticCustomerInfo> alleKlienten = new List<JahrestatisticCustomerInfo>();
var team = MapperFactory.CompactTeamDC_Team.MapToNewDC(DAOFactory.GenericDAO.LoadByID<Team>(teamOid));
var customers = DAOFactory.GenericDAO.LoadByIDs<Customer>(customerOids);
foreach (var customer in customers)
if (teamOid > 0)
{
var info = GetJahrestatisticCustomerInfo(customer, start, ende);
var team = MapperFactory.CompactTeamDC_Team.MapToNewDC(DAOFactory.GenericDAO.LoadByID<Team>(teamOid));
if (info != null)
var customers = DAOFactory.GenericDAO.LoadByIDs<Customer>(customerOids);
foreach (var customer in customers)
{
info.Team = team;
var info = GetJahrestatisticCustomerInfo(customer, start, ende);
if (info != null)
{
info.Team = team;
alleKlienten.Add(info);
}
}
alleKlienten.Add(info);
}
}
List<AnnualReportDC> reports = new List<AnnualReportDC>();
reports.Add(BerechneGesamt(alleKlienten));
//data = BerechneOrt(alleKlienten);
reports.Add(BerechneOrt(alleKlienten));
reports.Add(BerechneGeschlecht(alleKlienten));
reports.Add(BerechneAlterstruktur(alleKlienten, ende));
reports.Add(BerechneBeendigungsgrund(alleKlienten, start, ende));
reports.Add(BerechneVarfieldReport(alleKlienten, 1));
reports.Add(BerechneVarfieldReport(alleKlienten, 3));
reports.Add(BerechneVarfieldReport(alleKlienten, 30));
reports.Add(BerechneVarfieldReport(alleKlienten, 40));
reports.Add(BerechneVarfieldReport(alleKlienten, 50));
//reports.Add(BerechneVarfieldReport(alleKlienten, 60));
//reports.Add(BerechneVarfieldReport(alleKlienten, 70));
reports.Add(BerechneVarfieldReport(alleKlienten, 100));
reports.Add(BerechneVarfieldReport(alleKlienten, 110));
reports.Add(BerechneVarfieldReport(alleKlienten, 120));
reports.Add(BerechneVarfieldReport(alleKlienten, 140));
reports.Add(BerechneVarfieldReport(alleKlienten, 160));
return JahresReportRO.Create(reports);
}
@@ -107,32 +136,435 @@ namespace DiakonieMuelheim
report.Name = "Personen insgesamt";
report.Data = new List<AnnualReportDataDC>();
var dataEk = new AnnualReportDataDC();
var dataEk = new AnnualReportDataDC();
dataEk.Name = "davon Erstklienten EK";
dataEk.Value = 0;
var dataWk = new AnnualReportDataDC();
dataWk.Name = "Wiederholungs- und Altklienten WK";
dataWk.Value = 0;
report.Data.Add(dataEk);
report.Data.Add(dataEk);
report.Data.Add(dataWk);
foreach (var info in alleKlienten)
foreach (var info in alleKlienten)
{
if (info.IstWiederholungsKlient)
{
dataWk.Value++;
}
dataWk.Value2 = ((int?)dataWk.Value2 ?? 0) + 1;
}
else
{
dataEk.Value++;
}
dataEk.Value1 = ((int?)dataEk.Value1 ?? 0) + 1;
}
}
return report;
}
private JahrestatisticCustomerInfo GetJahrestatisticCustomerInfo(Customer customer, DateTime start, DateTime ende)
private AnnualReportDC BerechneOrt(List<JahrestatisticCustomerInfo> alleKlienten)
{
var report = new AnnualReportDC();
report.Data = new List<AnnualReportDataDC>();
report.Name = "Ortsansässigkeit der Erstklienten";
Dictionary<String, AnnualReportDataDC> dataPerCity = new Dictionary<String, AnnualReportDataDC>();
foreach (var info in alleKlienten)
{
String city = "ohne Angaben";
if (!String.IsNullOrEmpty(info.Customer.Town))
{
city = info.Customer.Town.Trim();
}
AnnualReportDataDC data = null;
if (dataPerCity.ContainsKey(city))
{
data = dataPerCity[city];
}
else
{
data = new AnnualReportDataDC();
dataPerCity.Add(city, data);
}
data.Name = city;
data.Value = (data.Value ?? 0) + 1;
if (info.IstWiederholungsKlient)
{
data.Value2 = ((int?)data.Value2 ?? 0) + 1;
}
else
{
data.Value1 = ((int?)data.Value1 ?? 0) + 1;
}
}
report.Data.AddRange(dataPerCity.Values.OrderBy(d => d.Name).Where(d => d.Name != "ohne Angaben"));
report.Data.AddRange(dataPerCity.Values.Where(d => d.Name == "ohne Angaben"));
return report;
}
private AnnualReportDC BerechneGeschlecht(List<JahrestatisticCustomerInfo> alleKlienten)
{
var report = new AnnualReportDC();
report.Data = new List<AnnualReportDataDC>();
report.Name = "Geschlecht";
var dataM = new AnnualReportDataDC();
dataM.Name = "Anteil männlicher Klienten";
dataM.Value = 0;
var dataF = new AnnualReportDataDC();
dataF.Name = "Anteil weiblicher Klienten";
dataF.Value = 0;
var dataKA = new AnnualReportDataDC();
dataKA.Name = "ohne Angaben";
dataKA.Value = 0;
report.Data.Add(dataM);
report.Data.Add(dataF);
report.Data.Add(dataKA);
foreach (var info in alleKlienten)
{
if (info.Geschlecht.HasValue)
{
if (info.Geschlecht.Value == Sex.Male)
{
dataM.Value++;
if (info.IstWiederholungsKlient)
{
dataM.Value2 = ((int?)dataM.Value2 ?? 0) + 1;
}
else
{
dataM.Value1 = ((int?)dataM.Value1 ?? 0) + 1;
}
//dataM.Erstklient = info.IstWiederholungsKlient;
}
else if (info.Geschlecht.Value == Sex.Female)
{
if (info.IstWiederholungsKlient)
{
dataF.Value2 = ((int?)dataF.Value2 ?? 0) + 1;
}
else
{
dataF.Value1 = ((int?)dataF.Value1 ?? 0) + 1;
}
dataF.Value++;
}
}
else
{
dataKA.Value++;
if (info.IstWiederholungsKlient)
{
dataKA.Value2 = ((int?)dataKA.Value2 ?? 0) + 1;
}
else
{
dataKA.Value1 = ((int?)dataKA.Value1 ?? 0) + 1;
}
}
}
return report;
}
private AnnualReportDC BerechneAlterstruktur(List<JahrestatisticCustomerInfo> alleKlienten, DateTime datum)
{
var report = new AnnualReportDC();
report.Data = new List<AnnualReportDataDC>();
report.Name = "Altersstruktur";
var dataU18 = new AnnualReportDataDC();
dataU18.Name = "unter 18 Jahre";
var data18_21 = new AnnualReportDataDC();
data18_21.Name = "18 - 21 Jahre";
var data22_26 = new AnnualReportDataDC();
data22_26.Name = "22 - 26 Jahre";
var data27_33 = new AnnualReportDataDC();
data27_33.Name = "27 - 33 Jahre";
var data34_40 = new AnnualReportDataDC();
data34_40.Name = "34 - 40 Jahre";
var data41_50 = new AnnualReportDataDC();
data41_50.Name = "41 - 50 Jahre";
var data51_60 = new AnnualReportDataDC();
data51_60.Name = "51 - 60 Jahre";
var dataU60 = new AnnualReportDataDC();
dataU60.Name = "Über 60 Jahre";
var dataKA = new AnnualReportDataDC();
dataKA.Name = "keine Angaben";
foreach (var info in alleKlienten)
{
AnnualReportDataDC data = dataKA;
if (info.Customer.DateOfBirth.HasValue)
{
int alter = datum.Year - info.Customer.DateOfBirth.Value.Year;
var dt = info.Customer.DateOfBirth.Value.AddYears(alter);
if (datum.CompareTo(dt) < 0)
{
alter--;
}
if (alter < 18)
{
data = dataU18;
}
else if (alter >= 18 && alter <= 21)
{
data = data18_21;
}
else if (alter >= 22 && alter <= 26)
{
data = data22_26;
}
else if (alter >= 27 && alter <= 33)
{
data = data27_33;
}
else if (alter >= 34 && alter <= 40)
{
data = data34_40;
}
else if (alter >= 41 && alter <= 50)
{
data = data41_50;
}
else if (alter >= 51 && alter <= 60)
{
data = data51_60;
}
else if (alter > 60)
{
data = dataU60;
}
}
data.Value = (data.Value ?? 0) + 1;
if (info.IstWiederholungsKlient)
{
data.Value2 = ((int?)data.Value2 ?? 0) + 1;
}
else
{
data.Value1 = ((int?)data.Value1 ?? 0) + 1;
}
}
report.Data.Add(dataU18);
report.Data.Add(data18_21);
report.Data.Add(data22_26);
report.Data.Add(data27_33);
report.Data.Add(data34_40);
report.Data.Add(data41_50);
report.Data.Add(data51_60);
report.Data.Add(dataU60);
report.Data.Add(dataKA);
return report;
}
//private AnnualReportDC BerechneLebensunterhalt(List<JahrestatisticCustomerInfo> alleKlienten, long varFieldDefOid)
//{
// var report = new AnnualReportDC();
// report.Data = new List<AnnualReportDataDC>();
// report.Name = "Lebensunterhalt";
// Dictionary<String, AnnualReportDataDC> dataPerDef = new Dictionary<String, AnnualReportDataDC>();
// var def = DAOFactory.GenericDAO.LoadByID<VarFieldDef>(varFieldDefOid);
// var items = def.PossibleItems.Split(';');
// foreach (var item in items)
// {
// var data = new AnnualReportDataDC();
// report.Data.Add(data);
// data.Name = item;
// dataPerDef.Add(item, data);
// }
// foreach (var info in alleKlienten)
// {
// String name = "ohne Angaben";
// if (info.VarFieldValueList != null)
// {
// foreach (var vfv in info.VarFieldValueList)
// {
// if (vfv.VarFieldDefOid == varFieldDefOid)
// {
// var o = Utils.XMLDeserializeFromString(vfv.SerializedValue, Type.GetType(vfv.TypeName));
// if (o != null)
// {
// name = o.ToString();
// }
// }
// }
// }
// if (dataPerDef.ContainsKey(name))
// {
// var data = dataPerDef[name];
// data.Value = (data.Value ?? 0) + 1;
// if (info.IstWiederholungsKlient)
// {
// data.Value2 = ((int?)data.Value2 ?? 0) + 1;
// }
// else
// {
// data.Value1 = ((int?)data.Value1 ?? 0) + 1;
// }
// }
// }
// report.Data = report.Data.OrderBy(d => d.Name).ToList();
// return report;
//}
private AnnualReportDC BerechneVarfieldReport(List<JahrestatisticCustomerInfo> alleKlienten, long varFieldDefOid)
{
var report = new AnnualReportDC();
report.Data = new List<AnnualReportDataDC>();
Dictionary<String, AnnualReportDataDC> dataPerDef = new Dictionary<String, AnnualReportDataDC>();
String ka = "ohne Angaben";
var def = DAOFactory.GenericDAO.LoadByID<VarFieldDef>(varFieldDefOid);
report.Name = def.Label;
if (!String.IsNullOrEmpty(def.PossibleItems))
{
var items = def.PossibleItems.Split(';');
foreach (var item in items)
{
var data = new AnnualReportDataDC();
data.Name = item;
dataPerDef.Add(item, data);
if (item.ToLower().Contains("keine angabe") || item.ToLower().Contains("ohne angabe"))
{
ka = item;
}
}
}
foreach (var info in alleKlienten)
{
String name = ka;
if (info.VarFieldValueList != null)
{
foreach (var vfv in info.VarFieldValueList)
{
if (vfv.VarFieldDefOid == varFieldDefOid)
{
var o = Utils.XMLDeserializeFromString(vfv.SerializedValue, Type.GetType(vfv.TypeName));
if (o != null)
{
name = o.ToString();
}
}
}
}
AnnualReportDataDC data = null;
if (dataPerDef.ContainsKey(name))
{
data = dataPerDef[name];
}
else
{
data = new AnnualReportDataDC();
data.Name = name;
dataPerDef.Add(name, data);
}
data.Value = (data.Value ?? 0) + 1;
if (info.IstWiederholungsKlient)
{
data.Value2 = ((int?)data.Value2 ?? 0) + 1;
}
else
{
data.Value1 = ((int?)data.Value1 ?? 0) + 1;
}
}
report.Data.AddRange(dataPerDef.Values.OrderBy(d => d.Name).Where(d => d.Name != ka));
report.Data.AddRange(dataPerDef.Values.Where(d => d.Name == ka));
return report;
}
private AnnualReportDC BerechneBeendigungsgrund(List<JahrestatisticCustomerInfo> alleKlienten, DateTime start, DateTime end)
{
var report = new AnnualReportDC();
report.Data = new List<AnnualReportDataDC>();
report.Name = "Beendigungsgrund";
Dictionary<String, AnnualReportDataDC> dataPerGrund = new Dictionary<String, AnnualReportDataDC>();
foreach (var info in alleKlienten)
{
if (!String.IsNullOrEmpty(info.Customer.TerminationReason) && info.Customer.TerminationDate.HasValue && info.Customer.TerminationDate >= start && info.Customer.TerminationDate <= end)
{
AnnualReportDataDC data = null;
if (dataPerGrund.ContainsKey(info.Customer.TerminationReason))
{
data = dataPerGrund[info.Customer.TerminationReason];
}
else
{
data = new AnnualReportDataDC();
data.Name = info.Customer.TerminationReason;
dataPerGrund.Add(info.Customer.TerminationReason, data);
report.Data.Add(data);
}
data.Value = (data.Value ?? 0) + 1;
if (info.IstWiederholungsKlient)
{
data.Value2 = ((int?)data.Value2 ?? 0) + 1;
}
else
{
data.Value1 = ((int?)data.Value1 ?? 0) + 1;
}
}
}
return report;
}
private JahrestatisticCustomerInfo GetJahrestatisticCustomerInfo(Customer customer, DateTime start, DateTime ende)
{
JahrestatisticCustomerInfo info = null;
@@ -147,13 +579,19 @@ namespace DiakonieMuelheim
//{
// startdate = customer.AssistanceBegin;
//}
if (scap.StartDate.HasValue && scap.EndDate.HasValue && scap.StartDate <= ende &&
scap.EndDate >= start)
if (scap.StartDate.HasValue && scap.EndDate.HasValue && scap.StartDate <= ende && scap.EndDate >= start)
{
info = new JahrestatisticCustomerInfo();
info.Customer = MapperFactory.CompactCustomerDC_Customer.MapToNewDC(customer);
info.IstWiederholungsKlient = HatAltenHilfeplan(c2s, scap, customer, start);
info.Geschlecht = customer.Person.Sex;
var records = c2s.ServiceRecords.Where(r => r.Start >= start && r.Start < ende.AddDays(1)).ToList();
info.ServiceRecords = records;
info.VarFieldValueList = customer.VarFieldValueList;
}
}
}
@@ -196,6 +634,9 @@ namespace DiakonieMuelheim
{
public CompactCustomerDC Customer { get; set; }
public CompactTeamDC Team { get; set; }
public Sex? Geschlecht { get; set; }
public bool IstWiederholungsKlient { get; set; }
public IList<ServiceRecord> ServiceRecords { get; set; }
public IList<VarFieldValue> VarFieldValueList { get; set; }
}
}

View File

@@ -30,7 +30,9 @@ namespace DiakonieMuelheim
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle();
@@ -47,7 +49,6 @@ namespace DiakonieMuelheim
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport2 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail3 = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport3 = new DevExpress.XtraReports.UI.DetailReportBand();
@@ -59,20 +60,24 @@ namespace DiakonieMuelheim
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.JahresReportRO);
//
// Detail
//
this.Detail.HeightF = 0F;
@@ -129,7 +134,7 @@ namespace DiakonieMuelheim
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 70F;
this.topMarginBand1.HeightF = 60F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
@@ -161,7 +166,7 @@ namespace DiakonieMuelheim
this.xrTable8.Name = "xrTable8";
this.xrTable8.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow9});
this.xrTable8.SizeF = new System.Drawing.SizeF(726.0417F, 25F);
this.xrTable8.SizeF = new System.Drawing.SizeF(599.9999F, 25F);
this.xrTable8.StylePriority.UseBorders = false;
this.xrTable8.StylePriority.UseBorderWidth = false;
//
@@ -171,8 +176,7 @@ namespace DiakonieMuelheim
this.xrTableCell9,
this.xrTableCell11,
this.xrTableCell12,
this.xrTableCell16,
this.xrTableCell17});
this.xrTableCell16});
this.xrTableRow9.Name = "xrTableRow9";
this.xrTableRow9.Weight = 0.5D;
//
@@ -181,42 +185,39 @@ namespace DiakonieMuelheim
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.Name")});
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.Text = " 30.06.2003";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell9.Weight = 0.61979917434094856D;
this.xrTableCell9.Weight = 1.2395983335033796D;
//
// xrTableCell11
//
this.xrTableCell11.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.Anzahl")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.Custom1")});
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell11.Weight = 0.7230987127281342D;
this.xrTableCell11.Weight = 0.4131994483930731D;
//
// xrTableCell12
//
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.WeiblichAnzahl")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.Custom2")});
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell12.Weight = 0.723099080515292D;
this.xrTableCell12.Weight = 0.41319918568792213D;
//
// xrTableCell16
//
this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.MaennlichAnzahl")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.Anzahl")});
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell16.Weight = 0.72309924864656439D;
//
// xrTableCell17
//
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Weight = 0.21090378376906091D;
this.xrTableCell16.Weight = 0.41319941686842548D;
//
// DetailReport2
//
@@ -232,6 +233,7 @@ namespace DiakonieMuelheim
// Detail3
//
this.Detail3.HeightF = 0F;
this.Detail3.KeepTogetherWithDetailReports = true;
this.Detail3.Name = "Detail3";
//
// DetailReport3
@@ -239,7 +241,8 @@ namespace DiakonieMuelheim
this.DetailReport3.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail4,
this.GroupHeader1,
this.GroupHeader2});
this.GroupHeader2,
this.GroupFooter2});
this.DetailReport3.DataMember = "JahresReportTabelleList.JahresReportDetailList";
this.DetailReport3.DataSource = this.bindingSource1;
this.DetailReport3.Level = 0;
@@ -249,9 +252,9 @@ namespace DiakonieMuelheim
//
this.Detail4.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable8});
this.Detail4.Expanded = false;
this.Detail4.HeightF = 25F;
this.Detail4.KeepTogether = true;
this.Detail4.KeepTogetherWithDetailReports = true;
this.Detail4.Name = "Detail4";
//
// GroupHeader1
@@ -273,7 +276,7 @@ namespace DiakonieMuelheim
this.xrTable9.Name = "xrTable9";
this.xrTable9.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable9.SizeF = new System.Drawing.SizeF(726.0417F, 25F);
this.xrTable9.SizeF = new System.Drawing.SizeF(600F, 25F);
this.xrTable9.StylePriority.UseBorders = false;
this.xrTable9.StylePriority.UseBorderWidth = false;
//
@@ -283,8 +286,7 @@ namespace DiakonieMuelheim
this.xrTableCell4,
this.xrTableCell5,
this.xrTableCell6,
this.xrTableCell7,
this.xrTableCell8});
this.xrTableCell7});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.StylePriority.UseBackColor = false;
this.xrTableRow2.Weight = 0.49999999999999994D;
@@ -292,54 +294,46 @@ namespace DiakonieMuelheim
// xrTableCell4
//
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Weight = 0.61979904824249443D;
this.xrTableCell4.Weight = 1.2395982074049226D;
//
// xrTableCell5
//
this.xrTableCell5.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell5.ForeColor = System.Drawing.Color.White;
this.xrTableCell5.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.StylePriority.UseForeColor = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Anzahl";
this.xrTableCell5.Text = "EK";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell5.Weight = 0.72309896492504233D;
this.xrTableCell5.Weight = 0.41319941686844047D;
//
// xrTableCell6
//
this.xrTableCell6.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell6.ForeColor = System.Drawing.Color.White;
this.xrTableCell6.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UseForeColor = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Weiblich";
this.xrTableCell6.Text = "WK";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell6.Weight = 0.72309895441683791D;
this.xrTableCell6.Weight = 0.41319934331101155D;
//
// xrTableCell7
//
this.xrTableCell7.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell7.ForeColor = System.Drawing.Color.White;
this.xrTableCell7.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseFont = false;
this.xrTableCell7.StylePriority.UseForeColor = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Männlich";
this.xrTableCell7.Text = "insgesamt";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell7.Weight = 0.72309896492504233D;
//
// xrTableCell8
//
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Weight = 0.21090406749058277D;
this.xrTableCell7.Weight = 0.41319941686844047D;
//
// GroupHeader2
//
this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel8});
this.GroupHeader2.HeightF = 45.99997F;
this.GroupHeader2.HeightF = 60.99996F;
this.GroupHeader2.KeepTogether = true;
this.GroupHeader2.Level = 1;
this.GroupHeader2.Name = "GroupHeader2";
@@ -348,11 +342,11 @@ namespace DiakonieMuelheim
//
this.xrLabel8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.Name")});
this.xrLabel8.Font = new System.Drawing.Font("Times New Roman", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10.00001F);
this.xrLabel8.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(726.0417F, 35.99996F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(600F, 35.99996F);
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.StylePriority.UseForeColor = false;
this.xrLabel8.StylePriority.UseTextAlignment = false;
@@ -363,7 +357,7 @@ namespace DiakonieMuelheim
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1});
this.GroupFooter1.HeightF = 50F;
this.GroupFooter1.HeightF = 39.99998F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel1
@@ -371,7 +365,100 @@ namespace DiakonieMuelheim
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(59.375F, 4.166667F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(92.70833F, 45.83333F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(92.70833F, 35.83332F);
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.JahresReportRO);
//
// GroupFooter2
//
this.GroupFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.GroupFooter2.HeightF = 25F;
this.GroupFooter2.Name = "GroupFooter2";
//
// xrTable1
//
this.xrTable1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable1.BorderWidth = 1F;
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(600F, 25F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UseBorderWidth = false;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2,
this.xrTableCell3,
this.xrTableCell8});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.StylePriority.UseBackColor = false;
this.xrTableRow1.Weight = 0.49999999999999994D;
//
// xrTableCell1
//
this.xrTableCell1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Gesamt";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 1.2395982074049226D;
//
// xrTableCell2
//
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.Custom1")});
this.xrTableCell2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UseForeColor = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
xrSummary1.FormatString = "{0:0}";
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell2.Summary = xrSummary1;
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell2.Weight = 0.41319941686844047D;
//
// xrTableCell3
//
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.Custom2")});
this.xrTableCell3.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UseForeColor = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
xrSummary2.FormatString = "{0:0}";
xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell3.Summary = xrSummary2;
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell3.Weight = 0.41319934331101155D;
//
// xrTableCell8
//
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.Anzahl")});
this.xrTableCell8.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UseForeColor = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
xrSummary3.FormatString = "{0:0}";
xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell8.Summary = xrSummary3;
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell8.Weight = 0.41319941686844047D;
//
// Jahresstatistik
//
@@ -385,7 +472,8 @@ namespace DiakonieMuelheim
this.fieldTotalSC,
this.fieldTotalEmp});
this.DataSource = this.bindingSource1;
this.Margins = new System.Drawing.Printing.Margins(48, 20, 70, 88);
this.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Margins = new System.Drawing.Printing.Margins(75, 20, 60, 88);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
@@ -395,9 +483,10 @@ namespace DiakonieMuelheim
this.PageInfo,
this.DataField});
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -421,7 +510,6 @@ namespace DiakonieMuelheim
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell16;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport2;
private DevExpress.XtraReports.UI.DetailBand Detail3;
private DevExpress.XtraReports.UI.XRTable xrTable9;
@@ -430,7 +518,6 @@ namespace DiakonieMuelheim
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport3;
private DevExpress.XtraReports.UI.DetailBand Detail4;
@@ -438,5 +525,12 @@ namespace DiakonieMuelheim
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter2;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
}
}

View File

@@ -87,8 +87,8 @@ namespace KcmGmbH
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
@@ -261,7 +261,7 @@ namespace KcmGmbH
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.SizeF = new System.Drawing.SizeF(394.0834F, 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]";
@@ -436,7 +436,7 @@ namespace KcmGmbH
//
// xrTable2
//
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(367.0001F, 0F);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(405.1945F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
@@ -445,7 +445,7 @@ namespace KcmGmbH
this.xrTableRow1,
this.xrTableRow6,
this.xrTableRow8});
this.xrTable2.SizeF = new System.Drawing.SizeF(283F, 114F);
this.xrTable2.SizeF = new System.Drawing.SizeF(244.8057F, 114F);
//
// xrTableRow2
//
@@ -721,10 +721,6 @@ namespace KcmGmbH
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.InvoiceCustomerRO);
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -740,6 +736,10 @@ namespace KcmGmbH
this.GroupHeader1.HeightF = 388.9999F;
this.GroupHeader1.Name = "GroupHeader1";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.InvoiceCustomerRO);
//
// InvoiceCustomerReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {

View File

@@ -423,14 +423,12 @@ namespace LebenshilfeCoburg
// ruleRateFactorNull
//
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
//
//
//
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 100F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
@@ -546,9 +544,6 @@ namespace LebenshilfeCoburg
// ruleNoticeNull
//
this.ruleNoticeNull.Condition = "[Notice] == ?";
//
//
//
this.ruleNoticeNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleNoticeNull.Name = "ruleNoticeNull";
//
@@ -565,7 +560,7 @@ namespace LebenshilfeCoburg
this.xrLabel5,
this.xrLabel9});
this.Page1.Font = new System.Drawing.Font("Arial", 11F);
this.Page1.HeightF = 257.9582F;
this.Page1.HeightF = 300F;
this.Page1.Level = 1;
this.Page1.Name = "Page1";
this.Page1.StylePriority.UseFont = false;
@@ -573,7 +568,7 @@ namespace LebenshilfeCoburg
// xrLabel7
//
this.xrLabel7.CanShrink = true;
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 167.2917F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 186.6667F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -587,7 +582,7 @@ namespace LebenshilfeCoburg
// xrLabel13
//
this.xrLabel13.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Underline);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 113.5417F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 132.9167F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel13.SizeF = new System.Drawing.SizeF(292F, 17F);
@@ -601,7 +596,7 @@ namespace LebenshilfeCoburg
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(405.2083F, 113.5417F);
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(405.2649F, 113.5575F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.AutoSize;
//
// xrLabel16
@@ -610,7 +605,7 @@ namespace LebenshilfeCoburg
this.xrLabel16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "RecipientOrganisation")});
this.xrLabel16.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(0F, 147.9167F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(0F, 167.2917F);
this.xrLabel16.Multiline = true;
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -624,7 +619,7 @@ namespace LebenshilfeCoburg
// xrLabel17
//
this.xrLabel17.CanShrink = true;
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(0F, 186.6667F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(0F, 206.0417F);
this.xrLabel17.Multiline = true;
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -735,9 +730,6 @@ namespace LebenshilfeCoburg
//
this.ruleIsS.Condition = "[ApprovedHours] == 1";
this.ruleIsS.DataMember = "ServiceInvoicePeriods";
//
//
//
this.ruleIsS.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleIsS.Name = "ruleIsS";
//
@@ -884,7 +876,7 @@ namespace LebenshilfeCoburg
//
this.xrLabel3.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrLabel3.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel3.BorderWidth = 3;
this.xrLabel3.BorderWidth = 3F;
this.xrLabel3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")});
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(555.0001F, 50.83332F);
@@ -981,9 +973,6 @@ namespace LebenshilfeCoburg
//
this.ruleIsGK.Condition = "[ApprovedHours] == 0";
this.ruleIsGK.DataMember = "ServiceInvoicePeriods";
//
//
//
this.ruleIsGK.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleIsGK.Name = "ruleIsGK";
//
@@ -1167,7 +1156,7 @@ namespace LebenshilfeCoburg
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "13.1";
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();

View File

@@ -41,18 +41,31 @@ namespace LebenshilfeCoburg
sip.ApprovedAmount = String.Format("{0:c}", sip.ServiceInvoiceItems[0].AmountPerUnit);
}
sip.ApprovedBE = CreateSchluessel(sip);
sip.ApprovedHours = 0;
if (Leistungsart(sip) == "S")
{
sip.ApprovedHours = 1;
}
if (pRO.AccountingPeriodStart.Year < 2021)
{
sip.ApprovedBE = CreateSchluesselVor2021(sip);
sip.ApprovedHours = 0;
if (LeistungsartVor2021(sip) == "S")
{
sip.ApprovedHours = 1;
}
}
else
{
sip.ApprovedBE = CreateSchluesselAb2021(sip);
sip.ApprovedHours = 0;
if (LeistungsartAb2021(sip) == "S")
{
sip.ApprovedHours = 1;
}
}
}
}
this.bindingSource1.DataSource = pRO;
}
private string CreateSchluessel(ServiceInvoicePeriodRO sip)
private string CreateSchluesselVor2021(ServiceInvoicePeriodRO sip)
{
string schl = "";
@@ -131,7 +144,7 @@ namespace LebenshilfeCoburg
return schl;
}
private string Leistungsart(ServiceInvoicePeriodRO sip)
private string LeistungsartVor2021(ServiceInvoicePeriodRO sip)
{
string schl = "GK";
@@ -176,5 +189,130 @@ namespace LebenshilfeCoburg
}
return schl;
}
private string CreateSchluesselAb2021(ServiceInvoicePeriodRO sip)
{
string schl = "";
if (sip.SupportConceptApprovalPeriod != null)
{
if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.HasValue)
{
//K/G Beh.
if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 367.72m)
{
schl = "01:12";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 441.26m)
{
schl = "01:10";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 490.29m)
{
schl = "01:09";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 551.58m)
{
schl = "01:08";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 630.38m)
{
schl = "01:07";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 735.44m)
{
schl = "01:06";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 882.53m)
{
schl = "01:05";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 1103.16m)
{
schl = "01:04";
}
//seel. Beh.
if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 468.64m)
{
schl = "01:12";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 550.13m)
{
schl = "01:10";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 604.45m)
{
schl = "01:09";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 672.36m)
{
schl = "01:08";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 759.67m)
{
schl = "01:07";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 876.07m)
{
schl = "01:06";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 1039.05m)
{
schl = "01:05";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 1283.51m)
{
schl = "01:04";
}
}
}
return schl;
}
private string LeistungsartAb2021(ServiceInvoicePeriodRO sip)
{
string schl = "GK";
if (sip.SupportConceptApprovalPeriod != null)
{
if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.HasValue)
{
//seel. Beh.
if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 468.64m)
{
schl = "S";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 550.13m)
{
schl = "S";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 604.45m)
{
schl = "S";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 672.36m)
{
schl = "S";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 759.67m)
{
schl = "S";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 876.07m)
{
schl = "S";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 1039.05m)
{
schl = "S";
}
else if (sip.SupportConceptApprovalPeriod.ApprovedFixedAmount.Value == 1283.51m)
{
schl = "S";
}
}
}
return schl;
}
}
}

View File

@@ -72,6 +72,7 @@ namespace LebenshilfeFrankfurtOder
ServicesOverviewRO entRo = CopyFromRO(ro);
ServicesOverviewRO kurzRo = CopyFromRO(ro);
ServicesOverviewRO verRo = CopyFromRO(ro);
ServicesOverviewRO abwRo = CopyFromRO(ro);
if (ro.Services != null)
{
@@ -135,8 +136,6 @@ namespace LebenshilfeFrankfurtOder
newService.TimeRangeString = String.Format("{0:HH:mm} - {1:HH:mm}", newService.StartDate, newService.EndDate);
newServices.Add(newService);
}
}
@@ -158,6 +157,11 @@ namespace LebenshilfeFrankfurtOder
verRo.Services.Add(s);
verRo.Services.AddRange(newServices);
}
else if (cat.Contains("fachleistungsstundenabw"))
{
abwRo.Services.Add(s);
abwRo.Services.AddRange(newServices);
}
}
}
@@ -165,6 +169,7 @@ namespace LebenshilfeFrankfurtOder
report = AddReportToReport(report, new LeistungsnachweisVerhinderungspflege(), verRo);
report = AddReportToReport(report, new LeistungsnachweisKurzzeitpflege(), kurzRo);
report = AddReportToReport(report, new LeistungsnachweisEntlastungsleistungen(), entRo);
report = AddReportToReport(report, new LeistungsnachweisAbw(), abwRo);
//report = AddReportToReport(report, eingliederungshilfe);
@@ -321,6 +326,14 @@ namespace LebenshilfeFrankfurtOder
{
return CreateAbrechnung(queryOid, queryReportId, AbrechnungsEnum.FED, true);
}
if (queryOid == 1300)
{
return CreateAbrechnung(queryOid, queryReportId, AbrechnungsEnum.Einzelfallhilfe, false);
}
if (queryOid == 1310)
{
return CreateAbrechnung(queryOid, queryReportId, AbrechnungsEnum.Einzelfallhilfe, true);
}
return base.CreateQueryReport(queryOid, queryReportId);
}
@@ -390,7 +403,10 @@ namespace LebenshilfeFrankfurtOder
{
invoices = CreateAbrechnungFed(start, start.AddMonths(1).AddTicks(-1), customerOid, serviceCategoryOid);
}
else if (abrechnungsArt == AbrechnungsEnum.Einzelfallhilfe)
{
invoices = CreateAbrechnungEinzelfallhilfe(start, start.AddMonths(1).AddTicks(-1), customerOid, serviceCategoryOid);
}
List<ServiceInvoiceDC> reallyNewInvoices = null;
if (customerOid.HasValue)
@@ -663,7 +679,9 @@ namespace LebenshilfeFrankfurtOder
int month = iDC.InvoiceBase.AccountingPeriodStart.Value.Month;
int year = iDC.InvoiceBase.AccountingPeriodStart.Value.Year;
var qb = CreateServiceOverviewSingleCustomerReport(customerOid, month, year, 0, 0, null, 1,
long? catOid = GetServiceCategory(iDC);
var qb = CreateServiceOverviewSingleCustomerReport(customerOid, month, year, 0, 0, catOid, 1,
DateTime.DaysInMonth(year, month));
qb.CreateDocument();
@@ -693,6 +711,32 @@ namespace LebenshilfeFrankfurtOder
return allReports as XtraReport;
}
private long? GetServiceCategory(ServiceInvoiceDC iDc)
{
if (iDc.ServiceInvoicePeriods != null)
{
foreach (var sip in iDc.ServiceInvoicePeriods)
{
if (sip.InvoiceItems != null)
{
foreach (var ii in sip.InvoiceItems)
{
if (!String.IsNullOrEmpty(ii.Notice))
{
var cat = DAOFactory.SearchDAO.FindServiceCategoryByName(ii.Notice);
if (cat != null)
{
return cat.Oid.Value;
}
}
}
}
}
}
return null;
}
private List<ServiceInvoiceDC> CreateAbrechnungTagesstruktur(DateTime start, DateTime end, long? customerOid)
{
var invoicePeriod = new DateTimeSpan(start, end);
@@ -790,15 +834,71 @@ namespace LebenshilfeFrankfurtOder
}
var creator = new FudInvoiceCreation();
var creator = new FudInvoiceCreation();
return creator.GenerateServiceInvoices(0, invoicePeriod, supportConcepts2ServiceRecords);
}
private IList<CompactSupportConceptDC> GetSupportConcepts(DateTime start, DateTime end, String serviceName, String categoryName, long? customerOid)
private List<ServiceInvoiceDC> CreateAbrechnungEinzelfallhilfe(DateTime start, DateTime end, long? customerOid, long serviceCategoryOid)
{
var invoicePeriod = new DateTimeSpan(start, end);
List<ServicesOverviewRO> quittierungsbelegRos = null;
if (customerOid.HasValue)
{
quittierungsbelegRos = new List<ServicesOverviewRO>();
if (customerOid > 0)
{
var ro = ServicesOverviewRO.Create(customerOid.Value, start.Month, start.Year, true, 0, 0, 1,
DateTime.DaysInMonth(start.Year, start.Month), serviceCategoryOid);
if (ro != null)
{
quittierungsbelegRos.Add(ro);
}
}
}
else
{
quittierungsbelegRos = ServicesOverviewRO.Create(start.Month, start.Year, 0, 0, 1, DateTime.DaysInMonth(start.Year, start.Month), serviceCategoryOid);
}
var supportConcepts2ServiceRecords = new Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>>();
foreach (var ro in quittierungsbelegRos)
{
if (ro.CostBearer2SupportConceptList != null)
{
foreach (var c2s in ro.CostBearer2SupportConceptList)
{
var flatSc = CreateFlatSupportConcept(c2s.SupportConcept, c2s);
var sList = new List<ServiceRecordDC>();
foreach (var sd in ro.Services)
{
if (sd.ServiceRecordOid > 0)
{
var sr = DAOFactory.GenericDAO.LoadByID<ServiceRecord>(sd.ServiceRecordOid);
var srDc = MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDC(sr);
sList.Add(srDc);
}
}
supportConcepts2ServiceRecords.Add(flatSc, sList);
}
}
}
var creator = new FudInvoiceCreation();
return creator.GenerateServiceInvoices(0, invoicePeriod, supportConcepts2ServiceRecords);
}
private IList<CompactSupportConceptDC> GetSupportConcepts(DateTime start, DateTime end, String serviceName, String categoryName, long? customerOid)
{
var scList = new List<CompactSupportConceptDC>();
var service = DAOFactory.GenericDAO.GetAllActive<AdditionalService>().FirstOrDefault(s => s.Name == serviceName);
@@ -866,7 +966,7 @@ namespace LebenshilfeFrankfurtOder
}
}
return scList;
return scList.OrderBy(s => !String.IsNullOrEmpty(s.Customer.DebitorNumber) ? s.Customer.DebitorNumber : "zzzzzz").ToList();
}
@@ -922,8 +1022,21 @@ namespace LebenshilfeFrankfurtOder
dc.ActivationType = pEntity.IsActive;
dc.TerminationDate = pEntity.TerminationDate;
dc.Sex = pEntity.Person.Sex;
dc.DebitorNumber = pEntity.DebitorNumber;
return dc;
IList<VarFieldDef> defs = DAOFactory.SearchDAO.GetVarFieldDefs(TableID.Customer);
//foreach (var def in defs)
//{
// dc..Add(def.Oid.Value, MapperFactory.VarFieldDC_VarField);
//}
//dc.VarFields = MapperFactory.VarFieldDC_VarField.VarFieldMapToDCs(defs, pEntity.VarFieldValueList);
return dc;
}
}
@@ -931,6 +1044,7 @@ namespace LebenshilfeFrankfurtOder
{
Tagesstruktur = 0,
WST = 1,
FED = 2
FED = 2,
Einzelfallhilfe = 3
}
}

View File

@@ -60,6 +60,8 @@ namespace LebenshilfeFrankfurtOder.Invoicing
{
return new DefaultInvoiceCreation();
}
cat = cat.Replace(" ", "");
if (cat.Contains("§45"))
{
return new FudInvoiceCreation();
@@ -73,6 +75,10 @@ namespace LebenshilfeFrankfurtOder.Invoicing
return new FudInvoiceCreation();
}
if (cat.Contains("einzelfallhilfe"))
{
return new EinzelfallhilfeInvoiceCreation();
}
}
return null;
}

View File

@@ -37,7 +37,7 @@ namespace LebenshilfeFrankfurtOder.Invoicing
{
oid = 3; // FUD
}
else if (!String.IsNullOrEmpty(Kostenstelle) && Kostenstelle == "1202")
else if (!String.IsNullOrEmpty(Kostenstelle) && Kostenstelle == "12")
{
oid = 4; // ABW
}
@@ -48,12 +48,37 @@ namespace LebenshilfeFrankfurtOder.Invoicing
InvoiceNumberDC invoiceNumber = LoadInvoiceNumber(oid);
if (invoiceNumber != null && invoiceNumber.Use)
{
string prefix = String.Format("{0}{1:yy}{1:MM}", Kostenstelle, invoiceBase.AccountingPeriodStart);
var number = DAOFactory.SearchDAO.FindMaxInvoiceNumber(prefix);
int newNumber = 1;
if (number != null)
{
var nstr = number.InvoiceNumber.Replace(prefix, "");
int i = 0;
if (Int32.TryParse(nstr, out i))
{
newNumber = i + 1;
}
}
String newNumberStr = String.Format("{0}", newNumber + increment);
while (newNumberStr.Length < 3)
{
newNumberStr = "0" + newNumberStr;
}
next = prefix + newNumberStr;
//if (invoiceNumber != null && invoiceNumber.Use)
//{
//String pattern = "{jj}{MM}{nnn}";
next = ApplyPattern(invoiceNumber.Pattern, invoiceNumber.CurrentNumber + increment, invoiceBase);
//next = ApplyPattern(invoiceNumber.Pattern, invoiceNumber.CurrentNumber + increment, invoiceBase);
}
//}
return next;
}
@@ -198,7 +223,7 @@ namespace LebenshilfeFrankfurtOder.Invoicing
{
oid = 3; // FUD
}
else if (!String.IsNullOrEmpty(Kostenstelle) && Kostenstelle == "1202")
else if (!String.IsNullOrEmpty(Kostenstelle) && Kostenstelle == "12")
{
oid = 4; // ABW
}
@@ -269,13 +294,13 @@ namespace LebenshilfeFrankfurtOder.Invoicing
{
return "11";
}
if (id == "RechnungFud")
if (id == "RechnungFud" || id == "RechnungFudPrivat")
{
return "22";
}
if (id == "RechnungAbw")
{
return "1202";
return "12";
}
return "";
}

View File

@@ -0,0 +1,315 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace LebenshilfeFrankfurtOder.Invoicing
{
public class EinzelfallhilfeInvoiceCreation : InvoiceCreation
{
private const decimal AMOUNT_PER_KM = 0.4m;
private DateTime? accountingPeriodStart = null;
private DateTime? accountingPeriodEnd = null;
public override void SetInvoiceId(ServiceInvoice invoice)
{
invoice.InvoiceBase.InvoiceId = "RechnungEinzelfallhilfe";
invoice.InvoiceBase.InvoiceTypeText = "Einzelfallhilfe";
}
public override List<ServiceInvoiceDC> GenerateServiceInvoices(long costBearerOid, DateTimeSpan invoicePeriod, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
{
var invoiceList = new List<ServiceInvoice>();
var invoiceCounter = 0;
var sortedScs = supportConcepts2ServiceRecords.Keys.OrderBy(s => !String.IsNullOrEmpty(s.Customer.DebitorNumber) ? s.Customer.DebitorNumber : "zzzzz").ToList();
foreach (var sc in sortedScs)
{
var serviceRecords = supportConcepts2ServiceRecords[sc];
if (sc.CostBearerList.Count > 0)
{
var costBearer = DAOFactory.GenericDAO.LoadByID<CostBearer>(sc.CostBearerList[0].CostBearerOid);
var invoice = CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, sc, serviceRecords);
if (invoice != null)
{
SetzeCategory(invoice, serviceRecords);
invoiceList.Add(invoice);
invoiceCounter++;
}
}
}
var result = invoiceList.Select(item => MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(item)).ToList();
//return result.Count > 1 ? result.OrderBy(i => i.InvoiceBase.CustomerLastName).ToList() : result;
return result;
}
private void SetzeCategory(ServiceInvoice i, List<ServiceRecordDC> records)
{
foreach (var sr in records)
{
i.Notice = String.Format("{0}", sr.ServiceDescription.Category.ServiceCategoryOid);
}
}
public override ServiceInvoice CreateSingleInvoice(int invoiceCounter, CostBearer costBearer, DateTimeSpan invoicePeriod, CompactSupportConceptDC supportConcept, List<ServiceRecordDC> serviceRecords)
{
var i = base.CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, supportConcept, serviceRecords);
if (i != null)
{
var claim = i.GetTotalClaim();
if (!claim.HasValue || claim.Value == 0)
{
return null;
}
}
return i;
}
//public override void SetRecipientInformation(ServiceInvoice serviceInvoice, CostBearer costBearer)
//{
// if (istSelbstzahler || brauchtExtraPrivatrechnung)
// {
// if (serviceInvoice.InvoiceBase.CostBearer2SupportConcept != null)
// {
// var cust = serviceInvoice.InvoiceBase.CostBearer2SupportConcept.SupportConcept.Customer;
// if (cust.Person.InvoiceAddress != null)
// {
// serviceInvoice.InvoiceBase.RecipientAddress = cust.Person.InvoiceAddress.CopyToNew();
// }
// else if (cust.Person.Address != null)
// {
// serviceInvoice.InvoiceBase.RecipientAddress = cust.Person.Address.CopyToNew();
// }
// serviceInvoice.InvoiceBase.RecipientPersonFirstName = cust.Person.FirstName;
// serviceInvoice.InvoiceBase.RecipientPersonLastName = cust.Person.LastName;
// }
// }
// else
// {
// base.SetRecipientInformation(serviceInvoice, costBearer);
// }
//}
public override void SetInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod,
IList<CompactSupportConceptDC> supportConceptList)
{
if (invoicePeriod != null)
{
accountingPeriodStart = invoicePeriod.StartDate;
accountingPeriodEnd = invoicePeriod.EndDate;
}
base.SetInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConceptList);
}
public override void SetServiceInvoicePeriods(ServiceInvoice invoice, CostBearer2SupportConcept costBearer2SupportConcept,
DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
{
var invoiceAccountingPeriodSpan = new DateTimeSpan
{
StartDateTime = invoice.InvoiceBase.AccountingPeriodStart.Value,
EndDateTime = invoice.InvoiceBase.AccountingPeriodEnd.Value
};
foreach (SupportConceptApprovalPeriod iPeriod in costBearer2SupportConcept.ApprovalPeriodList)
{
SupportConceptApprovalPeriodDC approvalPeriodDC = MapperFactory.SupportConceptApprovalPeriodDC_SupportConceptApprovalPeriod.MapToNewDC(iPeriod);
if (approvalPeriodDC.Span.EndDateTime < invoiceAccountingPeriodSpan.StartDateTime || approvalPeriodDC.Span.StartDateTime > invoiceAccountingPeriodSpan.EndDate)
{
continue;
}
ServiceInvoicePeriod serviceInvoicePeriod = CreateServiceInvoicePeriod(approvalPeriodDC, invoiceAccountingPeriodSpan);
serviceInvoicePeriod.SupportConceptApprovalPeriod = iPeriod;
serviceInvoicePeriod.Customer = costBearer2SupportConcept.SupportConcept.Customer;
CostBearer costBearer = costBearer2SupportConcept.CostBearer;
List<CostRatePeriodDC> costRates = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(costBearer.CostRatePeriods);
CostRatePeriodDC serviceUnit = costRates.GetCostRatePeriodForDate(CostRatePeriodType.MinutesPerServiceUnit, DateTime.Now);
serviceInvoicePeriod.ServiceUnitName = serviceUnit.UnitName;
SetInvoiceItems(invoice, serviceInvoicePeriod, approvalPeriodDC, costBearer2SupportConcept, invoicePeriod, serviceRecords);
if (serviceInvoicePeriod.InvoiceItemList.Count > 0)
invoice.ServiceInvoicePeriodList.Add(serviceInvoicePeriod);
}
}
public virtual void SetInvoiceItems(ServiceInvoice invoice,
ServiceInvoicePeriod serviceInvoicePeriod,
SupportConceptApprovalPeriodDC supportConceptApprovalPeriod,
CostBearer2SupportConcept cb2sc,
DateTimeSpan invoicePeriod,
List<ServiceRecordDC> serviceRecords)
{
Calculations calc = PluginLoader.FindClass<Calculations>(_SpecificID) ??
Calculations.GetInstance(_SpecificID);
List<ServiceRecordDC> serviceRecordsInPeriod = serviceRecords.Where(
i =>
{
bool valid = i.Start.Value.InBetween(serviceInvoicePeriod.Start.Value, serviceInvoicePeriod.End.Value, true);
if (valid)
{
String cat = i.ServiceDescription.CategoryName.ToLower().Trim().Replace(" ", "");
if (cat.Contains("einzelfallhilfe"))
{
valid = true;
}
else
{
valid = false;
}
}
return valid;
}).ToList();
if (serviceRecordsInPeriod.Count > 0)
{
var itemList = CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, serviceInvoicePeriod.SupportConceptApprovalPeriod, calc);
serviceInvoicePeriod.InvoiceItemList.AddRange(itemList);
}
}
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
Calculations calc)
{
var list = base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
return list;
}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
{
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);
ii.Notice = iServiceRecord.ServiceDescription.CategoryName;
if (ii.AccountingInterval.HasValue)
{
if (ii.AccountingInterval.Value == AccountingIntervalType.Daily)
{
ii.UnitDescription = "Tage";
}
else if (ii.AccountingInterval.Value == AccountingIntervalType.Hourly)
{
ii.UnitDescription = "h";
}
}
return ii;
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
{
//Fasse InvoiceItems mit gleichem Stundensatz zusammen:
var newlist = new List<InvoiceItem>();
var rateToItem = new Dictionary<String, InvoiceItem>();
foreach (InvoiceItem iitem in itemList)
{
InvoiceItem item;
var key = GetSummaryItemKey(scap, iitem, summaryPerMonth);
if (rateToItem.ContainsKey(key))
{
item = rateToItem[key];
}
else
{
item = new InvoiceItem();
newlist.Add(item);
item.AmountPerUnit = iitem.AmountPerUnit;
if (invoicePeriod != null)
{
item.ItemPeriodStart = invoicePeriod.StartDate;
item.ItemPeriodEnd = invoicePeriod.EndDate;
}
else
{
item.ItemPeriodStart = scap.StartDate;
item.ItemPeriodEnd = scap.EndDate;
}
if (summaryPerMonth && iitem.ItemPeriodStart.HasValue)
{
DateTime start = new DateTime(iitem.ItemPeriodStart.Value.Year, iitem.ItemPeriodStart.Value.Month, 1);
DateTime end = start.AddMonths(1).AddDays(-1);
if (item.ItemPeriodStart < start)
{
item.ItemPeriodStart = start;
}
if (item.ItemPeriodEnd > end)
{
item.ItemPeriodEnd = end;
}
}
item.RateFactor = iitem.RateFactor;
item.AccountingInterval = iitem.AccountingInterval;
item.ItemDescription = iitem.ItemDescription;
item.UnitDescription = iitem.UnitDescription;
item.SupportConceptApprovalPeriodOid = scap.Oid;
item.Notice = iitem.Notice;
rateToItem[key] = item;
}
if (!item.UnitCount.HasValue)
{
item.UnitCount = 0;
}
item.UnitCount += iitem.UnitCount ?? 0;
}
BerechneSummaryItemsSummen(newlist, addRateFactorToUnitCount);
return newlist;
}
public override string GetSummaryItemKey(SupportConceptApprovalPeriod scap, InvoiceItem iitem, bool summaryPerMonth)
{
return String.Format("{0}_{1}_{2:yyyyMM}_{3}", iitem.AmountPerUnit, iitem.RateFactor, iitem.ItemPeriodStart, iitem.ItemDescription);
}
}
}

View File

@@ -23,6 +23,9 @@ namespace LebenshilfeFrankfurtOder.Invoicing
private DateTime? accountingPeriodStart = null;
private DateTime? accountingPeriodEnd = null;
private bool istSelbstzahler = false;
private bool brauchtExtraPrivatrechnung = false;
public override void SetInvoiceId(ServiceInvoice invoice)
{
invoice.InvoiceBase.InvoiceId = "RechnungFud";
@@ -35,31 +38,103 @@ namespace LebenshilfeFrankfurtOder.Invoicing
var invoiceList = new List<ServiceInvoice>();
var invoiceCounter = 0;
var sortedScs = supportConcepts2ServiceRecords.Keys.OrderBy(s => !String.IsNullOrEmpty(s.Customer.DebitorNumber) ? s.Customer.DebitorNumber : "zzzzz").ToList();
foreach (var iSupportConcept2ServiceRecords in supportConcepts2ServiceRecords)
foreach (var sc in sortedScs)
{
var sc = iSupportConcept2ServiceRecords.Key;
var serviceRecords = supportConcepts2ServiceRecords[sc];
if (sc.CostBearerList.Count > 0)
{
istSelbstzahler = false;
brauchtExtraPrivatrechnung = false;
var costBearer = DAOFactory.GenericDAO.LoadByID<CostBearer>(sc.CostBearerList[0].CostBearerOid);
var invoice = CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, sc,
iSupportConcept2ServiceRecords.Value);
if (invoice != null)
if (costBearer.Organisation.Name.Contains("Selbstzahler"))
{
invoiceList.Add(invoice);
invoiceCounter++;
istSelbstzahler = true;
}
if (sc.Customer.VarFieldValues != null)
{
foreach (var vv in sc.Customer.VarFieldValues)
{
}
}
if (istSelbstzahler || MussPrivatRechnungErstelltWerden(serviceRecords))
{
brauchtExtraPrivatrechnung = true;
var privateInvoice = CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, sc, serviceRecords);
if (privateInvoice != null)
{
privateInvoice.InvoiceBase.InvoiceId = "RechnungFudPrivat";
SetzeCategory(privateInvoice, serviceRecords);
invoiceList.Add(privateInvoice);
invoiceCounter++;
}
}
if (!istSelbstzahler && MussKTRechnungErstelltWerden(serviceRecords))
{
brauchtExtraPrivatrechnung = false;
var invoice = CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, sc, serviceRecords);
if (invoice != null)
{
SetzeCategory(invoice, serviceRecords);
invoiceList.Add(invoice);
invoiceCounter++;
}
}
}
}
var result = invoiceList.Select(item => MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(item)).ToList();
return result.Count > 1 ? result.OrderBy(i => i.InvoiceBase.CustomerLastName).ToList() : result;
//return result.Count > 1 ? result.OrderBy(i => i.InvoiceBase.CustomerLastName).ToList() : result;
return result;
}
public override ServiceInvoice CreateSingleInvoice(int invoiceCounter, CostBearer costBearer, DateTimeSpan invoicePeriod,
CompactSupportConceptDC supportConcept, List<ServiceRecordDC> serviceRecords)
private void SetzeCategory(ServiceInvoice i, List<ServiceRecordDC> records)
{
foreach (var sr in records)
{
i.Notice = String.Format("{0}", sr.ServiceDescription.Category.ServiceCategoryOid);
}
}
private bool MussPrivatRechnungErstelltWerden(List<ServiceRecordDC> records)
{
foreach (var sr in records)
{
if (sr.ServiceDescription.Name.Contains("Kurskosten"))
{
return true;
}
}
return false;
}
private bool MussKTRechnungErstelltWerden(List<ServiceRecordDC> records)
{
foreach (var sr in records)
{
if (!sr.ServiceDescription.Name.Contains("Kurskosten"))
{
return true;
}
}
return false;
}
public override ServiceInvoice CreateSingleInvoice(int invoiceCounter, CostBearer costBearer, DateTimeSpan invoicePeriod, CompactSupportConceptDC supportConcept, List<ServiceRecordDC> serviceRecords)
{
var i = base.CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, supportConcept, serviceRecords);
@@ -76,6 +151,37 @@ namespace LebenshilfeFrankfurtOder.Invoicing
return i;
}
public override void SetRecipientInformation(ServiceInvoice serviceInvoice, CostBearer costBearer)
{
if (istSelbstzahler || brauchtExtraPrivatrechnung)
{
if (serviceInvoice.InvoiceBase.CostBearer2SupportConcept != null)
{
var cust = serviceInvoice.InvoiceBase.CostBearer2SupportConcept.SupportConcept.Customer;
if (cust.Person.InvoiceAddress != null)
{
serviceInvoice.InvoiceBase.RecipientAddress = cust.Person.InvoiceAddress.CopyToNew();
}
else if (cust.Person.Address != null)
{
serviceInvoice.InvoiceBase.RecipientAddress = cust.Person.Address.CopyToNew();
}
serviceInvoice.InvoiceBase.RecipientPersonFirstName = cust.Person.FirstName;
serviceInvoice.InvoiceBase.RecipientPersonLastName = cust.Person.LastName;
}
}
else
{
base.SetRecipientInformation(serviceInvoice, costBearer);
}
}
public override void SetInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod,
IList<CompactSupportConceptDC> supportConceptList)
{
@@ -142,15 +248,20 @@ namespace LebenshilfeFrankfurtOder.Invoicing
if (valid)
{
String cat = i.ServiceDescription.CategoryName.ToLower().Trim();
String cat = i.ServiceDescription.CategoryName.ToLower().Trim().Replace(" ", "");
if (cat.Contains("§45") || cat.Contains("§42") || cat.Contains("§39"))
{
if (i.ServiceDescription.Name.Contains("Kurskosten"))
{
valid = false;
}
else if (cat.Contains("§45") || cat.Contains("§42") || cat.Contains("§39"))
{
valid = true;
if (i.ServiceDescription.Name.Contains("Kurskosten"))
{
valid = brauchtExtraPrivatrechnung;
}
else
{
valid = !brauchtExtraPrivatrechnung || istSelbstzahler;
}
}
else
{
@@ -181,7 +292,7 @@ namespace LebenshilfeFrankfurtOder.Invoicing
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
{
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);
ii.Notice = iServiceRecord.ServiceDescription.CategoryName;
if (ii.AccountingInterval.HasValue)
{
if (ii.AccountingInterval.Value == AccountingIntervalType.Daily)
@@ -234,5 +345,81 @@ namespace LebenshilfeFrankfurtOder.Invoicing
}
return null;
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
{
//Fasse InvoiceItems mit gleichem Stundensatz zusammen:
var newlist = new List<InvoiceItem>();
var rateToItem = new Dictionary<String, InvoiceItem>();
foreach (InvoiceItem iitem in itemList)
{
InvoiceItem item;
var key = GetSummaryItemKey(scap, iitem, summaryPerMonth);
if (rateToItem.ContainsKey(key))
{
item = rateToItem[key];
}
else
{
item = new InvoiceItem();
newlist.Add(item);
item.AmountPerUnit = iitem.AmountPerUnit;
if (invoicePeriod != null)
{
item.ItemPeriodStart = invoicePeriod.StartDate;
item.ItemPeriodEnd = invoicePeriod.EndDate;
}
else
{
item.ItemPeriodStart = scap.StartDate;
item.ItemPeriodEnd = scap.EndDate;
}
if (summaryPerMonth && iitem.ItemPeriodStart.HasValue)
{
DateTime start = new DateTime(iitem.ItemPeriodStart.Value.Year, iitem.ItemPeriodStart.Value.Month, 1);
DateTime end = start.AddMonths(1).AddDays(-1);
if (item.ItemPeriodStart < start)
{
item.ItemPeriodStart = start;
}
if (item.ItemPeriodEnd > end)
{
item.ItemPeriodEnd = end;
}
}
item.RateFactor = iitem.RateFactor;
item.AccountingInterval = iitem.AccountingInterval;
item.ItemDescription = iitem.ItemDescription;
item.UnitDescription = iitem.UnitDescription;
item.SupportConceptApprovalPeriodOid = scap.Oid;
item.Notice = iitem.Notice;
rateToItem[key] = item;
}
if (!item.UnitCount.HasValue)
{
item.UnitCount = 0;
}
item.UnitCount += iitem.UnitCount ?? 0;
}
BerechneSummaryItemsSummen(newlist, addRateFactorToUnitCount);
return newlist;
}
public override string GetSummaryItemKey(SupportConceptApprovalPeriod scap, InvoiceItem iitem, bool summaryPerMonth)
{
return String.Format("{0}_{1}_{2:yyyyMM}_{3}", iitem.AmountPerUnit, iitem.RateFactor, iitem.ItemPeriodStart, iitem.ItemDescription);
}
}
}

View File

@@ -43,15 +43,37 @@ namespace LebenshilfeFrankfurtOder.Invoicing
foreach (var trd in daten)
{
var i = CreateInvoice(invoiceCounter++, invoicePeriod, trd);
invoiceList.Add(i);
var i = CreateInvoice(invoiceCounter, invoicePeriod, trd);
var c = i.GetTotalClaim();
if (c.HasValue && c.Value > 0)
{
invoiceList.Add(i);
invoiceCounter++;
}
else
{
int test = 0;
}
}
foreach (var trd in daten)
{
foreach (var sc in trd.SupportConcepts)
{
var i = CreateRechnungTagesstrukturVerpflegung(invoiceCounter++, invoicePeriod, sc, trd.CostBearer);
invoiceList.Add(i);
var i = CreateRechnungTagesstrukturVerpflegung(invoiceCounter, invoicePeriod, sc, trd.CostBearer);
var c = i.GetTotalClaim();
if (c.HasValue && c.Value > 0)
{
invoiceList.Add(i);
invoiceCounter++;
}
else
{
int test = 0;
}
}
}

View File

@@ -48,8 +48,14 @@ namespace LebenshilfeFrankfurtOder.Invoicing
foreach (var trd in daten)
{
var i = CreateInvoice(invoiceCounter++, invoicePeriod, trd);
invoiceList.Add(i);
var i = CreateInvoice(invoiceCounter, invoicePeriod, trd);
var c = i.GetTotalClaim();
if (c.HasValue && c.Value > 0)
{
invoiceList.Add(i);
invoiceCounter++;
}
}
return invoiceList;

View File

@@ -32,6 +32,7 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -65,11 +66,18 @@
<Compile Include="Export\CustomDataExporter.cs" />
<Compile Include="Export\DatevExporter.cs" />
<Compile Include="Invoicing\CustomInvoiceNumberGenerator.cs" />
<Compile Include="Invoicing\EinzelfallhilfeInvoiceCreation.cs" />
<Compile Include="Invoicing\FudInvoiceCreation.cs" />
<Compile Include="Invoicing\WstInvoiceCreation.cs" />
<Compile Include="Invoicing\TagesstrukturInvoiceCreation.cs" />
<Compile Include="Invoicing\DefaultInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="LeistungsnachweisAbw.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="LeistungsnachweisAbw.Designer.cs">
<DependentUpon>LeistungsnachweisAbw.cs</DependentUpon>
</Compile>
<Compile Include="LeistungsnachweisEntlastungsleistungen.cs">
<SubType>Component</SubType>
</Compile>
@@ -83,6 +91,12 @@
<DependentUpon>LeistungsnachweisKurzzeitpflege.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RechnungEinzelfallhilfe.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="RechnungEinzelfallhilfe.Designer.cs">
<DependentUpon>RechnungEinzelfallhilfe.cs</DependentUpon>
</Compile>
<Compile Include="RechnungFud.cs">
<SubType>Component</SubType>
</Compile>
@@ -149,6 +163,10 @@
<EmbeddedResource Include="AdditionalServiceBookingReport.resx">
<DependentUpon>AdditionalServiceBookingReport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="LeistungsnachweisAbw.resx">
<DependentUpon>LeistungsnachweisAbw.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="LeistungsnachweisEntlastungsleistungen.resx">
<DependentUpon>LeistungsnachweisEntlastungsleistungen.cs</DependentUpon>
<SubType>Designer</SubType>
@@ -158,6 +176,10 @@
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="RechnungEinzelfallhilfe.resx">
<DependentUpon>RechnungEinzelfallhilfe.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="RechnungFud.resx">
<DependentUpon>RechnungFud.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -0,0 +1,809 @@
using BeWo.Report.ReportObjects;
namespace LebenshilfeFrankfurtOder
{
partial class LeistungsnachweisAbw
{
/// <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()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
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.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
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.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = 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.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.fieldArtDerLeistung = new DevExpress.XtraReports.UI.CalculatedField();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.cellPreisGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellStundenGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellKmGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.fieldStunden = new DevExpress.XtraReports.UI.CalculatedField();
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellStundenInklFac = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.lblZiele = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.StylePriority.UseFont = false;
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableServiceRecords1
//
this.xrTableServiceRecords1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableServiceRecords1.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableServiceRecords1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableServiceRecords1.Name = "xrTableServiceRecords1";
this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableServiceRecords1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(1040F, 32F);
this.xrTableServiceRecords1.StylePriority.UseBackColor = false;
this.xrTableServiceRecords1.StylePriority.UseFont = false;
this.xrTableServiceRecords1.StylePriority.UseTextAlignment = false;
this.xrTableServiceRecords1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell4,
this.xrTableCell9,
this.xrTableCell8,
this.xrTableCell6,
this.xrTableCell12});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow2.StylePriority.UseTextAlignment = false;
this.xrTableRow2.Weight = 1.6D;
//
// xrTableCell3
//
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "Datum";
this.xrTableCell3.Weight = 0.077839498389906031D;
//
// xrTableCell4
//
this.xrTableCell4.Multiline = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Weight = 0.058379618027002367D;
//
// xrTableCell9
//
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTableCell9.StylePriority.UseFont = false;
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.Text = "Tagesdokumentation [StartDate!MM]/[StartDate!yyyy]";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell9.Weight = 0.66163571488018158D;
//
// xrTableCell8
//
this.xrTableCell8.Multiline = true;
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTableCell8.StylePriority.UsePadding = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "von-bis";
this.xrTableCell8.Weight = 0.08756943118806923D;
//
// xrTableCell6
//
this.xrTableCell6.Multiline = true;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Std.";
this.xrTableCell6.Weight = 0.048649683733478929D;
//
// xrTableCell12
//
this.xrTableCell12.Multiline = true;
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseBackColor = false;
this.xrTableCell12.StylePriority.UseFont = false;
this.xrTableCell12.StylePriority.UsePadding = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.Text = "MA";
this.xrTableCell12.Weight = 0.077839493568038071D;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1});
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.LocationFloat = new DevExpress.Utils.PointFloat(0F, 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(1040F, 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.xrTableCell16,
this.xrTableCell17,
this.xrTableCell2,
this.xrTableCell19});
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.CanGrow = false;
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDate", "{0:dd.MM.}")});
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UsePadding = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell13.Weight = 0.029153310565328161D;
//
// xrTableCell14
//
this.xrTableCell14.CanGrow = false;
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.GoalList")});
this.xrTableCell14.Multiline = true;
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell14.Weight = 0.021864983958054023D;
//
// xrTableCell16
//
this.xrTableCell16.CanGrow = false;
this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.Notice")});
this.xrTableCell16.Multiline = true;
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrTableCell16.StylePriority.UseFont = false;
this.xrTableCell16.StylePriority.UsePadding = false;
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell16.Weight = 0.24780313195087117D;
//
// xrTableCell17
//
this.xrTableCell17.CanGrow = false;
this.xrTableCell17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.TimeRangeString")});
this.xrTableCell17.Multiline = true;
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.StylePriority.UseFont = false;
this.xrTableCell17.StylePriority.UsePadding = false;
this.xrTableCell17.StylePriority.UseTextAlignment = false;
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell17.Weight = 0.032797472637825176D;
//
// xrTableCell2
//
this.xrTableCell2.CanGrow = false;
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.fieldStunden", "{0:0.00}")});
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.TopCenter;
this.xrTableCell2.Weight = 0.018220818090374985D;
//
// xrTableCell19
//
this.xrTableCell19.CanGrow = false;
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EmployeeLastName")});
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
this.xrTableCell19.StylePriority.UsePadding = false;
this.xrTableCell19.StylePriority.UseTextAlignment = false;
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell19.Weight = 0.029153301394765435D;
//
// 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.lblZiele,
this.xrLabel2,
this.xrLabel15,
this.xrLabel14,
this.xrLabel13,
this.xrLabel9});
this.ReportHeader.HeightF = 246.6667F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel15
//
this.xrLabel15.CanGrow = false;
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(82.1874F, 20.00001F);
this.xrLabel15.Multiline = true;
this.xrLabel15.Name = "xrLabel15";
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel15.SizeF = new System.Drawing.SizeF(184.5833F, 20.00002F);
this.xrLabel15.StylePriority.UseBorders = false;
this.xrLabel15.StylePriority.UseFont = false;
this.xrLabel15.StylePriority.UseTextAlignment = false;
this.xrLabel15.Text = "[CustomerFirstName]";
this.xrLabel15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel14
//
this.xrLabel14.CanGrow = false;
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.00001F);
this.xrLabel14.Multiline = true;
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(82.18741F, 20F);
this.xrLabel14.StylePriority.UseFont = false;
this.xrLabel14.StylePriority.UseTextAlignment = false;
this.xrLabel14.Text = "Vorname:";
this.xrLabel14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel13
//
this.xrLabel13.CanGrow = false;
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(58.85442F, 20F);
this.xrLabel13.StylePriority.UseFont = false;
this.xrLabel13.StylePriority.UseTextAlignment = false;
this.xrLabel13.Text = "Name:";
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel9
//
this.xrLabel9.CanGrow = false;
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(82.1874F, 0F);
this.xrLabel9.Multiline = true;
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(184.5833F, 20.00002F);
this.xrLabel9.StylePriority.UseBorders = false;
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.StylePriority.UseTextAlignment = false;
this.xrLabel9.Text = "[CustomerLastName]";
this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel8
//
this.xrLabel8.CanGrow = false;
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 33.40276F);
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(160.2433F, 20F);
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.StylePriority.UseTextAlignment = false;
this.xrLabel8.Text = "ambulant betreutes Wohnen";
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// 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.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1,
this.xrLabel8});
this.topMarginBand1.HeightF = 90F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrLabel1
//
this.xrLabel1.CanGrow = false;
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerName")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(160.2433F, 33.40276F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(685.4858F, 20F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "KV-Nr.";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// fieldArtDerLeistung
//
this.fieldArtDerLeistung.DataMember = "Services";
this.fieldArtDerLeistung.Expression = "Iif([IsGroup], \'G\', \'E\')";
this.fieldArtDerLeistung.Name = "fieldArtDerLeistung";
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable4});
this.GroupFooter1.HeightF = 80F;
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.StylePriority.UseFont = false;
//
// xrTable4
//
this.xrTable4.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow4,
this.xrTableRow1,
this.xrTableRow3,
this.xrTableRow5});
this.xrTable4.SizeF = new System.Drawing.SizeF(1040F, 80F);
this.xrTable4.StylePriority.UseBackColor = false;
this.xrTable4.StylePriority.UseFont = false;
this.xrTable4.StylePriority.UseTextAlignment = false;
this.xrTable4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
//
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.cellPreisGesamt,
this.cellStundenGesamt,
this.cellKmGesamt});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow4.StylePriority.UseTextAlignment = false;
this.xrTableRow4.Weight = 1D;
//
// cellPreisGesamt
//
this.cellPreisGesamt.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.cellPreisGesamt.Multiline = true;
this.cellPreisGesamt.Name = "cellPreisGesamt";
this.cellPreisGesamt.StylePriority.UseBorders = false;
this.cellPreisGesamt.StylePriority.UsePadding = false;
this.cellPreisGesamt.StylePriority.UseTextAlignment = false;
this.cellPreisGesamt.Text = "direkte Stunden";
this.cellPreisGesamt.Weight = 0.047486207247397785D;
//
// cellStundenGesamt
//
this.cellStundenGesamt.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.cellStundenGesamt.Multiline = true;
this.cellStundenGesamt.Name = "cellStundenGesamt";
this.cellStundenGesamt.StylePriority.UseBorders = false;
this.cellStundenGesamt.StylePriority.UsePadding = false;
this.cellStundenGesamt.StylePriority.UseTextAlignment = false;
this.cellStundenGesamt.Weight = 0.026381177667068368D;
//
// cellKmGesamt
//
this.cellKmGesamt.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.cellKmGesamt.Name = "cellKmGesamt";
this.cellKmGesamt.StylePriority.UseBorders = false;
this.cellKmGesamt.StylePriority.UseTextAlignment = false;
this.cellKmGesamt.Weight = 0.042209951723681624D;
//
// fieldStunden
//
this.fieldStunden.DataMember = "Services";
this.fieldStunden.Expression = "[Minutes] / 60";
this.fieldStunden.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldStunden.Name = "fieldStunden";
//
// GroupHeader2
//
this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableServiceRecords1});
this.GroupHeader2.HeightF = 32F;
this.GroupHeader2.Name = "GroupHeader2";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// xrTableCell1
//
this.xrTableCell1.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.Weight = 0.43265214744290303D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell7,
this.xrTableCell10,
this.xrTableCell11});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1D;
//
// xrTableCell5
//
this.xrTableCell5.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseBorders = false;
this.xrTableCell5.Weight = 0.43265214744290303D;
//
// xrTableCell7
//
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.Text = "ind. Stunden";
this.xrTableCell7.Weight = 0.047486207247397785D;
//
// xrTableCell10
//
this.xrTableCell10.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UseBorders = false;
this.xrTableCell10.Text = "30%";
this.xrTableCell10.Weight = 0.026381177667068368D;
//
// xrTableCell11
//
this.xrTableCell11.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.StylePriority.UseBorders = false;
this.xrTableCell11.Weight = 0.042209951723681624D;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell15,
this.xrTableCell18,
this.xrTableCell20,
this.xrTableCell21});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 1D;
//
// xrTableCell15
//
this.xrTableCell15.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.StylePriority.UseBorders = false;
this.xrTableCell15.Weight = 0.43265214744290303D;
//
// xrTableCell18
//
this.xrTableCell18.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseBorders = false;
this.xrTableCell18.Weight = 0.047486207247397785D;
//
// xrTableCell20
//
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.StylePriority.UseBorders = false;
this.xrTableCell20.Weight = 0.026381177667068368D;
//
// xrTableCell21
//
this.xrTableCell21.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseBorders = false;
this.xrTableCell21.Weight = 0.042209951723681624D;
//
// xrTableRow5
//
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell22,
this.xrTableCell23,
this.cellStundenInklFac,
this.xrTableCell25});
this.xrTableRow5.Name = "xrTableRow5";
this.xrTableRow5.Weight = 1D;
//
// xrTableCell22
//
this.xrTableCell22.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.StylePriority.UseBorders = false;
this.xrTableCell22.Weight = 0.43265214744290303D;
//
// xrTableCell23
//
this.xrTableCell23.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.StylePriority.UseBorders = false;
this.xrTableCell23.Text = "Rechnung";
this.xrTableCell23.Weight = 0.047486207247397785D;
//
// cellStundenInklFac
//
this.cellStundenInklFac.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.cellStundenInklFac.Name = "cellStundenInklFac";
this.cellStundenInklFac.StylePriority.UseBorders = false;
this.cellStundenInklFac.Weight = 0.026381177667068368D;
//
// xrTableCell25
//
this.xrTableCell25.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell25.Name = "xrTableCell25";
this.xrTableCell25.StylePriority.UseBorders = false;
this.xrTableCell25.Weight = 0.042209951723681624D;
//
// xrLabel2
//
this.xrLabel2.CanGrow = false;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(140F, 40.00003F);
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(680.0001F, 20F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Schwerpunkte der Betreuung";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
//
// lblZiele
//
this.lblZiele.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.lblZiele.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblZiele.LocationFloat = new DevExpress.Utils.PointFloat(140F, 60.00002F);
this.lblZiele.Multiline = true;
this.lblZiele.Name = "lblZiele";
this.lblZiele.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblZiele.SizeF = new System.Drawing.SizeF(680.0001F, 176.6667F);
this.lblZiele.StylePriority.UseBorders = false;
this.lblZiele.StylePriority.UseFont = false;
this.lblZiele.StylePriority.UseTextAlignment = false;
this.lblZiele.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// LeistungsnachweisAbw
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.DetailReport,
this.ReportHeader,
this.topMarginBand1,
this.bottomMarginBand1,
this.GroupFooter1,
this.GroupHeader2});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldArtDerLeistung,
this.fieldStunden});
this.DataSource = this.bindingSource1;
this.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRuleStartDate,
this.formattingRuleServiceDesc,
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName});
this.Landscape = true;
this.Margins = new System.Drawing.Printing.Margins(50, 49, 90, 30);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).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.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell16;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
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 xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
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.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.CalculatedField fieldArtDerLeistung;
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRTable xrTable4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
private DevExpress.XtraReports.UI.XRTableCell cellPreisGesamt;
private DevExpress.XtraReports.UI.XRTableCell cellStundenGesamt;
private DevExpress.XtraReports.UI.XRTableCell cellKmGesamt;
private DevExpress.XtraReports.UI.CalculatedField fieldStunden;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell21;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell22;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.XRTableCell cellStundenInklFac;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell25;
private DevExpress.XtraReports.UI.XRLabel lblZiele;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
}
}

View File

@@ -0,0 +1,156 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using DevExpress.Entity.Model.Metadata;
using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
using LebenshilfeFrankfurtOder.Utils;
namespace LebenshilfeFrankfurtOder
{
public partial class LeistungsnachweisAbw : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
{
public LeistungsnachweisAbw()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
SetzeDaten(pRO);
double minutes = 0;
foreach (var sd in pRO.Services)
{
minutes += sd.Minutes;
sd.GoalList = "";
//var service = DAOFactory.GenericDAO.LoadByID<ServiceRecord>(sd.ServiceRecordOid);
//foreach (var v2o in service.ValueList)
//{
// if (!String.IsNullOrEmpty(v2o.Entry.Abbreviation))
// {
// if (sd.GoalList.Length > 0)
// {
// sd.GoalList += ", ";
// }
// sd.GoalList += v2o.Entry.Abbreviation;
// }
//}
}
cellStundenGesamt.Text = String.Format("{0:0.00}", minutes / 60);
cellStundenInklFac.Text = String.Format("{0:0.00}", (minutes / 60) / 0.7);
bindingSource1.DataSource = pRO;
}
public void SetzeDaten(ServicesOverviewRO pRO)
{
if (pRO.CostBearer2SupportConceptList != null && pRO.CostBearer2SupportConceptList.Count > 0)
{
var c2s = pRO.CostBearer2SupportConceptList[0];
var sc = c2s.SupportConcept;
var goals = new List<ValueListEntryDC>();
foreach (var v2o in sc.ValueList)
{
if (v2o.Entry.Type == ValueListEntryType.SupportConceptGoalCategoryType ||
v2o.Entry.Type == ValueListEntryType.SupportConceptIndividualGoalCategoryType)
{
//if (v2o.Entry.ParentOid.HasValue)
//{
// var parent = DAOFactory.GenericDAO.LoadByID<ValueListEntry>(v2o.Entry.ParentOid.Value);
// goals.Add(MapperFactory.ValueListEntryDC_ValueListEntry.MapToNewDC(parent));
//}
//Ziel
var dc = MapperFactory.ValueListEntryDC_ValueListEntry.MapToNewDC(v2o.Entry);
goals.Add(dc);
}
else if (v2o.Entry.Type == ValueListEntryType.SupportConceptGoalType ||
v2o.Entry.Type == ValueListEntryType.SupportConceptIndividualGoalType)
{
//Maßnahme
if (v2o.Entry.ParentOid.HasValue)
{
var parent = DAOFactory.GenericDAO.LoadByID<ValueListEntry>(v2o.Entry.ParentOid.Value);
goals.Add(MapperFactory.ValueListEntryDC_ValueListEntry.MapToNewDC(parent));
}
//var dc = MapperFactory.ValueListEntryDC_ValueListEntry.MapToNewDC(v2o.Entry);
//goals.Add(dc);
}
}
StringBuilder sb = new StringBuilder();
foreach (var goal in goals.OrderBy(g => g.DisplayName))
{
if (sb.Length > 0)
{
sb.AppendLine();
}
sb.AppendLine(goal.DisplayName);
}
lblZiele.Text = sb.ToString();
}
// var c2s = pRO.CostBearer2SupportConceptList[0];
// Customer c = c2s.SupportConcept.Customer;
// if (c.Pflegegrad.HasValue && c.Pflegegrad.Value != Pflegegrad.KeinGrad &&
// c.Pflegegrad.Value != Pflegegrad.PflegegradBeantragt)
// {
// lblPflegegrad.Text = EnumTranslations.PflegegradTranslations[c.Pflegegrad].Replace("Pflegegrad", "")
// .Trim();
// }
// else
// {
// lblPflegegrad.Text = "";
// }
// String kvnummer = ""; // Oid = 4
// foreach (var vv in c.VarFieldValueList)
// {
// var varFieldValue =
// BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
// if (varFieldValue != null)
// {
// if (vv.VarFieldDefOid.Value == 4)
// {
// kvnummer = varFieldValue.ToString();
// }
// }
// }
// lblKvNummer.Text = kvnummer;
//}
}
}
}

View File

@@ -0,0 +1,123 @@
<?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>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>21, 17</value>
</metadata>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,273 @@
using System;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace LebenshilfeFrankfurtOder
{
[IDSpecificClass(Identifiers = new string[] { "RechnungEinzelfallhilfe" })]
public partial class RechnungEinzelfallhilfe : XtraReport, IBeWoReport<ServiceInvoiceRO>
{
public RechnungEinzelfallhilfe()
{
this.InitializeComponent();
}
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
CheckLastschriftAndAnschrift(pRO);
if (!String.IsNullOrEmpty(pRO.SenderContactPersonMail))
{
pRO.SenderContactPersonMail = pRO.SenderContactPersonMail.Replace("E-Mail:", "").Trim();
}
if (!String.IsNullOrEmpty(pRO.SenderContactPersonPhone))
{
pRO.SenderContactPersonPhone = pRO.SenderContactPersonPhone.Replace("Tel.:", "").Trim();
}
if (!String.IsNullOrEmpty(pRO.SenderContactPersonFax))
{
pRO.SenderContactPersonFax = pRO.SenderContactPersonFax.Replace("Fax:", "").Trim();
}
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation))
{
if (!pRO.RecipientOrganisation.Contains("Selbstzahler") && pRO.InvoiceBase.InvoiceId != "RechnungFudPrivat")
{
sb.AppendLine(pRO.RecipientOrganisation);
}
}
if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1))
{
sb.AppendLine(pRO.RecipientAddressLine1);
}
else if (pRO.InvoiceBase != null && !String.IsNullOrEmpty(pRO.InvoiceBase.RecipientAddressLine1))
{
sb.AppendLine(pRO.InvoiceBase.RecipientAddressLine1);
}
else
{
if (String.IsNullOrEmpty(pRO.RecipientContactPerson))
{
pRO.RecipientContactPerson = GetContactPerson(pRO);
}
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
{
sb.AppendLine(pRO.RecipientContactPerson);
}
}
if (!String.IsNullOrEmpty(pRO.RecipientStreet))
{
sb.AppendLine(pRO.RecipientStreet);
}
if (!String.IsNullOrEmpty(pRO.RecipientPostCodeAndTown))
{
sb.AppendLine(pRO.RecipientPostCodeAndTown);
}
lblAdresse.Text = sb.ToString();
pRO.Notice = "";
cellFaelligkeit.Text = String.Format("{0:dd.MM.yyyy}", pRO.InvoiceDateTime.Value.AddDays(14));
if (pRO.ServiceInvoicePeriods != null)
{
foreach (var sip in pRO.ServiceInvoicePeriods)
{
int count = 0;
int countAbwesend = 0;
decimal tagessatz = 0;
String schluessel = "";
if (sip.ServiceInvoiceItems != null)
{
foreach (var ii in sip.ServiceInvoiceItems)
{
if (!String.IsNullOrWhiteSpace(ii.ServiceDescription))
{
schluessel = ii.ServiceDescription;
}
if (ii.UnitDescription == "I")
{
count++;
}
else
{
if (ii.AmountPerUnit.HasValue && ii.AmountPerUnit > 0)
{
countAbwesend++;
}
}
if (ii.AmountPerUnit.HasValue && ii.AmountPerUnit.Value > 0)
{
tagessatz = ii.AmountPerUnit.Value;
}
}
}
sip.ApprovedHours = count + countAbwesend;
sip.ApprovedAmount = String.Format("{0:c}", tagessatz);
sip.NotBillableString = schluessel;
}
}
if (pRO.InvoiceBase != null && pRO.InvoiceBase.InvoiceId == "RechnungFudPrivat")
{
pRO.OrganisationDebitorNumber = pRO.DebitorNumber;
}
else
{
pRO.OrganisationDebitorNumber = GetKundennummer(pRO);
}
this.bindingSource1.DataSource = pRO;
}
private string GetContactPerson(ServiceInvoiceRO pRo)
{
String ap = "";
if (pRo.ServiceInvoicePeriods != null)
{
foreach (var sip in pRo.ServiceInvoicePeriods)
{
if (sip.CostBearer2SupportConcept != null &&
sip.CostBearer2SupportConcept.CostBearerContactPerson != null)
{
ap = "";
if (sip.CostBearer2SupportConcept.CostBearerContactPerson.Sex.HasValue &&
sip.CostBearer2SupportConcept.CostBearerContactPerson.Sex.Value == Sex.Male)
{
ap = "Herr ";
}
else if (sip.CostBearer2SupportConcept.CostBearerContactPerson.Sex.HasValue &&
sip.CostBearer2SupportConcept.CostBearerContactPerson.Sex.Value == Sex.Female)
{
ap = "Frau ";
}
ap += sip.CostBearer2SupportConcept.CostBearerContactPerson.FirstName;
if (ap.Length > 0)
{
ap += " ";
}
ap += sip.CostBearer2SupportConcept.CostBearerContactPerson.LastName;
}
}
}
return ap;
}
private string GetKundennummer(ServiceInvoiceRO pRo)
{
if (pRo.ServiceInvoicePeriods != null)
{
foreach (var sip in pRo.ServiceInvoicePeriods)
{
if (sip.CostBearer2SupportConcept != null)
{
if (!String.IsNullOrEmpty(sip.CostBearer2SupportConcept.CostBearer.Organisation.DebitorNumber))
{
return sip.CostBearer2SupportConcept.CostBearer.Organisation.DebitorNumber;
}
}
}
}
return "";
}
private void CheckLastschriftAndAnschrift(ServiceInvoiceRO pRO)
{
Customer c = null;
if (pRO.CustomerOid.HasValue)
{
c = DAOFactory.GenericDAO.LoadByID<Customer>(pRO.CustomerOid.Value);
}
if (c == null)
{
if (pRO.ServiceInvoicePeriods.Count > 0)
{
var c2s = pRO.ServiceInvoicePeriods[0].CostBearer2SupportConcept;
c = c2s.SupportConcept.Customer;
}
}
bool lastschrift = false;
String mandatsnr = pRO.DebitorNumber;
if (c != null)
{
foreach (var vv in c.VarFieldValueList)
{
if (vv.VarFieldDefOid.Value == 1)
{
var varFieldValue = BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
if (varFieldValue != null)
{
var isLastschrift = varFieldValue.ToString();
if (!String.IsNullOrEmpty(isLastschrift) && isLastschrift == "True")
{
lastschrift = true;
}
}
}
if (vv.VarFieldDefOid.Value == 2)
{
var varFieldValue = BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
if (varFieldValue != null)
{
mandatsnr = varFieldValue.ToString();
}
}
}
//if (c.Person.InvoiceAddress != null && !String.IsNullOrEmpty(c.Person.InvoiceAddress.AddressLine1))
//{
// pRO.RecipientAddressLine1 = c.Person.InvoiceAddress.AddressLine1;
//}
}
if (lastschrift)
{
lblBezahlungText.Text =
String.Format("Der Rechnungsbetrag wird von dem uns bekannten Konto abgezogen. Mandatsnummer: {0}",
mandatsnr);
}
if (!String.IsNullOrEmpty(pRO.Notice))
{
lblBezahlungText.Text = String.Format("{0}\n\n{1}", pRO.Notice, lblBezahlungText.Text);
}
}
}
}

View File

@@ -0,0 +1,214 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="xrPictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAK4AAACjCAIAAACc8LJnAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAd
hwAAHYcBj+XxZQAAE69JREFUeF7tnQuUTdUfxxvvvBljNJUSTXmG3lSkRSkqoaiQ3o+lt96hSEpW7+it
sqSn9CDFoIWKKI8iqzE0vWRk5DnGzP7/ft3f/7r3N/eeu89+nHNmnM/6Lmsw97f3Oed7z9l7n71/+yAR
EvIfoRVCiNAKJpk6VeTn08+bN6PKEaEVFCktRQHTp4uff6a/jhwpfv31v/8W4oILUOWI0AquKSgQS5aI
nj3FQQeJQYNE48bikEPECSfgX0EdOoixY8XFF+PPTZqITZvoU8EntEJq4OteUkJ/ggk6d6arLqNPPqEg
wSe0Qgry8kT37nhRs7PjrrGkTj1VFBZSqIATWiEFjz/Or65bXXsthQo4oRVSoG8F0MyZFC3IhFZIQadO
/LoqqF27ctB+DK2QgmOP5ddVTW3bYtcjyIRWSIEpK4AGDKCYwSS0QgoMWuHQQ8XChRQ2gIRWcOLPP0Vm
Jr+iOqpWTSxdSsGDRmgFJ2bM4NdSX+++S8GDRmgFJzIy+IXUV4MGYvRoen8RKEIrJOXvv0WlSvxCmtKa
NVRKcAitkJQ33uDXz6BWrsQ3GoEitEJSrrmGXz+zeuUVKigghFZISteu/OKZVd264ptvqKwgEFohMdBQ
aNKEXzzj6tFDbN9OJfpOoK0AT9MXXhDnniuKi0VREf2jNxQUiKZN+ZWzoVdfpRJ9J6BWKCzEoZhnnqHz
1aKFOPxwsW0b/a83WG02RlW5svjoIyrRX4JoBehzw52zalVRu3bcWbvlFvoFb9i61WJnMlbZ2eK116hQ
HwmiFaZN4ycrqq++ot/xhjPP5BWwpMxM8fHHVKhfBMgK0CCYMUMcf7yoWZOfqagOPVSsW0e/7wGzZom0
NF4HS4ID37ePyvWFoFjh339pCmFKNWwo/vmHPuUBb73FK2BPkyaJnTupXO8JhBVWrxbnncfPi4PGj6cP
egB8UydMEPXri4MPxr4MtFegDcvqY1B9+ohffqGiPcZ/K0yc6LoH37Wrz/fSKVPEpZfyWpnS4MFi714q
yEv8tMKuXaJVK+wpsHMho02bfB7D//13vEOAzj4bO4SsepqaP59K8RLfrPDdd+Lkk/kpcCW4XU+evH9h
mo8sWiTefFOMGiVOP13UqiVatsQpKqy2rvTYYxTZS/yxwtNPY+uPHb+aMjLEnXdS2CCQm4tDYYcdxuvp
So0bi/vuo4Ce4YMVhg/XPVNlNXcuBQ8I0AuFWtWtK448Mq6e8oJO7CuviN27KaAHeGqF4mJx7726N8+E
6tEjWK//i4rETz+JDRvEZZfxqrrShx9SQA/wzgp5eaJvX36oBhXAeUHAVVfxerpSzZpixQoKZRuPrLBj
h7jwQn6cZjVwIJUVKPLzxdFH86q60oQJFMo2Xlhh5kx+eDZUr15Alx9Bz1Cnt3nEER69oLduhT/+EK1b
88OzpC5dxJ49VG6ggG+2zkvOTp3wNNrGrhX+/lu0acMPzJ7gGRRYHnuM19aVLrmE4tjDohUWLsQxVHZI
VtWrVxDXF0SADs7ateprrapXFz/+SKEsYcsKhYXmBw9k5OVLSwVuv51XWF5ZWfvnO23caL5hZMUKy5fj
/DN2JN4o4GkM9u7FTF6szvJ66CGKc8IJ2E01i3krgA9srC+T1PDhVI3AMmAAr7O86tTBPvO8eXjHffZZ
CmgKw1aAx2G3bvwAvFSTJuLLL6kywWTbNnHccbzabtW1Kw7VmMWkFdav9+25EKuWLak+poh25KDhlpNj
oDkyZQqvs1vdey+FMogxK+Tni/PP5zX2RWlp2HMxxZw52OwfMwanTnXsiPHhXzTZvVscdVRcnd2qRQt8
oWMWY1bwbBxJRqNHU600WbAA3y6y4G+9Rf+rg8Osbkl99hmFMoUBK0CP+fLLvZsZnFJjx+KkWU3gi7tk
CU5pZMFB0Hb7+mv6NWXgSd+8OY/sSnCjMju0asAKS5fyWvqldu1wSdOWLVQxZVatQnOz4LFq2FB8+y39
sjK9e/OwbtWhA7bPTKFrBXhi9evHq+i94LRCW0y/UZ2bizcVtioroW6/nT6ijL4VQJMnUzR9tKxQWopZ
a1nlPFb79uKddwyMN+fl4cS4KlV4/GRq2xbfsOgAbQ754pIJ2o8PPojDTfrD0lpW8GaBqYNq1TKwvqyo
CGfMKsy1PPlkXFepg6n0b5UqiSefpJjKqFsBWlXp6bxOngnu4c8/rzvdefNmfByceCIPLq+ePSmUGjqv
JGIFX4n77xe//UZh1VC0wt696hM49QU+ePxxqoka+/bhzFj9ZBpVq4ply3DQKT9fvPee6+dU//5OC0Rd
qVo1vEnroGIF8IFzA9uq+vTRncfx11/inHN4WGXFrrZesICKkCeyn4y+HnmEAiqjYgU4YFYPbwQdengi
avYVc3JwzTKLbEodO1Ip8mjOg40K7pRvv00x1XBthcJC6/mqEgqun/4GbatX4z5PLLJBKSzOWbuWB1FT
djYmn1i0SL1f49oKL7/MK2FVTZuKe+5B6U/u272bXiLYEzx63FJcbGzMvlEjbLuMGUOR3eLaCsccw2tg
T9CsmzGDytVkxw7aA86qXnyRinOF5rIZJuUJni6sUFKCI3qevWvo3l13DCdKUZG46CIe34ayslSmUWnO
gGXywgqLF/NSLQncdsUV+Fw3AvR37OVCKKsffqBy5QH3wL2dxVEW2FFt2M2FFaAXx0q1ofR0XKBukPnz
eRH2BFc0//8bEbvCyPuIqNSma8haYdYsY4MhDsrIMJxcB3zQrh0vxap69aKi5Vm5Umvua1m1bKmSrEPK
CqWlXrx+rF/fwJvfWPbswQcNK8W26tSh0uW5/nrDCSJr18aYbpGyggeLHuvVM591Rn8KoYIOPlilSzl0
KI+jqRYtXHe/paxgexJz9ermpylDf8eD3mNZ1aqlknBv+nQeR1/wTXBFaits3Ih73LBiDKpGDStJjl9/
nRfkjRQeEAC4x3ib5sorKbgkqa1wwQW8DFOCTmP79sYGkWIpKvJ0KCxW8NQfNUolBYypF9ZRNW/uLkF6
CivAY09mdpeaoK6WuO8+XpbHUkixBr1QtbyFDnK1e10KK0ydyqObEvQb166lUoxjdihXQVWq4NQet5x0
Eo+jqaZNKbIMTlaA26xmakUHXX01lWID360AgseEW957jwfRFHzf5Ec/nawwZw4PbUTwNB0xQuVpKsmC
BV6MhqXUjTdSfeRZvtzAxFemSy+l4ClxssLZZ/O4RnTHHRTfEsZvs2pSW/RuPEnNYYfJZoxOagX4vI0U
51Az/RkoDhQX40IRVqhf+v57qpU8NmYKSr7TSWqF0aN5RCNSe6Mvz6pVvEQfJX9zjjJhAg+ir379KLgz
Sa2gMyU8mQYNouD2gHY7K9RHKWwqOmYMD6IveGLKkNgK0Mc1+4IE1KSJ3UdDBOMDNTpyu/x+61bM0siC
6Cs7W2o9cWIrTJrEw2mqenXsKXlAXh7uL8VK90Xp6a5fRvz2G26QUaMGD6Wv225LnTk8sRWMz2nWXMHi
iiD0IGrVUlzEuH27rTnZKTOHJ7DChg34JWaBdFS3LrbmvGHtWiuZ5d3quOOoPm7JyeGhTEnFCtDIZ1F0
BD6Aw/MMeCjCo5HVwXspZ2ax92JdxQq9evEoOrrhBgrrGUF4QDz1FFXGLfbyII8YQUUkI4EVDDa74LG3
axeF9YwgWGHsWKqMW+xZoXdvKiIZ3Ap79hhYXxyVwUxp8kycyKvhvfr3p8q4xex811ilnNTErTB7Ng+h
rHbt/EmzW1Liz6rOWHXrRpVxi43RxoiefpqKSAa3gsEpwqYy5ikATaR69Xh9vFFaGj5hO3emmrjFnhWg
V+j8hizOCvB0yMriIdR0zjnmM8+64rTTeJW8ETyeAOV0MPasADr2WColIXFW2LmTf1hZ06ZRTL/49FPD
oyMyuvFG3SSrFc0K3btTQH8ZN45XzJ46dMD0qvo7ZVu1Qo8eVEpC4qywcCH/sJqM56dXY+VK85OCEqp1
a2N7O1m1woABVEpC4qzw3HP8wwqC1kZwtmoxO1yWUJUq6aZGi8WqFWrXxo1Qk2HeCh5seCXP5MnmZ5TH
qlEjvPcYBJo4rAizWryYCiqLYStkZor336doAWHOHHHKKbyepjRsGJViCoOp48qqTh2nBQeGrdCmjcqK
QdtAJ9n4niVwP3jzTfMHa3UvxubNnZLFG7aCfnpZS8C3QS0ddbVqOJFnxIi4haPQRbK0BbZVK7i4K0Bn
g33YlaABZXy/CrP88AMmZWraVOo9C/QPFyzYPwnv5ZdxQgp0Sbp1szV6tmyZ3S7P8cdTQQmJs8Lw4fzD
rqS2iNgXtm3D98gOi6hatRKff06/HGXFCvNJIGL59lteDbM66ywqKCFxVtBMa1iOrBChqAiHUkBHHIEL
NGrWFCNH4pxjkKnkcK6YO5efUrNKT8cUCcmIs8LAgfzDriQ53z6YgC0UVrCY5frr+Sk1q6uuctq1IM4K
o0bxD7vSLbdQnBA1bKw9iZVzUzfOCpp5LgPeZgw4OTnm154wOWd9iLOCTmcSOl0Og5ohKbG9mAdaQs4v
SuKs8OWX/PPyUsh/HxJlyRKVHYtcKeXAqLG7QmgFHWy/NoNHT9m+MSPOCjrvQkIrqFFSghNebCyOi1WD
BlScA3FW0Jm6ElpBDfiysjNpQzfdRMU5EFrBTwoLreQzYYJWiMzOyaEVfGPHDhwJZqfRhiSzQsVZYd8+
9RUEoRVcsWePOP98fg4tadYsKtSZOCsAl1zCA0lq4ECKEJKS3bvVz7MrQWsR+pCSk2+5FZRTI4d3BUny
8iyuhmMaOZIKlYFbQXmhXGgFGTZsEOedx0+dPT3xBJUrA7fCihW4owGLKKPQCil5913RrBk/b/bUoUPq
pDuxcCsALVvyoDLKzDS2FqDiAY3EIUPszr0uq7vvptIlSWCFV1/lQSU1bhxFCGFcdx0/V7YFtvvzTypd
kgRWyM3lcSU1dChFCImwaxeukmjb1rvNOaPKyKA6yJPACps2icaNeWgZVa6sslV7BUZzVpiOjG0jpjzQ
dNddFOGApaRErFuHOuMMfnK8lDErXHklDy2p9HTx3XcU5MDknXf4OfFFCttxJbZCQYH65KpevXxIxeU7
W7bg+O4VV1h/3Syj7GzXbUYgsRW++goXVbEC5OW8eLuCUVqK2yr1789Pgvdq1Ag3KZw3TzHnS2IrAC+9
xEtypauvxunkFZvt23HZpAdvmVMKTAB3ggcfpIqpkdQK+vvSv/AChap4LFmCm7VDL5Edsl8y0j5LaoV9
+3R3LIHO9IUXBijthj47d+Ly008/DUSDIFZGcn0ktQLw/vu8SAWddJJYupQClmvWrMEk3uzofFeVKrgX
jZHvm5MVNm/mBaupalWcW6eZuswv1q/H5JennupDvreUysrCV52mcLLC3r0m36yfcooYPx7b2xFyc3Pp
p0ACTcIpU3CoLQj7FCbTPfdQbY3gZAUAvspmt7AZMgRH4v6LHLi7xL//4qrq227DlMRBdkBEdeo4rYVV
IIUVgOef55XQFDwvBg8Wn3xC8X3nl1/ENdfgOLHa23lf1Lw5vkA2S2orFBTganlWFX1VqoRJTK67Dlda
/v47lWUb6AJAcdDeho7A6NGY7QbqEMBGgLN69sQJEPrpQhmprQB88QWvjVk1biz69sWdVebNoxLNMn8+
Br//frzzQ3EZGdbXLFuVpde/UlYAA3ozY79yZWwV33qraN8eX4nNno0jqfA9BkF3Jvpo3LaN/nHjRmx5
RH4GPfkkfjYnB4eB4WEfFYRlBZVfOSfn1UHKCsDq1brZFzR15JE4tnr66ajoQ71Bg0BsGuaZunTBBVWW
kLUC8Mcf+GRllQvljeCJdvPNeDu0hwsrAOPGVaibbTkSNHRs484KgL+Tcw5A1a2L48olJXT+7eHaCosX
i/r1eXVDWRK0ed1ubK2MaysAvXvzGocyrrQ0fHHjZfpIFSvA/YrVO5RZQdd90SI6256hYoXSUtwHJmw/
WlKbNv7swKZihQj2Nlk4kFWtmpg5k86wx6hbobgY07eyIwmlpqpVcTef1q39XGyobgVg/ny7u5ocOLrh
BvHjj170GB3QsgIQyTXHDiyUpGrUwOkgq1ebf82ogK4VgKIip40VQjno7rv92bY7IQasAHz+OS6RY8cZ
ykEPPIC9sEAtIzNjBWDWLH60ocqqY0fcq6hPnyCuJTRmhdJSnCMEzR928KGi6tQJ1wFAz8vf5mEyjFkh
wtatOFyamcnPwgGrvn1xK6KGDXEuZ0EBnaVgYtgKER591HpK+4CrVStcPwM3ALhZrlvn/1ZEMlixApCb
a30npMBqyBBcQlLusGWFCPCFsLqHZnAEz0S4DUydSneC8ohdKwDQlrzjDn7iKpLS0nCntunT6XjLL9at
EGH2bNG5Mw6zs/NY3pWVJaZNo2Ms73hkhQhr1mDeLnY2y6OGDsU7wcMPV6ispZ5aAYDn6PLlOOBa7qY7
wIOgQQNMNDB3biBeGRjHaytEWbYMc5eMGxf0p0a/fphMCDRzJnaLKnBWId+sEGXpUjFxIt5sBwzADNUg
31dbNGuGi0/g218BGoPy+G+Fsvz0E94wIsMSw4fjz2PHKuajT6nLLsNl1BF98AGWBdqyhWpyQBFEK0SJ
7aDDzx99JCZN2q9hw/DtzsCBYsQITEIDP190EZrmxBP3/06klw/6+mv864wZmEMDfli1iv49JEqgrRDi
JaEVQojQCiH/IcT/AAprFzch0QTwAAAAAElFTkSuQmCC
</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

@@ -10,7 +10,7 @@ using DevExpress.XtraReports.UI;
namespace LebenshilfeFrankfurtOder
{
[IDSpecificClass(Identifier = "RechnungFud")]
[IDSpecificClass(Identifiers = new string[] { "RechnungFud", "RechnungFudPrivat" })]
public partial class RechnungFud : XtraReport, IBeWoReport<ServiceInvoiceRO>
{
public RechnungFud()
@@ -20,6 +20,7 @@ namespace LebenshilfeFrankfurtOder
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
CheckLastschriftAndAnschrift(pRO);
if (!String.IsNullOrEmpty(pRO.SenderContactPersonMail))
@@ -38,9 +39,13 @@ namespace LebenshilfeFrankfurtOder
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation))
{
sb.AppendLine(pRO.RecipientOrganisation);
if (!pRO.RecipientOrganisation.Contains("Selbstzahler") && pRO.InvoiceBase.InvoiceId != "RechnungFudPrivat")
{
sb.AppendLine(pRO.RecipientOrganisation);
}
}
if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1))
@@ -123,7 +128,15 @@ namespace LebenshilfeFrankfurtOder
}
pRO.OrganisationDebitorNumber = GetKundennummer(pRO);
if (pRO.InvoiceBase != null && pRO.InvoiceBase.InvoiceId == "RechnungFudPrivat")
{
pRO.OrganisationDebitorNumber = pRO.DebitorNumber;
}
else
{
pRO.OrganisationDebitorNumber = GetKundennummer(pRO);
}
this.bindingSource1.DataSource = pRO;
}

View File

@@ -14,28 +14,53 @@ namespace LebenshilfeFrankfurtOder.Statistics
{
private bool uebertragbar = true;
public override ServiceRecordStatisticsInfoDC GetServiceRecordStatisticInfo(long costBearer2SupportConceptOid, DateTime statisticsDate)
private bool containsAbw = false;
public override ServiceRecordStatisticsInfoDC GetServiceRecordStatisticInfo(long costBearer2SupportConceptOid, DateTime statisticsDate)
{
this.uebertragbar = true;
containsAbw = false;
var stats = CreateSupportConceptStatisticsImpl(costBearer2SupportConceptOid, statisticsDate);
var dc = new ServiceRecordStatisticsInfoDC();
dc.Header = new string[4];
dc.Header[0] = "Bewilligungszeitraum:";
dc.Header[1] = "FLS Gesamtstunden:";
dc.Header[2] = "Bewilligt pro Monat gesamt:";
dc.Header[3] = "davon geleistet diesen Monat:";
var dc = new ServiceRecordStatisticsInfoDC();
dc.ForegroundColor = new string[4];
dc.ForegroundColor[0] = "#FF2B508B";
dc.ForegroundColor[1] = "#FF2B508B";
dc.ForegroundColor[2] = "#FF2B508B";
dc.ForegroundColor[3] = "#FF2B508B";
if (!containsAbw)
{
dc.Header = new string[4];
dc.Header[0] = "Bewilligungszeitraum:";
dc.Header[1] = "FLS Gesamtstunden:";
dc.Header[2] = "Bewilligt pro Monat gesamt:";
dc.Header[3] = "davon geleistet diesen Monat:";
dc.PeriodStatisticInfos = new List<ServiceRecordPeriodStatisticsInfoDC>();
dc.ForegroundColor = new string[4];
dc.ForegroundColor[0] = "#FF2B508B";
dc.ForegroundColor[1] = "#FF2B508B";
dc.ForegroundColor[2] = "#FF2B508B";
dc.ForegroundColor[3] = "#FF2B508B";
}
else
{
dc.Header = new string[6];
dc.Header[0] = "Bewilligungszeitraum:";
dc.Header[1] = "FLS Gesamt lt. Bescheid:";
dc.Header[2] = "davon direkte Std.:";
dc.Header[3] = "FLS pro Monat lt. Bescheid:";
dc.Header[4] = "FLS pro Monat direkte Std.:";
dc.Header[5] = "davon direkt diesen Monat geleistet:";
dc.ForegroundColor = new string[6];
dc.ForegroundColor[0] = "#FF2B508B";
dc.ForegroundColor[1] = "#FF2B508B";
dc.ForegroundColor[2] = "#FF2B508B";
dc.ForegroundColor[3] = "#FF2B508B";
dc.ForegroundColor[4] = "#FF2B508B";
dc.ForegroundColor[5] = "#FF2B508B";
}
dc.PeriodStatisticInfos = new List<ServiceRecordPeriodStatisticsInfoDC>();
if (stats != null)
@@ -73,14 +98,74 @@ namespace LebenshilfeFrankfurtOder.Statistics
public ServiceRecordPeriodStatisticsInfoDC CreateServiceRecordPeriodStatisticsInfo(SupportConceptStatisticsDC stats, SupportConceptPeriodStatisticsDC periodStats, DateTime statisticsDate)
{
var dc = CreateDefaultServiceRecordPeriodStatisticsInfo(4);
ServiceRecordPeriodStatisticsInfoDC dc = null;
if (!containsAbw)
{
dc = CreateDefaultServiceRecordPeriodStatisticsInfo(4);
if (periodStats.SupportConceptApprovalPeriod != null)
{
if (periodStats.SupportConceptApprovalPeriod.ServiceCategory != null)
{
if (periodStats.SupportConceptApprovalPeriod.StartDate.HasValue &&
periodStats.SupportConceptApprovalPeriod.EndDate.HasValue &&
periodStats.SupportConceptApprovalPeriod.StartDate.Value.Date ==
stats.StatisticsStartDate.Date &&
periodStats.SupportConceptApprovalPeriod.EndDate.Value.Date == stats.StatisticsEndDate.Date)
{
dc.LeftValues[0] = periodStats.SupportConceptApprovalPeriod.ServiceCategory.Name;
}
else
{
dc.LeftValues[0] = String.Format("{0}: {1:dd.MM.yy} - {2:dd.MM.yy}",
periodStats.SupportConceptApprovalPeriod.ServiceCategory.Name,
periodStats.SupportConceptApprovalPeriod.StartDate,
periodStats.SupportConceptApprovalPeriod.EndDate);
}
}
else
{
dc.LeftValues[0] = String.Format("{0:dd.MM.yy} - {1:dd.MM.yy}",
periodStats.SupportConceptApprovalPeriod.StartDate,
periodStats.SupportConceptApprovalPeriod.EndDate);
}
}
dc.LeftValues[1] = " ";
dc.RightValues[1] = String.Format("{0:0.00}", periodStats.MinutesApprovedTotal / 60);
dc.LeftValues[2] = " ";
dc.RightValues[2] = String.Format("{0:0.00}", periodStats.MinutesApprovedPerMonth / 60);
dc.LeftValues[3] = " ";
dc.RightValues[3] = String.Format("{0:0.00}", periodStats.MinutesProvidedThisMonth / 60);
if (periodStats.MinutesProvidedThisMonth > 0 && periodStats.MinutesApprovedPerMonth > 0)
{
if (periodStats.MinutesProvidedThisMonth > periodStats.MinutesApprovedPerMonth)
{
dc.RightValueColors[3] = "#FFFF0000";
}
else if (periodStats.MinutesProvidedThisMonth / periodStats.MinutesApprovedPerMonth > 0.8m)
{
dc.RightValueColors[3] = "#FFFFFF00";
}
}
return dc;
}
dc = CreateDefaultServiceRecordPeriodStatisticsInfo(6);
if (periodStats.SupportConceptApprovalPeriod != null)
{
if (periodStats.SupportConceptApprovalPeriod.ServiceCategory != null)
{
if (periodStats.SupportConceptApprovalPeriod.StartDate.HasValue && periodStats.SupportConceptApprovalPeriod.EndDate.HasValue &&
periodStats.SupportConceptApprovalPeriod.StartDate.Value.Date == stats.StatisticsStartDate.Date &&
if (periodStats.SupportConceptApprovalPeriod.StartDate.HasValue &&
periodStats.SupportConceptApprovalPeriod.EndDate.HasValue &&
periodStats.SupportConceptApprovalPeriod.StartDate.Value.Date ==
stats.StatisticsStartDate.Date &&
periodStats.SupportConceptApprovalPeriod.EndDate.Value.Date == stats.StatisticsEndDate.Date)
{
dc.LeftValues[0] = periodStats.SupportConceptApprovalPeriod.ServiceCategory.Name;
@@ -88,37 +173,49 @@ namespace LebenshilfeFrankfurtOder.Statistics
else
{
dc.LeftValues[0] = String.Format("{0}: {1:dd.MM.yy} - {2:dd.MM.yy}",
periodStats.SupportConceptApprovalPeriod.ServiceCategory.Name,
periodStats.SupportConceptApprovalPeriod.StartDate,
periodStats.SupportConceptApprovalPeriod.EndDate);
periodStats.SupportConceptApprovalPeriod.ServiceCategory.Name,
periodStats.SupportConceptApprovalPeriod.StartDate,
periodStats.SupportConceptApprovalPeriod.EndDate);
}
}
else
{
dc.LeftValues[0] = String.Format("{0:dd.MM.yy} - {1:dd.MM.yy}",
periodStats.SupportConceptApprovalPeriod.StartDate,
periodStats.SupportConceptApprovalPeriod.EndDate);
periodStats.SupportConceptApprovalPeriod.StartDate,
periodStats.SupportConceptApprovalPeriod.EndDate);
}
}
dc.LeftValues[1] = " ";
dc.RightValues[1] = String.Format("{0:0.00}", periodStats.MinutesApprovedTotal / 60);
//dc.Header[0] = "Bewilligungszeitraum:";
//dc.Header[1] = "FLS Gesamt lt. Bescheid:";
//dc.Header[2] = "davon direkte Std.:";
//dc.Header[3] = "FLS pro Monat lt. Bescheid:";
//dc.Header[4] = "FLS pro Monat direkte Std.:";
//dc.Header[5] = "davon direkt diesen Monat geleistet:";
dc.LeftValues[1] = String.Format("{0:0.00}", periodStats.MinutesApprovedTotal / 60);
dc.RightValues[1] = " ";
dc.LeftValues[2] = " ";
dc.RightValues[2] = String.Format("{0:0.00}", periodStats.MinutesApprovedPerMonth / 60);
dc.LeftValues[2] = String.Format("{0:0.00}", (periodStats.MinutesApprovedTotal / 60) * 0.7m);
dc.RightValues[2] = String.Format("indirekte Std. {0:0.00}", (periodStats.MinutesApprovedTotal / 60) * 0.3m);
dc.LeftValues[3] = " ";
dc.RightValues[3] = String.Format("{0:0.00}", periodStats.MinutesProvidedThisMonth / 60);
dc.LeftValues[3] = String.Format("{0:0.00}", periodStats.MinutesApprovedPerMonth / 60);
dc.RightValues[3] = " ";
dc.LeftValues[4] = String.Format("{0:0.00}", (periodStats.MinutesApprovedPerMonth / 60) * 0.7m);
dc.RightValues[4] = String.Format("indirekte Std. {0:0.00}", (periodStats.MinutesApprovedPerMonth / 60) * 0.3m);
dc.LeftValues[5] = String.Format("{0:0.00}", periodStats.MinutesProvidedThisMonth / 60);
dc.RightValues[5] = " ";
if (periodStats.MinutesProvidedThisMonth > 0 && periodStats.MinutesApprovedPerMonth > 0)
{
if (periodStats.MinutesProvidedThisMonth > periodStats.MinutesApprovedPerMonth)
{
dc.RightValueColors[3] = "#FFFF0000";
dc.LeftValueColors[3] = "#FFFF0000";
}
else if (periodStats.MinutesProvidedThisMonth / periodStats.MinutesApprovedPerMonth > 0.8m)
{
dc.RightValueColors[3] = "#FFFFFF00";
dc.LeftValueColors[3] = "#FFFFFF00";
}
}
@@ -129,5 +226,18 @@ namespace LebenshilfeFrankfurtOder.Statistics
{
return null;
}
}
protected override SupportConceptPeriodStatisticsDC CreatePeriodStatisticsDC(SupportConceptCostBearerRelDC relDc,
SupportConceptApprovalPeriodDC periodDC, Calculations calc, DateTime statisticsDate)
{
var periodDc = base.CreatePeriodStatisticsDC(relDc, periodDC, calc, statisticsDate);
if (periodDC.ServiceCategory != null && periodDC.ServiceCategory.Name.ToLower().Replace(" ", "").Contains("fachleistungsstundenabw"))
{
containsAbw = true;
}
return periodDc;
}
}
}

View File

@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using BeWo.Data.Entities;
using BeWo.Service.Invoicing;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
namespace PassgenauUG.Invoicing
{
public class CustomInvoiceFactory : InvoiceFactory
{
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
{
return new DefaultInvoiceCreation();
}
public override SettlementInvoiceCreation CreateSettlementInvoiceCreator(string costbearerId, string tenant,
CostBearer2SupportConcept lCb2Sc)
{
return base.CreateSettlementInvoiceCreator(costbearerId, tenant, lCb2Sc);
}
}
}

View File

@@ -0,0 +1,133 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace PassgenauUG.Invoicing
{
public class DefaultInvoiceCreation : InvoiceCreation
{
private const decimal AMOUNTPERUNIT_EINSATZPAUSCHALE = 4.50m;
public override void SetInvoiceId(ServiceInvoice invoice)
{
invoice.InvoiceBase.InvoiceId = "Rechnung";
invoice.InvoiceBase.InvoiceTypeText = "Rechnung";
}
public override void SetInvoiceItems(ServiceInvoice invoice, ServiceInvoicePeriod serviceInvoicePeriod,
SupportConceptApprovalPeriodDC supportConceptApprovalPeriod, CostBearer2SupportConcept cb2sc,
DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
{
base.SetInvoiceItems(invoice, serviceInvoicePeriod, supportConceptApprovalPeriod, cb2sc, invoicePeriod, serviceRecords);
}
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc)
{
return base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
}
public override void CheckMaxApprovedAmount(ServiceInvoice invoice, ServiceInvoicePeriod sip, SupportConceptApprovalPeriodDC scap, CostBearer2SupportConcept costBearer2SupportConcept, DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
{
//do nothing
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
{
var list = base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, summaryPerMonth, addRateFactorToUnitCount);
//var items = CreateEinsatzPauschaleItems(itemList, scap, calc);
//if (items != null && items.Count > 0)
// list.AddRange(items);
return list;
}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
{
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);
if (ii.ItemDescription.Contains("Schulassistenz"))
{
ii.UnitDescription = "Zeitstunden";
}
else
{
var cat = iServiceRecord.ServiceDescription.CategoryName.ToLower();
if (cat == "ambulant betreutes wohnen")
{
ii.UnitDescription = "Fachleistungsstunden";
}
else
{
ii.UnitDescription = iServiceRecord.ServiceDescription.CategoryName;
}
}
return ii;
}
public virtual IList<InvoiceItem> CreateEinsatzPauschaleItems(IList<InvoiceItem> itemList, SupportConceptApprovalPeriod scap, Calculations calc)
{
//Dictionary<String, int> differentDays = new Dictionary<string, int>();
IList<InvoiceItem> items = new List<InvoiceItem>();
int countHausbesuch = 0;
foreach (var ii in itemList)
{
if (ii.ServiceRecord != null)
{
var cat = ii.ServiceRecord.ServiceDescription.ServiceCategory.Name.ToLower();
if (cat == "ambulant betreutes wohnen")
{
countHausbesuch++;
}
}
}
if (countHausbesuch > 0)
{
var invoiceItem = new InvoiceItem();
//decimal anzahlHausbesuche = differentDays.Count;
decimal anzahlHausbesuche = countHausbesuch;
invoiceItem.AmountPerUnit = AMOUNTPERUNIT_EINSATZPAUSCHALE;
invoiceItem.UnitCount = anzahlHausbesuche;
invoiceItem.AmountTotal = anzahlHausbesuche * AMOUNTPERUNIT_EINSATZPAUSCHALE;
invoiceItem.ItemPeriodStart = scap.StartDate;
invoiceItem.ItemPeriodEnd = scap.EndDate;
invoiceItem.RateFactor = null;
invoiceItem.GrossAmountTotal = invoiceItem.AmountTotal;
invoiceItem.ItemDescription = "Einsatzpauschale";
invoiceItem.UnitDescription = "Einsatzpauschale";
if (scap != null)
invoiceItem.SupportConceptApprovalPeriodOid = scap.Oid;
items.Add(invoiceItem);
}
return items;
}
}
}

View File

@@ -48,6 +48,8 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\DefaultInvoiceCreation.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ServiceInvoiceReport.cs">
<SubType>Component</SubType>
@@ -55,6 +57,7 @@
<Compile Include="ServiceInvoiceReport.Designer.cs">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
</Compile>
<Compile Include="Service\CustomHomeContentGenerator.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
namespace PassgenauUG.Service
{
class CustomHomeContentGenerator : HomeContentGenerator
{
public override List<CompactSupportConceptDC> GetExpiringSupportConcepts(long? employeeOid, DateTime expiredUntil)
{
return base.GetExpiringSupportConcepts(null, expiredUntil);
}
}
}

View File

@@ -30,6 +30,7 @@ namespace PassgenauUG
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServiceInvoiceReport));
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
@@ -38,15 +39,15 @@ namespace PassgenauUG
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.lblAbrechnungszeitraum = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrRichText2 = new DevExpress.XtraReports.UI.XRRichText();
this.xrRichText1 = new DevExpress.XtraReports.UI.XRRichText();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
@@ -67,17 +68,37 @@ namespace PassgenauUG
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAbrechnungszeitraum = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.lblMitarbeiter = new DevExpress.XtraReports.UI.XRLabel();
this.lblKlient = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
@@ -103,7 +124,7 @@ namespace PassgenauUG
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 42.11363F;
this.topMarginBand1.HeightF = 42F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
@@ -111,7 +132,7 @@ namespace PassgenauUG
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel11,
this.xrLabel10});
this.bottomMarginBand1.HeightF = 70F;
this.bottomMarginBand1.HeightF = 80F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrLabel11
@@ -143,7 +164,16 @@ namespace PassgenauUG
// Page1
//
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel13,
this.xrLabel1,
this.xrLabel4,
this.xrLabel2,
this.xrLabel3,
this.xrLabel7,
this.xrLabel15,
this.lblMitarbeiter,
this.lblKlient,
this.xrLabel16,
this.lblAbrechnungszeitraum,
this.xrLabel8,
this.xrLabel12,
@@ -151,31 +181,54 @@ namespace PassgenauUG
this.xrPictureBox1,
this.xrRichText2,
this.xrRichText1,
this.xrLabel7,
this.xrLabel3,
this.lblAdresse,
this.xrLabel5});
this.Page1.Font = new System.Drawing.Font("Verdana", 10F);
this.Page1.HeightF = 636.5012F;
this.Page1.Font = new System.Drawing.Font("Calibri", 11.25F);
this.Page1.HeightF = 646.514F;
this.Page1.Name = "Page1";
this.Page1.StylePriority.UseFont = false;
//
// lblAbrechnungszeitraum
//
this.lblAbrechnungszeitraum.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblAbrechnungszeitraum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 595.0609F);
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(676.8331F, 51.45306F);
this.lblAbrechnungszeitraum.StylePriority.UseFont = false;
this.lblAbrechnungszeitraum.Text = "lblAbrechnungszeitraum (im Code)";
//
// xrLabel8
//
this.xrLabel8.Font = new System.Drawing.Font("Calibri", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(483.1568F, 414.3194F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(194.8334F, 17F);
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.StylePriority.UsePadding = false;
this.xrLabel8.StylePriority.UseTextAlignment = false;
this.xrLabel8.Text = "Hildesheim, [InvoiceDate]";
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel12
//
this.xrLabel12.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 206.875F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 181.1806F);
this.xrLabel12.Multiline = true;
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(317F, 22.95831F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(385.4167F, 50.04163F);
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.Text = "[RecipientPostCodeAndTown]\r\n";
this.xrLabel12.StylePriority.UsePadding = false;
this.xrLabel12.Text = "[RecipientPostCodeAndTown]";
//
// xrLine1
//
this.xrLine1.LineDirection = DevExpress.XtraReports.UI.LineDirection.Vertical;
this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(450.5414F, 0F);
this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(461.6985F, 0F);
this.xrLine1.Name = "xrLine1";
this.xrLine1.SizeF = new System.Drawing.SizeF(21.45834F, 431.3194F);
this.xrLine1.SizeF = new System.Drawing.SizeF(21.45834F, 443.8194F);
//
// xrPictureBox1
//
@@ -201,70 +254,43 @@ namespace PassgenauUG
//
this.xrRichText1.BorderColor = System.Drawing.Color.Black;
this.xrRichText1.Font = new System.Drawing.Font("Calibri", 8F);
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(471.9997F, 93.84851F);
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(483.1568F, 93.8485F);
this.xrRichText1.Name = "xrRichText1";
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
this.xrRichText1.SizeF = new System.Drawing.SizeF(204.8334F, 269.1516F);
this.xrRichText1.SizeF = new System.Drawing.SizeF(204.8334F, 307.346F);
this.xrRichText1.StylePriority.UseBorderColor = false;
this.xrRichText1.StylePriority.UseFont = false;
//
// xrLabel7
// lblAdresse
//
this.xrLabel7.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 138.0833F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(317F, 68.79167F);
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.Text = "[RecipientOrganisation]\r\n[RecipientContactPerson]\r\n[RecipientDivision]\r\n[Recipien" +
"tStreet]\r\n";
//
// xrLabel3
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 456.8875F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(676.8331F, 20F);
this.xrLabel3.StylePriority.UseBackColor = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.Text = "Rechnung 2020 11 024 ABW für Leistungen in der Eingliederungshilfe AZ 610116359";
this.xrLabel3.WordWrap = false;
this.lblAdresse.CanShrink = true;
this.lblAdresse.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblAdresse.LocationFloat = new DevExpress.Utils.PointFloat(0F, 138.0833F);
this.lblAdresse.Multiline = true;
this.lblAdresse.Name = "lblAdresse";
this.lblAdresse.SizeF = new System.Drawing.SizeF(364.9167F, 43.09726F);
this.lblAdresse.StylePriority.UseFont = false;
this.lblAdresse.StylePriority.UsePadding = false;
//
// xrLabel5
//
this.xrLabel5.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 551.3194F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 567.2275F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(317F, 17F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.Text = "Sehr geehrte Damen und Herren,";
//
// xrLabel15
//
this.xrLabel15.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(6.622738E-05F, 133.6806F);
this.xrLabel15.Name = "xrLabel15";
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel15.SizeF = new System.Drawing.SizeF(175F, 17F);
this.xrLabel15.StylePriority.UseFont = false;
this.xrLabel15.Text = "Mit freundlichen Grüßen";
//
// xrLabel14
//
this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorName")});
this.xrLabel14.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(6.622738E-05F, 162.6735F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 193.8888F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(225F, 17F);
this.xrLabel14.StylePriority.UseFont = false;
this.xrLabel14.Text = "[CreatorName]";
this.xrLabel14.Text = "Kerstin Kunz";
//
// DetailReport
//
@@ -304,8 +330,6 @@ namespace PassgenauUG
//
// 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)));
@@ -320,12 +344,10 @@ namespace PassgenauUG
this.xrTableCell32.StylePriority.UseTextAlignment = false;
this.xrTableCell32.Text = "Pos.";
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell32.Weight = 0.49680438831176488D;
this.xrTableCell32.Weight = 0.3545051430781711D;
//
// 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)));
@@ -340,12 +362,10 @@ namespace PassgenauUG
this.xrTableCell37.StylePriority.UseTextAlignment = false;
this.xrTableCell37.Text = "Menge";
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell37.Weight = 0.50024181553806313D;
this.xrTableCell37.Weight = 0.35450515070701522D;
//
// 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)));
@@ -360,12 +380,10 @@ namespace PassgenauUG
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "Beschreibung";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell35.Weight = 0.83734769581331314D;
this.xrTableCell35.Weight = 1.1253836058779547D;
//
// 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)));
@@ -384,8 +402,6 @@ namespace PassgenauUG
//
// 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)));
@@ -443,23 +459,29 @@ namespace PassgenauUG
//
// xrTableCell40
//
this.xrTableCell40.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell40.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitDescription")});
this.xrTableCell40.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;
xrSummary1.FormatString = "{0:0}";
xrSummary1.Func = DevExpress.XtraReports.UI.SummaryFunc.RecordNumber;
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell40.Summary = xrSummary1;
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell40.Weight = 0.49680428688701506D;
this.xrTableCell40.Weight = 0.3545051704703151D;
//
// 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.UnitCount", "{0:0.00}")});
this.xrTableCell42.Name = "xrTableCell42";
this.xrTableCell42.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell42.StylePriority.UseBorderColor = false;
@@ -467,13 +489,14 @@ namespace PassgenauUG
this.xrTableCell42.StylePriority.UsePadding = false;
this.xrTableCell42.StylePriority.UseTextAlignment = false;
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell42.Weight = 0.500241781729817D;
this.xrTableCell42.Weight = 0.35450517794417913D;
//
// 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.UnitDescription")});
this.xrTableCell43.Name = "xrTableCell43";
this.xrTableCell43.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell43.StylePriority.UseBorderColor = false;
@@ -481,125 +504,371 @@ namespace PassgenauUG
this.xrTableCell43.StylePriority.UsePadding = false;
this.xrTableCell43.StylePriority.UseTextAlignment = false;
this.xrTableCell43.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell43.Weight = 0.83734775772647463D;
this.xrTableCell43.Weight = 1.1253834779288126D;
//
// 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.HourlyRate", "{0:c}")});
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.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell44.Weight = 0.59602559850337444D;
//
// 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:c}")});
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.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell45.Weight = 0.56884111303428631D;
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1,
this.xrTable1,
this.xrLabel9,
this.xrLabel6,
this.xrLabel14,
this.xrLabel15});
this.GroupFooter1.HeightF = 220.8888F;
this.xrLabel14});
this.GroupFooter1.HeightF = 233.8888F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrTable1
//
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1,
this.xrTableRow2});
this.xrTable1.SizeF = new System.Drawing.SizeF(676.8333F, 50F);
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2,
this.xrTableCell3,
this.xrTableCell4,
this.xrTableCell5});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1D;
//
// xrTableCell1
//
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell1.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell1.StylePriority.UseBackColor = false;
this.xrTableCell1.StylePriority.UseBorderColor = false;
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.3545051430781711D;
//
// xrTableCell2
//
this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell2.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell2.StylePriority.UseBackColor = false;
this.xrTableCell2.StylePriority.UseBorderColor = false;
this.xrTableCell2.StylePriority.UseBorders = false;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell2.Weight = 0.35450515070701522D;
//
// xrTableCell3
//
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell3.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell3.StylePriority.UseBackColor = false;
this.xrTableCell3.StylePriority.UseBorderColor = false;
this.xrTableCell3.StylePriority.UseBorders = false;
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 1.1253836058779547D;
//
// xrTableCell4
//
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell4.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell4.StylePriority.UseBackColor = false;
this.xrTableCell4.StylePriority.UseBorderColor = false;
this.xrTableCell4.StylePriority.UseBorders = false;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell4.Weight = 0.59602567994850508D;
//
// xrTableCell5
//
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell5.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell5.StylePriority.UseBackColor = false;
this.xrTableCell5.StylePriority.UseBorderColor = false;
this.xrTableCell5.StylePriority.UseBorders = false;
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.StylePriority.UsePadding = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell5.Weight = 0.568841634434301D;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell6,
this.xrTableCell7,
this.xrTableCell8,
this.xrTableCell9,
this.xrTableCell10});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 1D;
//
// xrTableCell6
//
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell6.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell6.StylePriority.UseBorders = false;
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Gesamt:";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell6.Weight = 0.3545051430781711D;
//
// xrTableCell7
//
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("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UseFont = false;
this.xrTableCell7.StylePriority.UsePadding = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell7.Weight = 0.35450515070701522D;
//
// xrTableCell8
//
this.xrTableCell8.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell8.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell8.StylePriority.UseBorders = false;
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UsePadding = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell8.Weight = 1.1253836058779547D;
//
// xrTableCell9
//
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell9.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell9.StylePriority.UseBorders = false;
this.xrTableCell9.StylePriority.UseFont = false;
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell9.Weight = 0.59602567994850508D;
//
// 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, "GrossClaim")});
this.xrTableCell10.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell10.StylePriority.UseBorders = false;
this.xrTableCell10.StylePriority.UseFont = false;
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell10.Weight = 0.568841634434301D;
//
// xrLabel9
//
this.xrLabel9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorDivision")});
this.xrLabel9.Font = new System.Drawing.Font("Calibri", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 184.868F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 210.8888F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(225.0001F, 23F);
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.Text = "xrLabel9";
this.xrLabel9.Text = "Geschäftsführung";
//
// xrLabel6
//
this.xrLabel6.Font = new System.Drawing.Font("Calibri", 11F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(6.622738E-05F, 53.12495F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 70.83334F);
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(676.8331F, 64.74304F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(676.8331F, 107.1041F);
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.Text = "Die Zusammensetzung der Stundenanzahlen entnehmen Sie bitte den beigefügten\r\nLeis" +
"tungsnachweisen.\r\nBitte überweisen Sie den genannten Betrag auf das unten angege" +
"bene Konto.\r\n";
this.xrLabel6.Text = "Die Zusammensetzung der Stundenanzahlen entnehmen Sie bitte den beigefügten Leist" +
"ungsnachweisen.\r\n\r\nBitte überweisen Sie den genannten Betrag auf das unten angeg" +
"ebene Konto.\r\n\r\nFreundlichen Grüße";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// xrLabel8
// xrLabel13
//
this.xrLabel8.Font = new System.Drawing.Font("Calibri", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(472.1666F, 373.5068F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(194.8334F, 17F);
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.StylePriority.UsePadding = false;
this.xrLabel8.StylePriority.UseTextAlignment = false;
this.xrLabel8.Text = "Hildesheim, [InvoiceDate]";
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// lblAbrechnungszeitraum
//
this.lblAbrechnungszeitraum.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblAbrechnungszeitraum.LocationFloat = new DevExpress.Utils.PointFloat(6.811959E-05F, 585.0482F);
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(676.8331F, 51.45306F);
this.lblAbrechnungszeitraum.StylePriority.UseFont = false;
this.lblAbrechnungszeitraum.Text = "lblAbrechnungszeitraum (im Code)";
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(6.357829E-05F, 526.3125F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel13.SizeF = new System.Drawing.SizeF(160.0004F, 20F);
this.xrLabel13.StylePriority.UseBorders = false;
this.xrLabel13.StylePriority.UseTextAlignment = false;
this.xrLabel13.Text = "Aktenzeichen:";
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel1
//
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.LocationFloat = new DevExpress.Utils.PointFloat(421.1667F, 0F);
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerReferenceNumber")});
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(160.0005F, 526.3125F);
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.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(281.25F, 20F);
this.xrLabel1.StylePriority.UseBorders = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "xrLabel1";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel4
//
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(6.357829E-05F, 506.3126F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(160.0004F, 20F);
this.xrLabel4.StylePriority.UseBorders = false;
this.xrLabel4.StylePriority.UseTextAlignment = false;
this.xrLabel4.Text = "Wohnhaft:";
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(5.779844E-05F, 476.8875F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(160.0005F, 506.3126F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(676.8331F, 17F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "[CustomerLastName], [CustomerFirstName], [CustomerPostalCode] [CustomerTown], [Cu" +
"stomerStreet]";
this.xrLabel2.SizeF = new System.Drawing.SizeF(470.54F, 20F);
this.xrLabel2.StylePriority.UseBorders = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "[CustomerStreet], [CustomerPostalCode] [CustomerTown]";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel3
//
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(6.357829E-05F, 486.3125F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(160.0004F, 20F);
this.xrLabel3.StylePriority.UseBorders = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "Betreute(r):";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel7
//
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(160.0005F, 486.3125F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(470.54F, 20F);
this.xrLabel7.StylePriority.UseBorders = false;
this.xrLabel7.StylePriority.UseTextAlignment = false;
this.xrLabel7.Text = "[CustomerLastName], [CustomerFirstName], geb. [CustomerBirthdate!dd.MM.yyyy]";
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel15
//
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(6.357829E-05F, 446.3125F);
this.xrLabel15.Name = "xrLabel15";
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel15.SizeF = new System.Drawing.SizeF(159.9999F, 20F);
this.xrLabel15.StylePriority.UseBorders = false;
this.xrLabel15.StylePriority.UseTextAlignment = false;
this.xrLabel15.Text = "Rechnungsnummer:";
this.xrLabel15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// lblMitarbeiter
//
this.lblMitarbeiter.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceNumber")});
this.lblMitarbeiter.LocationFloat = new DevExpress.Utils.PointFloat(160F, 446.3125F);
this.lblMitarbeiter.Name = "lblMitarbeiter";
this.lblMitarbeiter.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblMitarbeiter.SizeF = new System.Drawing.SizeF(281.25F, 20F);
this.lblMitarbeiter.StylePriority.UseBorders = false;
this.lblMitarbeiter.StylePriority.UseTextAlignment = false;
this.lblMitarbeiter.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// lblKlient
//
this.lblKlient.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "AccountingPeriodStart", "{0:MMMM yyyy}")});
this.lblKlient.LocationFloat = new DevExpress.Utils.PointFloat(160F, 466.3125F);
this.lblKlient.Name = "lblKlient";
this.lblKlient.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblKlient.SizeF = new System.Drawing.SizeF(281.25F, 20F);
this.lblKlient.StylePriority.UseBorders = false;
this.lblKlient.StylePriority.UseTextAlignment = false;
this.lblKlient.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// xrLabel16
//
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(6.357829E-05F, 466.3125F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(159.9999F, 20F);
this.xrLabel16.StylePriority.UseBorders = false;
this.xrLabel16.StylePriority.UseTextAlignment = false;
this.xrLabel16.Text = "Abrechnungszeitraum:";
this.xrLabel16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
//
// ServiceInvoiceReport
//
@@ -615,7 +884,7 @@ namespace PassgenauUG
this.Font = new System.Drawing.Font("Verdana", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new System.Drawing.Printing.Margins(75, 75, 42, 70);
this.Margins = new System.Drawing.Printing.Margins(75, 40, 42, 80);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
@@ -624,6 +893,7 @@ namespace PassgenauUG
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
@@ -637,9 +907,7 @@ namespace PassgenauUG
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.GroupHeaderBand Page1;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
@@ -659,7 +927,7 @@ namespace PassgenauUG
private DevExpress.XtraReports.UI.XRTableCell xrTableCell43;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRLabel lblAdresse;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRRichText xrRichText2;
private DevExpress.XtraReports.UI.XRRichText xrRichText1;
@@ -672,7 +940,28 @@ namespace PassgenauUG
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungszeitraum;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
private DevExpress.XtraReports.UI.XRLabel lblMitarbeiter;
private DevExpress.XtraReports.UI.XRLabel lblKlient;
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
}
}

View File

@@ -1,4 +1,5 @@
using System;
using System.Text;
using BeWo.Report;
using BeWo.Report.ReportObjects;
@@ -15,7 +16,46 @@ namespace PassgenauUG
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
DateTime start = pRO.AccountingPeriodStart;
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation))
{
if (pRO.RecipientOrganisation.Contains("ABW - "))
{
pRO.RecipientOrganisation = pRO.RecipientOrganisation.Replace("ABW - ", "");
}
if (pRO.RecipientOrganisation.Contains("aHH - "))
{
pRO.RecipientOrganisation = pRO.RecipientOrganisation.Replace("aHH - ", "");
}
if (pRO.RecipientOrganisation.Contains("1 SB - "))
{
pRO.RecipientOrganisation = pRO.RecipientOrganisation.Replace("1 SB - ", "");
}
sb.AppendLine(pRO.RecipientOrganisation);
}
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
{
sb.AppendLine(pRO.RecipientContactPerson);
}
if (!String.IsNullOrEmpty(pRO.RecipientDivision))
{
sb.AppendLine(pRO.RecipientDivision);
}
if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
{
sb.AppendLine(pRO.RecipientPoBox);
}
else
{
if (!String.IsNullOrEmpty(pRO.RecipientStreet))
{
sb.AppendLine(pRO.RecipientStreet);
}
}
lblAdresse.Text = sb.ToString();
DateTime start = pRO.AccountingPeriodStart;
DateTime end = pRO.AccountingPeriodEnd;
//if (start.Month == end.Month && start.Year == end.Year)
//{
@@ -25,10 +65,46 @@ namespace PassgenauUG
//{
// lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Zeitraum {0:MMMM yyyy} - {1:MMMM yyyy} folgende erbrachte Tätigkeiten:", start, end);
//}
lblAbrechnungszeitraum.Text = String.Format("hiermit stelle ich auf Grundlage des Bescheids vom 15.09.2020 für Leistungen nach dem " +
"Sozialgesetzbuch IX folgende Leistungen für den Monat {0:MMMM yyyy} in Rechnung:", start);
SetBetreff(pRO);
DateTime? bewilligt = GetBewilligtDatum(pRO);
lblAbrechnungszeitraum.Text = String.Format("hiermit stelle ich auf Grundlage des Bescheids vom {0:dd.MM.yyyy} für Leistungen nach dem\n" +
"Sozialgesetzbuch IX folgende Leistungen für {1:MM}/{1:yyyy} in Rechnung:", bewilligt, start);
this.bindingSource1.DataSource = pRO;
}
private void SetBetreff(ServiceInvoiceRO pRo)
{
//String leistung = "";
//if (pRo.ServiceInvoicePeriods.Count > 0)
//{
// foreach (var sip in pRo.ServiceInvoicePeriods)
// {
// foreach (var ii in sip.ServiceInvoiceItems)
// {
// if (ii.ServiceDescription != null && ii.ServiceDescription.Contains("Schulassistenz"))
// {
// leistung = "Leistungen in der Schulassistenz";
// }
// }
// }
//}
//lblRechnungsNummer.Text = String.Format("Rechnung {0} für {1}, AZ {2} Abrechnung {3}, {4} *{5:dd.MM.yyyy}",
// pRo.InvoiceNumber, leistung, pRo.CustomerReferenceNumber, pRo.CustomerLastName, pRo.CustomerFirstName,
// pRo.CustomerBirthdate);
}
private DateTime? GetBewilligtDatum(ServiceInvoiceRO pRO)
{
if (pRO.ServiceInvoicePeriods.Count > 0)
{
var c2s = pRO.ServiceInvoicePeriods[0].CostBearer2SupportConcept;
return c2s.SupportConcept.ApprovalDate;
}
return null;
}
}
}

View File

@@ -56,6 +56,12 @@
<Compile Include="Quittierungsbeleg.Designer.cs">
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
</Compile>
<Compile Include="QuittierungsbelegMitDatum.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="QuittierungsbelegMitDatum.Designer.cs">
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
</Compile>
<Compile Include="ServiceInvoiceReport.cs">
<SubType>Component</SubType>
</Compile>
@@ -69,6 +75,10 @@
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="QuittierungsbelegMitDatum.resx">
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ServiceInvoiceReport.resx">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -1,7 +1,7 @@
using BeWo.Report.ReportObjects;
namespace QuerFaelltEin
{
partial class Quittierungsbeleg
partial class QuittierungsbelegAlt
{
/// <summary>
/// Required designer variable.
@@ -30,7 +30,7 @@ namespace QuerFaelltEin
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Quittierungsbeleg));
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QuittierungsbelegAlt));
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();

View File

@@ -10,9 +10,9 @@ using DevExpress.XtraReports.UI;
namespace QuerFaelltEin
{
public partial class Quittierungsbeleg : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
public partial class QuittierungsbelegAlt : DevExpress.XtraReports.UI.XtraReport //, IBeWoReport<ServicesOverviewRO>
{
public Quittierungsbeleg()
public QuittierungsbelegAlt()
{
InitializeComponent();
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,132 @@
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 QuerFaelltEin
{
public partial class Quittierungsbeleg : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
{
public Quittierungsbeleg()
{
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;
}
if (String.IsNullOrWhiteSpace(pRO.AbsenceTimes))
{
lblHatAbwesenheiten.Text = "X";
}
if (!hatGruppen)
{
lblHatGruppen.Text = "X";
}
ErstelleAbwesenheitenTabelle(pRO);
bindingSource1.DataSource = pRO;
}
private void ErstelleAbwesenheitenTabelle(ServicesOverviewRO pRo)
{
if (pRo.Abwesenheiten != null)
{
int newRows = 0;
int index = 1;
foreach (var at in pRo.Abwesenheiten)
{
DevExpress.XtraReports.UI.XRTableRow row = null;
if (index < xrTableAbwesenheiten.Rows.Count)
{
row = xrTableAbwesenheiten.Rows[index];
}
else
{
row = xrTableAbwesenheiten.InsertRowBelow(xrTableAbwesenheiten.Rows[xrTableAbwesenheiten.Rows.Count - 1]);
newRows++;
}
row.Cells[0].Text = String.Format("{0:dd.MM.yyyy}", at.Start);
int? days = null;
if (at.End.HasValue)
{
row.Cells[1].Text = String.Format("{0:dd.MM.yyyy}", at.End);
days = (int)at.End.Value.Subtract(at.Start.Value).TotalDays + 1;
}
else
{
row.Cells[1].Text = "unbekannt";
}
row.Cells[2].Text = String.Format("{0:0}", days);
index++;
}
if (newRows > 0)
{
lblUnterschriftKlient.Top += newRows * 20;
lblUnterschriftMitarbeiter.Top += newRows * 20;
}
}
}
private void picSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs 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,129 @@
<?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>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>21, 17</value>
</metadata>
<data name="xrRichText2.SerializableRtfString" xml:space="preserve">
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AewBcAGYAMgAgAEEAcgBpAGEAbAA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAEsAZQBpAG4AZQAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXAB1AGwAXABmADIAXABmAHMAMgAwAFwAYwBmADEAIABLAHIAYQBuAGsAZQBuAGgAYQB1AHMAYQB1AGYAZQBuAHQAaABhAGwAdABlAH0AXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAdQBsAFwAZgAyAFwAZgBzADIAMABcAGMAZgAxAFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQBsAHsAXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAdQBsAFwAZgAyAFwAZgBzADIAMABcAGMAZgAxACAAYgBlAGsAYQBuAG4AdAAgAG8AZABlAHIAIAB9AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbAB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAGEAYgByAGUAYwBoAG4AdQBuAGcAcwByAGUAbABlAHYAYQBuAHQAfQB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgACAAaQBtACAAQQBiAHIAZQBjAGgAbgB1AG4AZwBzAHoAZQBpAHQAcgBhAHUAbQB9AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMQBcAGYAcwAyADQAXABjAGYAMQBcAHAAYQByAH0A</value>
</data>
<data name="xrRichText1.SerializableRtfString" xml:space="preserve">
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AewBcAGYAMgAgAEEAcgBpAGEAbAA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAEsAZQBpAG4AZQAgAH0AewBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAEcAcgB1AHAAcABlAG4AYQBuAGcAZQBiAG8AdABlAH0AewBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgACAAaQBtACAAQQBiAHIAZQBjAGgAbgB1AG4AZwBzAHoAZQBpAHQAcgBhAHUAbQB9AFwAZgAxAFwAZgBzADIANABcAGMAZgAxAFwAcABhAHIAfQA=</value>
</data>
</root>

View File

@@ -108,35 +108,35 @@ namespace BeWo.TRIASAmbulanteSozialarbeit
//1:9 518,90
//1:10 467,01
//1:12 389,17
if (betrag == 1167.52m)
if (betrag == 1167.52m || betrag == 1175.91m )
{
return "1:4";
}
if (betrag == 934.01m)
if (betrag == 934.01m || betrag == 941.54m)
{
return "1:5";
}
if (betrag == 778.34m)
if (betrag == 778.34m || betrag == 785.28m)
{
return "1:6";
}
if (betrag == 667.15m)
if (betrag == 667.15m || betrag == 673.68m)
{
return "1:7";
}
if (betrag == 583.76m)
if (betrag == 583.76m || betrag == 589.97m)
{
return "1:8";
}
if (betrag == 518.9m)
if (betrag == 518.9m || betrag == 524.86m)
{
return "1:9";
}
if (betrag == 467.01m)
if (betrag == 467.01m || betrag == 472.77m)
{
return "1:10";
}
if (betrag == 389.17m)
if (betrag == 389.17m || betrag == 394.66m)
{
return "1:12";
}
@@ -152,35 +152,35 @@ namespace BeWo.TRIASAmbulanteSozialarbeit
//1:9 601,95
//1:10 547,92
//1:12 466,90
if (betrag == 1277.12m)
if (betrag == 1277.12m || betrag == 1366.21m)
{
return "1:4";
}
if (betrag == 1034.06m)
if (betrag == 1034.06m || betrag == 1106.13m)
{
return "1:5";
}
if (betrag == 872.02m)
if (betrag == 872.02m || betrag == 932.75m)
{
return "1:6";
}
if (betrag == 756.27m)
if (betrag == 756.27m || betrag == 808.90m)
{
return "1:7";
}
if (betrag == 669.47m)
if (betrag == 669.47m || betrag == 716.01m)
{
return "1:8";
}
if (betrag == 601.95m)
if (betrag == 601.95m || betrag == 643.77m)
{
return "1:9";
}
if (betrag == 547.92m)
if (betrag == 547.92m || betrag == 585.98m)
{
return "1:10";
}
if (betrag == 466.90m)
if (betrag == 466.90m || betrag == 499.28m)
{
return "1:12";
}

View File

@@ -17,7 +17,34 @@ namespace VKMAachen.Invoicing
{
internal class CustomInvoiceNumberGenerator : InvoiceNumberGenerator
{
protected override String ApplyPatternWithId(String pattern, long number, String id)
public override string GetNextInvoiceNumber(int increment, InvoiceBase invoiceBase)
{
string next = base.GetNextInvoiceNumber(increment, invoiceBase);
String debNummer = "";
if (invoiceBase.CostBearer2SupportConcept != null)
{
debNummer = invoiceBase.CostBearer2SupportConcept.SupportConcept.Customer.DebitorNumber;
}
next = next.Replace("{d}", debNummer);
return next;
}
public override string GetNextInvoiceNumber(int increment, string id)
{
return base.GetNextInvoiceNumber(increment, id);
}
public override string GetNextInvoiceNumber(int increment, Settlement2DC settlementInvoice)
{
return base.GetNextInvoiceNumber(increment, settlementInvoice);
}
protected override String ApplyPatternWithId(String pattern, long number, String id)
{
string next = pattern;

View File

@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.Eventing.Reader;
using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Services;
namespace VkmAachenSbd.Invoicing
{
internal class CustomInvoiceNumberGenerator : InvoiceNumberGenerator
{
public override string GetNextInvoiceNumber(int increment, InvoiceBase invoiceBase)
{
string next = base.GetNextInvoiceNumber(increment, invoiceBase);
String debNummer = "";
if (invoiceBase.CostBearer2SupportConcept != null)
{
debNummer = invoiceBase.CostBearer2SupportConcept.SupportConcept.Customer.DebitorNumber;
}
next = next.Replace("{d}", debNummer);
return next;
}
}
}

View File

@@ -84,6 +84,7 @@
<Compile Include="Folgeantraege.designer.cs">
<DependentUpon>Folgeantraege.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\CustomInvoiceNumberGenerator.cs" />
<Compile Include="MitarbeiterSpitzabrechnungJahr.cs">
<SubType>Component</SubType>
</Compile>

View File

@@ -353,7 +353,7 @@ null,
null,
null,
REPLACE(IF(crpRateFactor.`CostRateValue` is null, ROUND((sr.`GeleisteteFLM` / 60) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 )),
ROUND(ROUND((sr.`GeleisteteFLM` / 60), 2) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 ) * ((100 + crpRateFactor.`CostRateValue`)/100), 2)), ',', '.') AS 'Betrag',
ROUND((sr.`GeleisteteFLM` / 60) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 ) * ((100 + crpRateFactor.`CostRateValue`)/100), 2)), ',', '.') AS 'Betrag',
CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', IF(cb2sc.CustomerRefenrenceNumber is null, '', cb2sc.CustomerRefenrenceNumber), ' Abrechnung :PeriodeSlash ', org.Name) as 'Verwendung',
null,
null,
@@ -377,7 +377,7 @@ IF(INSTR(org.Name, '§67') > 0, '1694', '1695'),
null,
null,
REPLACE(-1 * IF(crpRateFactor.`CostRateValue` is null, ROUND((sr.`GeleisteteFLM` / 60) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 )),
ROUND(ROUND((sr.`GeleisteteFLM` / 60), 2) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 ) * ((100 + crpRateFactor.`CostRateValue`)/100), 2)), ',', '.') AS 'Betrag2',
ROUND((sr.`GeleisteteFLM` / 60) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 ) * ((100 + crpRateFactor.`CostRateValue`)/100), 2)), ',', '.') AS 'Betrag2',
CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', IF(cb2sc.CustomerRefenrenceNumber is null, '', cb2sc.CustomerRefenrenceNumber), ' Abrechnung :PeriodeSlash ', org.Name) as 'Verwendung2',
null
FROM `supportconcept` sc

View File

@@ -71,7 +71,7 @@ namespace SkmRheydt
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellBetreff = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -527,15 +527,14 @@ namespace SkmRheydt
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3});
this.cellBetreff});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.085D;
//
// xrTableCell3
// cellBetreff
//
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Text = "Abrechnung Betreuungsleistungen für [CustomerName]";
this.xrTableCell3.Weight = 1.0000000000000002D;
this.cellBetreff.Name = "cellBetreff";
this.cellBetreff.Weight = 1.0000000000000002D;
//
// xrTableRow3
//
@@ -697,7 +696,7 @@ namespace SkmRheydt
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell cellBetreff;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;

View File

@@ -16,12 +16,15 @@ namespace SkmRheydt
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
bool is67 = false;
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation))
{
if (pRO.RecipientOrganisation.Contains("(BeWo §67)"))
{
is67 = true;
pRO.RecipientOrganisation = pRO.RecipientOrganisation.Replace("(BeWo §67)", "");
}
sb.AppendLine(pRO.RecipientOrganisation);
@@ -55,6 +58,11 @@ namespace SkmRheydt
pRO.AccountingPeriod = String.Format("{0:MMMM yyyy} - {1:MMMM yyyy}", start, end);
}
cellBetreff.Text = String.Format("Abrechnung Betreuungsleistungen für {0}", pRO.CustomerName);
if (is67)
{
cellBetreff.Text = String.Format("Abrechnung Betreuungsleistungen BeWo §67 für {0}", pRO.CustomerName);
}
this.bindingSource1.DataSource = pRO;
}
}

View File

@@ -13,6 +13,8 @@ namespace BeWo.Service.Configuration
public bool IsPasswordSecurityActiv { get; set; }
public bool UseTwoFactorAuth { get; set; }
public bool IsEndDateVisible { get; set; }
public bool IsOnlyYearMonthVisible { get; set; }
@@ -106,6 +108,13 @@ namespace BeWo.Service.Configuration
isPasswordSecurityActiv = true;
}
settings.UseTwoFactorAuth = false;
val = GetSettingValue(mandator.Settings, "UseTwoFactorAuth");
if (val != null && val.Equals("1"))
{
settings.UseTwoFactorAuth = true;
}
val = GetSettingValue(mandator.Settings, "IsEndDateVisible");
if (val != null && val.Equals("0"))
{

View File

@@ -657,7 +657,6 @@ namespace BeWo.Service.Invoicing
item.UnitCount += iitem.UnitCount ?? 0;
}
BerechneSummaryItemsSummen(newlist, addRateFactorToUnitCount);
return newlist;
}

View File

@@ -1,5 +1,6 @@
using System;
using System;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Reflection;
@@ -196,7 +197,7 @@ namespace BeWo.Service.Plugins
//t = "3884496709"; // Wahl e.V.
//t = "9883255779"; // VKM Menden
//t = "9556218062"; // Diakonie Landshut
//t = "2279593936"; // Diakonie Mülheim
t = "2279593936"; // Diakonie Mülheim
//t = "3623837005"; // Betreuwo Wesel
//t = "8407321888"; // AWO Wesel
//t = "8454426692"; // Mit-Menschen Wuppertal
@@ -224,7 +225,7 @@ namespace BeWo.Service.Plugins
//t = "7817461089"; // FAB e.V. (Familienarbeit und Beratung e.V.)
//t = "5207911843"; // Pro Balance
//t = "8619663355"; // HSH Cologne
//t = "1652658918"; // LH Frankfurt Oder
t = "1652658918"; // LH Frankfurt Oder
//t = "7696927868"; // Kuhring Betreuung
//t = "6251348980"; // BeWo Gün
//t = "6782533512"; // LH Dorsten
@@ -253,9 +254,9 @@ namespace BeWo.Service.Plugins
//t = "4152581290"; // MVZ Medikus GmbH (Stoffwechsel Betreutes wohnen)
//t = "2594047883"; // KOMM Ambulante Dienste e. V.
//t = "1558685648"; // KIMM
t = "3460972350"; // Caritas Kleve I
//t = "3460972350"; // Caritas Kleve I
//t = "2623845876"; // Passgenau Hildesheim
//t = "4529320405"; // BeWo Stelzel
return t;
#else
if (MultitenancyOperationContextExt.Current != null)
@@ -268,8 +269,13 @@ namespace BeWo.Service.Plugins
private static String CustomerPluginPath()
{
var path = ConfigurationManager.AppSettings.Get("PluginPath");
if (path != null)
{
return Path.Combine(path, Tenant + "_reports.dll");
}
#if DEBUG
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\" + Tenant + "_reports.dll");
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\" + Tenant + "_reports.dll");
#else
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Customer\" + Tenant + "_reports.dll");
#endif

View File

@@ -712,9 +712,9 @@ namespace BeWo.Service.Plugins
public virtual bool CheckZukunft()
{
#if DEBUG
return false;
#endif
//#if DEBUG
//return false;
//#endif
return true;
}

View File

@@ -284,8 +284,6 @@ namespace BeWo.Service.Reporting
}
countPerTerminationReasonNames[customer.TerminationReason].Add(String.Format("{0}, {1}", customer.Person.LastName, customer.Person.FirstName));
}
@@ -336,8 +334,7 @@ namespace BeWo.Service.Reporting
}
}
else if (def.Label.IndexOf("Wohnraum") >= 0 &&
def.Label.IndexOf("angemietet") >= 0)
else if (def.Label.IndexOf("Wohnraum") >= 0 && def.Label.IndexOf("angemietet") >= 0)
{
hatWohnraumAngemietet = true;
if (!countPerVarfielddef2All.ContainsKey(def))

View File

@@ -75,6 +75,10 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
long InsertNewUserGroup(UserGroupDC pUserGroup);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
UserValidationResult IsUserValidTwoFactor(string username, string password, string twoFactorPin, string supportPin);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
UserValidationResult IsUserValid(string pUserName, string pPassword, string pPIN);

View File

@@ -953,7 +953,6 @@ namespace BeWo.Service.ServiceImplementations
{
try
{
AnnualReportFactory factory = null;
CostBearer cb = null;
if (costbearerOid.HasValue)

View File

@@ -3512,7 +3512,8 @@ namespace BeWo.Service.ServiceImplementations
{
#if DEBUG
customerId = "0000000001";
apikey = "0b50c09aff87f20d9ced75340e04e5ccaa11dd3e7bcf25e9c4f94dc20d3cbb97";
//apikey = "0b50c09aff87f20d9ced75340e04e5ccaa11dd3e7bcf25e9c4f94dc20d3cbb97";
customerId = "4526293996";
#endif
var serverUrl = OwnChatHelper.ErmittleServerURL(customerId);

View File

@@ -1127,11 +1127,6 @@ namespace BeWo.Service.ServiceImplementations
{
long? ownerOid = null;
if (PluginLoader.Tenant == "3460972350")
{
ConvertResourceBookingsToResourceAppointments();
}
//Keine Auswahl getroffen: Nur meine Termine anzeigen
if((pSelectedEmployees == null || pSelectedEmployees.Count == 0) && (pSelectedCustomer == null || pSelectedCustomer.Count == 0) && (pSelectedResources == null || pSelectedResources.Count == 0))
{

View File

@@ -343,12 +343,17 @@ namespace BeWo.Service.ServiceImplementations
}
}
public UserValidationResult IsUserValid(string pUserName, string pPassword, string pPIN)
public UserValidationResult IsUserValidTwoFactor(string username, string password, string twoFactorPin, string supportPin)
{
return IsUserValid(pUserName, pPassword, pPIN, "BeWoClient", true);
return IsUserValid(username, password, supportPin, "BeWoClient", true, twoFactorPin);
}
public UserValidationResult IsUserValid(string pUserName, string pPassword, string pPIN, string clientId, bool checkTenant)
public UserValidationResult IsUserValid(string pUserName, string pPassword, string pPIN)
{
return IsUserValid(pUserName, pPassword, pPIN, "BeWoClient", true, null);
}
public UserValidationResult IsUserValid(string pUserName, string pPassword, string pPIN, string clientId, bool checkTenant, string twoFactorPin)
{
try
{
@@ -386,45 +391,42 @@ namespace BeWo.Service.ServiceImplementations
if (sha256 == "7F-E3-C8-E6-2A-9D-E2-62-84-65-D3-8E-7C-B0-BB-BC-58-CC-27-57-36-21-DB-68-33-01-5E-48-19-FE-29-2B")
{
String pin = pPIN;
if (!String.IsNullOrEmpty(pPIN) && pPIN.IndexOf('_') >= 0)
{
pin = pPIN.Substring(0, pPIN.IndexOf('_'));
computerName = pPIN.Substring(pPIN.IndexOf('_') + 1);
}
var pins = DAOFactory.GenericDAO.GetAll<SupportPin>();
var y = pins.Where(p => p.Pin.Equals(pin)).ToList();
//String pin = pPIN;
//if (!String.IsNullOrEmpty(pPIN) && pPIN.IndexOf('_') >= 0)
//{
// pin = pPIN.Substring(0, pPIN.IndexOf('_'));
// computerName = pPIN.Substring(pPIN.IndexOf('_') + 1);
//}
//var pins = DAOFactory.GenericDAO.GetAll<SupportPin>();
//var y = pins.Where(p => p.Pin.Equals(pin)).ToList();
//if (y.Count == 0)
//{
// result = UserValidationResult.IncorrectPin;
// valid = false;
//}
//else
//{
// supportPIN = y[0];
// if (supportPIN.IsUsed.Value ||
// supportPIN.ExpirationDate < DateTime.Now ||
// supportPIN.UsingDate != null)
// {
// if (supportPIN.IsUsed.HasValue && supportPIN.IsUsed.Value)
// result = UserValidationResult.PinAlreadyUsed;
// else if (supportPIN.ExpirationDate < DateTime.Now)
// result = UserValidationResult.PinExpired;
// valid = false;
// }
// else
// {
// supportPIN.IsUsed = true;
// supportPIN.UsingDate = DateTime.Now;
// supportPIN.Notice = computerName;
// }
//}
if (y.Count == 0)
{
result = UserValidationResult.IncorrectPin;
valid = false;
}
else
{
supportPIN = y[0];
if (supportPIN.IsUsed.Value ||
supportPIN.ExpirationDate < DateTime.Now ||
supportPIN.UsingDate != null)
{
if (supportPIN.IsUsed.HasValue && supportPIN.IsUsed.Value)
result = UserValidationResult.PinAlreadyUsed;
else if (supportPIN.ExpirationDate < DateTime.Now)
result = UserValidationResult.PinExpired;
valid = false;
}
else
{
supportPIN.IsUsed = true;
supportPIN.UsingDate = DateTime.Now;
supportPIN.Notice = computerName;
}
}
}
}
@@ -434,18 +436,24 @@ namespace BeWo.Service.ServiceImplementations
if (result.Value == UserValidationResult.UserValid)
{
var settings = AppSettings.CreateSettings();
if (settings.IsPasswordSecurityActiv)
{
if (!lUser.Zeitstempel.HasValue || lUser.Zeitstempel.Value == DateTime.MinValue)
{
lUser.Zeitstempel = lUser.InsTs;
}
if (!lUser.Zeitstempel.HasValue || DateTime.Now > lUser.Zeitstempel.Value.AddYears(1))
{
result = UserValidationResult.PasswordExpired;
}
}
if (settings.UseTwoFactorAuth)
{
}
else if (settings.IsPasswordSecurityActiv)
{
if (!lUser.Zeitstempel.HasValue || lUser.Zeitstempel.Value == DateTime.MinValue)
{
lUser.Zeitstempel = lUser.InsTs;
}
if (!lUser.Zeitstempel.HasValue || DateTime.Now > lUser.Zeitstempel.Value.AddYears(1))
{
result = UserValidationResult.PasswordExpired;
}
}
}
var lLogin = new Login {LoginName = pUserName, LoginDate = DateTime.Now};

View File

@@ -411,6 +411,10 @@ namespace BS.Shared
Employee_AllowViewOwnEmployees = 20005,
Employee_AllowViewOwnTeam = 20006,
Employee_ViewNotizen = 20010,
Employee_EditNotizen = 20011,
Employee_DeleteNotizen = 20012,
GroupOfPeopleView_Edit = 20100,
GroupOfPeopleView_Create = 20101,
GroupOfPeopleView_Delete = 20102,
@@ -475,6 +479,9 @@ namespace BS.Shared
Customer_ViewMedication = 22100,
Customer_ViewDiagnosis = 22101,
Customer_ViewNotizen = 22110,
Customer_EditNotizen = 22111,
Customer_DeleteNotizen = 22112,
WohnheimView_View = 22201,
WohnheimView_Edit = 22202,
@@ -667,7 +674,8 @@ namespace BS.Shared
IncorrectPin = 4,
PinExpired = 5,
PinAlreadyUsed = 6,
PasswordExpired = 7
PasswordExpired = 7,
UserValidTwoFactorAuthenticationNeeded = 8,
}
public enum SupportConceptApprovalInterval
@@ -678,7 +686,8 @@ namespace BS.Shared
Monthly,
Quarterly,
HalfYearly,
Yearly
Yearly,
Hourly
}
public enum AccountingIntervalType

View File

@@ -109,6 +109,15 @@ namespace BS.Shared.Core
{
UserRightType.Customer_ViewDiagnosis, Translator.Translate("Klienten Diagnosen ansehen")
},
{
UserRightType.Customer_ViewNotizen, Translator.Translate("Klienten Notizen ansehen")
},
{
UserRightType.Customer_EditNotizen, Translator.Translate("Klienten Notizen bearbeiten")
},
{
UserRightType.Customer_DeleteNotizen, Translator.Translate("Klienten Notizen löschen")
},
{
UserRightType.DeleteAll, Translator.Translate("Alles löschen")
},
@@ -157,6 +166,15 @@ namespace BS.Shared.Core
{
UserRightType.Employee_AllowViewOwnTeam, Translator.Translate("Mitarbeiter des Teams ansehen")
},
{
UserRightType.Employee_ViewNotizen, Translator.Translate("Mitarbeiter Notizen ansehen")
},
{
UserRightType.Employee_EditNotizen, Translator.Translate("Mitarbeiter Notizen bearbeiten")
},
{
UserRightType.Employee_DeleteNotizen, Translator.Translate("Mitarbeiter Notizen löschen")
},
{
UserRightType.OrganisationView_Create, Translator.Translate("Organisationen anlegen")
},
@@ -1010,6 +1028,9 @@ namespace BS.Shared.Core
#region SupportConceptApprovalInterval2Translations
SupportConceptApprovalInterval2Translations = new Dictionary<SupportConceptApprovalInterval, String>
{
{
SupportConceptApprovalInterval.Hourly, "Stunde"
},
{
SupportConceptApprovalInterval.Daily, "Tag"
},
@@ -1031,6 +1052,7 @@ namespace BS.Shared.Core
{
SupportConceptApprovalInterval.Yearly, "Jahr"
}
};
#endregion

View File

@@ -148,5 +148,7 @@ namespace BS.Shared.DataContracts.Compact
[DataMember]
public bool IsSubstitutionNeeded { get; set; }
//public List<VarFieldDC> VarFields { get; set; }
}
}

View File

@@ -14,7 +14,8 @@ namespace BS.Shared.Extensions
Month,
Quarter,
Halfyear,
Year
Year,
Hour
}
public class DateTimeUnit

View File

@@ -36,6 +36,8 @@ namespace BS.Shared.Services
return pPerInterval / (365m / 2m);
case SupportConceptApprovalInterval.Yearly:
return pPerInterval / 365m;
case SupportConceptApprovalInterval.Hourly:
return pPerInterval * 24;
default:
return 0;
}
@@ -295,6 +297,9 @@ namespace BS.Shared.Services
case SupportConceptApprovalInterval.Yearly:
tu = TimeUnit.Year;
break;
case SupportConceptApprovalInterval.Hourly:
tu = TimeUnit.Hour;
break;
}
@@ -873,7 +878,30 @@ namespace BS.Shared.Services
return data;
}
else if (ai.Value == AccountingIntervalType.Monthly)
{
AnzahlMonate am = null;
data.UnitCount = 1;
if (data.BillingPeriodStart.HasValue && data.BillingPeriodEnd.HasValue)
{
am = DateTimeUtils.GetTotalMonths(data.BillingPeriodStart.Value, data.BillingPeriodEnd.Value);
decimal monate = Math.Ceiling(am.AnzahlMonateGesamt);
if (monate > data.UnitCount)
{
data.UnitCount = monate;
}
}
data.AmountPerUnit = crp.CostRateValue ?? 0;
data.AmountTotal = data.UnitCount * data.AmountPerUnit;
data.AccountingInterval = AccountingIntervalType.Monthly;
data.GrossAmountTotal = data.AmountTotal;
return data;
}
}
}
}
@@ -1671,6 +1699,9 @@ namespace BS.Shared.Services
case SupportConceptApprovalInterval.Yearly:
ap.ApprovalUnit = AccountingIntervalType.Yearly;
break;
case SupportConceptApprovalInterval.Hourly:
ap.ApprovalUnit = AccountingIntervalType.Hourly;
break;
}
}
//ap.MaxApprovedAmount = GetApprovedAmount(ap, scap);
@@ -1760,6 +1791,8 @@ namespace BS.Shared.Services
return AccountingIntervalType.Quarterly;
case SupportConceptApprovalInterval.HalfYearly:
return AccountingIntervalType.HalfYearly;
case SupportConceptApprovalInterval.Hourly:
return AccountingIntervalType.Hourly;
default:
return AccountingIntervalType.Yearly;
}