diff --git a/.gitignore b/.gitignore index f0936d6a1..3e6e010ed 100644 --- a/.gitignore +++ b/.gitignore @@ -626,9 +626,13 @@ obj /DakotaSender/obj /DakotaUnitTest/bin /DakotaUnitTest/obj +/WohneinheitUnitTest/bin +/WohneinheitUnitTest/obj /BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Debug /BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Release /ReportImp/TestLWV + +/TranslationUnitTest/bin /ReportImp/demo_Sozio/Invoicing/CustomInvoiceFactory.cs /ReportImp/demo_Sozio/Invoicing/SoziotherapieInvoiceCreation.cs /ReportImp/demo_Sozio/LeistungsnachweisSoziotherapie.cs diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index 55268c179..b48e52c0f 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -269,6 +269,10 @@ MSBuild:Compile Designer + + Designer + MSBuild:Compile + MSBuild:Compile Designer @@ -319,6 +323,62 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + MSBuild:Compile Designer @@ -836,12 +896,15 @@ + + + @@ -850,12 +913,16 @@ + + + + @@ -868,6 +935,7 @@ + EnterTenantDialog.xaml @@ -1039,6 +1107,22 @@ + + + + + + + + + + + + + + + + @@ -1141,6 +1225,48 @@ + + CustomerVermittlungArbeitControl.xaml + + + CustomerWohnhilfeControl.xaml + + + CustomerVermittlungArbeitView.xaml + + + CustomerWohnhilfeView.xaml + + + WohneinheitBelegungEditPopup.xaml + + + WohneinheitBelegungSchedulerView.xaml + + + WohneinheitBelegungTableView.xaml + + + WohneinheitEditPopup.xaml + + + CustomerFalldatenView.xaml + + + WohneinheitBelegungEditControl.xaml + + + WohneinheitBelegungWindow.xaml + + + WohneinheitGrundrissModalPopup.xaml + + + WohneinheitVerwaltungViewV1.xaml + + + WohneinheitVerwaltungViewV2.xaml + HilfeplanImportView.xaml @@ -3213,6 +3339,7 @@ + diff --git a/BeWo/BeWoApp.xaml b/BeWo/BeWoApp.xaml index b3f8d1735..918ea6043 100644 --- a/BeWo/BeWoApp.xaml +++ b/BeWo/BeWoApp.xaml @@ -47,6 +47,7 @@ + @@ -62,12 +63,28 @@ + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + - + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BeWo/Styles/Office2007Silver.xaml b/BeWo/Styles/Office2007Silver.xaml index 25375866b..e072b77f6 100644 --- a/BeWo/Styles/Office2007Silver.xaml +++ b/BeWo/Styles/Office2007Silver.xaml @@ -1 +1,4 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/BeWo/Styles/OrangeBlack.xaml b/BeWo/Styles/OrangeBlack.xaml index a53795b28..65dfeeecb 100644 --- a/BeWo/Styles/OrangeBlack.xaml +++ b/BeWo/Styles/OrangeBlack.xaml @@ -1,125 +1,126 @@ - + - + - - - + + + - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - - + + + + + + + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - + + + + + - + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + - - - - - - - - - + + + + + + + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - M 0 0 L 3.5 4 L 7 0 Z - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + M 0 0 L 3.5 4 L 7 0 Z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + - + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + - - - + + + - + - - - - - - - + + - - - - + + + + + + + + + - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - - + + + - + - - - - - - - + + + - + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + - - - + - - - - + + + - + + + + + - + + - + + - - - - + + + + - + + + + + + + + + + - + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - - + - + - + + + + + + + + + + + + + + + + + - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + + + - + - + \ No newline at end of file diff --git a/BeWo/Styles/PrototypeStyles.xaml b/BeWo/Styles/PrototypeStyles.xaml new file mode 100644 index 000000000..c88d016bb --- /dev/null +++ b/BeWo/Styles/PrototypeStyles.xaml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BeWo/View/Controls/BehinderungsartenSelectionControl.xaml b/BeWo/View/Controls/BehinderungsartenSelectionControl.xaml index 02467eb14..f4935274e 100644 --- a/BeWo/View/Controls/BehinderungsartenSelectionControl.xaml +++ b/BeWo/View/Controls/BehinderungsartenSelectionControl.xaml @@ -1,35 +1,58 @@ - + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/BeWo/View/Detail/CustomerVermittlungArbeitView.xaml.cs b/BeWo/View/Detail/CustomerVermittlungArbeitView.xaml.cs new file mode 100644 index 000000000..6407adffc --- /dev/null +++ b/BeWo/View/Detail/CustomerVermittlungArbeitView.xaml.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace BeWo.View.Detail +{ + /// + /// Interaktionslogik für CustomerVgAView.xaml + /// + public partial class CustomerVermittlungArbeitView : UserControl + { + public bool PermissionCustomerWohnhilfeCreate { get; } = BeWoApp.HasLoggedOnUserRight(BS.Shared.UserRightType.Customer_GemeinnutzigeArbeit_Create); + public bool PermissionCustomerWohnhilfeEdit { get; } = BeWoApp.HasLoggedOnUserRight(BS.Shared.UserRightType.Customer_GemeinnutzigeArbeit_Edit); + public bool PermissionCustomerWohnhilfeDelete { get; } = BeWoApp.HasLoggedOnUserRight(BS.Shared.UserRightType.Customer_GemeinnutzigeArbeit_Delete); + + public CustomerVermittlungArbeitView() + { + InitializeComponent(); + } + } +} diff --git a/BeWo/View/Detail/CustomerView.xaml b/BeWo/View/Detail/CustomerView.xaml index c40c4f076..175eeacf8 100644 --- a/BeWo/View/Detail/CustomerView.xaml +++ b/BeWo/View/Detail/CustomerView.xaml @@ -1,5 +1,6 @@  - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + Übernehmen + + - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + + + Groß + + + + + + + + + + + + + + + + + + + + + + diff --git a/BeWo/View/Detail/CustomerWohnhilfeView.xaml.cs b/BeWo/View/Detail/CustomerWohnhilfeView.xaml.cs new file mode 100644 index 000000000..77350cd0d --- /dev/null +++ b/BeWo/View/Detail/CustomerWohnhilfeView.xaml.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace BeWo.View.Detail +{ + /// + /// Interaktionslogik für CustomerWohnhilfeView.xaml + /// + public partial class CustomerWohnhilfeView : UserControl + { + public bool PermissionCustomerWohnhilfeCreate { get; } = BeWoApp.HasLoggedOnUserRight(BS.Shared.UserRightType.Customer_Wohnhilfe_Create); + public bool PermissionCustomerWohnhilfeEdit { get; } = BeWoApp.HasLoggedOnUserRight(BS.Shared.UserRightType.Customer_Wohnhilfe_Edit); + public bool PermissionCustomerWohnhilfeDelete { get; } = BeWoApp.HasLoggedOnUserRight(BS.Shared.UserRightType.Customer_Wohnhilfe_Delete); + + public CustomerWohnhilfeView() + { + InitializeComponent(); + } + + private void Wohnhilfe_Display_Edit_Button_Click(object sender, RoutedEventArgs e) + { + popup_Wohnhilfe_Displayname_Edit.IsOpen = true; + } + + private void popup_Wohnhilfe_Displayname_Edit_Opened(object sender, EventArgs e) + { + Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Input, new Action(Textbox_SelectAll)); + } + + private void Textbox_SelectAll() + { + txt_Wohnhilfe_Displayname_Edit.Focus(); + txt_Wohnhilfe_Displayname_Edit.SelectAll(); + } + } +} diff --git a/BeWo/View/Detail/MandatorView.xaml.cs b/BeWo/View/Detail/MandatorView.xaml.cs index 267593afd..605e14faa 100644 --- a/BeWo/View/Detail/MandatorView.xaml.cs +++ b/BeWo/View/Detail/MandatorView.xaml.cs @@ -61,9 +61,16 @@ namespace BeWo.View.Detail #if DEBUG - var url2 = ServiceFacade.DoOperationsServiceSync(s => s.GetOwnChatSettingsUrl()); - HyperlinkOwnChatSettings.NavigateUri = new Uri(url2); - GroupOwnChatSettings.Visibility = Visibility.Visible; + try + { + var url2 = ServiceFacade.DoOperationsServiceSync(s => s.GetOwnChatSettingsUrl()); + HyperlinkOwnChatSettings.NavigateUri = new Uri(url2); + GroupOwnChatSettings.Visibility = Visibility.Visible; + } + catch(Exception e) + { + + } #endif } diff --git a/BeWo/View/Detail/Report/AbwesenheitsEmployeeHeader.xaml b/BeWo/View/Detail/Report/AbwesenheitsEmployeeHeader.xaml index 958286d2e..38a8dd400 100644 --- a/BeWo/View/Detail/Report/AbwesenheitsEmployeeHeader.xaml +++ b/BeWo/View/Detail/Report/AbwesenheitsEmployeeHeader.xaml @@ -1,17 +1,36 @@ - - + + - - - - + + + + diff --git a/BeWo/View/Detail/Report/AbwesenheitsView.xaml.cs b/BeWo/View/Detail/Report/AbwesenheitsView.xaml.cs index 1c81b6164..a0481658b 100644 --- a/BeWo/View/Detail/Report/AbwesenheitsView.xaml.cs +++ b/BeWo/View/Detail/Report/AbwesenheitsView.xaml.cs @@ -489,7 +489,6 @@ namespace BeWo.View.Detail.Report } } - linkPdfExport.NavigateUri = new Uri(url); } diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditControl.xaml b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditControl.xaml new file mode 100644 index 000000000..def9ae7d5 --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditControl.xaml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditControl.xaml.cs b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditControl.xaml.cs new file mode 100644 index 000000000..a1dda3700 --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditControl.xaml.cs @@ -0,0 +1,79 @@ +using BeWo.ViewModel; +using BS.Shared.Core; +using BS.Shared.DataContracts.Compact; +using DevExpress.Xpf.Scheduling; +using DevExpress.Xpf.Scheduling.VisualData; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace BeWo.View.Detail.Wohneinheit +{ + /// + /// Interaktionslogik für WohneinheitBelegungControl.xaml + /// + public partial class WohneinheitBelegungEditControl : UserControl + { + public EventHandler EventHandler2 { get; set; } + + public WohnheimVM ViewModel => DataContext as WohnheimVM; + + public WohneinheitBelegungEditControl() + { + InitializeComponent(); + } + + private void Save_Button_Click(object sender, RoutedEventArgs e) + { + ViewModel.WohneinheitBelegungListVM.AddNewVMToList(); + + Window.GetWindow(this).Close(); + } + + private void Cancel_Button_Click(object sender, RoutedEventArgs e) + { + ViewModel.WohneinheitBelegungListVM.CloseNewVM(); + + Window.GetWindow(this).Close(); + } + + private void CustomerSelectionControl_ItemSelected(object sender, EventArgs e) + { + var customer = e.Data; + + ViewModel.WohneinheitBelegungListVM.CurrentVM.Customer = customer; + } + + private void root_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) + { + if (e.OldValue != null) + return; + + var avm = e.NewValue as AppointmentWindowViewModel; + + if(avm.Appointment.SourceObject is WohneinheitBelegungVM vm) + { + groupbox_newBelegung.Header = avm.IsNewAppointment ? "Belegung erstellen" : "Belegung bearbeiten"; + btn_save.Visibility = avm.IsNewAppointment ? Visibility.Visible : Visibility.Collapsed; + btn_cancel.Visibility = avm.IsNewAppointment ? Visibility.Visible : Visibility.Collapsed; + + if (vm.Customer is object) + { + customer_selection_control.SelectedItem = vm.Customer; + //customer_selection_control.SetSelectedCustomerOid(vm.Customer.CustomerOid); + } + } + } + } +} diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditPopup.xaml b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditPopup.xaml new file mode 100644 index 000000000..65ad5ac7c --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditPopup.xaml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditPopup.xaml.cs b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditPopup.xaml.cs new file mode 100644 index 000000000..12e9f31c4 --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungEditPopup.xaml.cs @@ -0,0 +1,115 @@ +using BeWo.ViewModel; +using BeWo.ViewModel.ListViewModel; +using BS.Shared.Core; +using BS.Shared.DataContracts.Compact; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace BeWo.View.Detail.Wohneinheit +{ + /// + /// Interaktionslogik für WohneinheitBelegungEditPopup.xaml + /// + public partial class WohneinheitBelegungEditPopup : Popup + { + public static readonly DependencyProperty ViewModelProperty = + DependencyProperty.Register("ViewModel", typeof(WohnheimVM), typeof(WohneinheitBelegungEditPopup), new PropertyMetadata(null)); + + public WohnheimVM ViewModel + { + get { return DataContext as WohnheimVM; } + set { DataContext = value; } + } + + public bool AddMode { get; set; } + + public WohneinheitBelegungEditPopup() + { + InitializeComponent(); + } + + private void Save_Button_Click(object sender, RoutedEventArgs e) + { + ViewModel.WohneinheitBelegungListVM.AddNewVMToList(); + + IsOpen = false; + } + + private void Cancel_Button_Click(object sender, RoutedEventArgs e) + { + ViewModel.WohneinheitBelegungListVM.CloseNewVM(); + + IsOpen = false; + } + + private void Popup_Opened(object sender, EventArgs e) + { + var listvm = ViewModel.WohneinheitBelegungListVM; + + AddMode = listvm.EditVM is null; + + if (AddMode) + { + btn_cancel.Visibility = Visibility.Visible; + btn_save.Visibility = Visibility.Visible; + StaysOpen = true; + groupbox_newBelegung.Header = "Belegung erstellen"; + + customer_selection_control.SelectedItem = null; + } + else + { + btn_cancel.Visibility = Visibility.Collapsed; + btn_save.Visibility = Visibility.Collapsed; + StaysOpen = false; + groupbox_newBelegung.Header = "Belegung bearbeiten"; + + if (listvm.CurrentVM.Customer is object) + { + customer_selection_control.SetSelectedCustomerOid(listvm.CurrentVM.Customer.CustomerOid); + } + } + } + + private void CustomerSelectionControl_ItemSelected(object sender, EventArgs e) + { + var customer = e.Data; + + ViewModel.WohneinheitBelegungListVM.CurrentVM.Customer = customer; + } + + private void root_Popup_Closed(object sender, EventArgs e) + { + var vmlist = ViewModel.WohneinheitBelegungListVM; + var currentvm = vmlist.CurrentVM; + + root_Popup.Focus(); + + if (currentvm is object) + { + if (AddMode) + { + vmlist.CloseNewVM(); + } + else + { + vmlist.CloseEditVM(); + } + } + } + } +} diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungSchedulerView.xaml b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungSchedulerView.xaml new file mode 100644 index 000000000..56ac0bad5 --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungSchedulerView.xaml @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungSchedulerView.xaml.cs b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungSchedulerView.xaml.cs new file mode 100644 index 000000000..e19377313 --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungSchedulerView.xaml.cs @@ -0,0 +1,283 @@ +using BeWo.ViewModel; +using BS.Shared.Translation; +using DevExpress.Mvvm; +using DevExpress.Xpf.Bars; +using DevExpress.Xpf.Core; +using DevExpress.Xpf.Scheduling; +using DevExpress.XtraScheduler.Native; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using ViewBase = DevExpress.Xpf.Scheduling.ViewBase; + +namespace BeWo.View.Detail.Wohneinheit +{ + /// + /// Interaktionslogik für WohneinheitBelegungSchedulerControl.xaml + /// + public partial class WohneinheitBelegungSchedulerView : UserControl + { + public WohnheimVM ViewModel => DataContext as WohnheimVM; + + private Window _BelegungPopupWindow; + + public WohneinheitBelegungSchedulerView() + { + InitializeComponent(); + + InitScheduler(); + } + + private void InitScheduler() + { + radioButtonYear.IsChecked = true; + + timelineViewYear.IsActive = true; + + timelineViewYear.TimeScales.Clear(); + timelineViewYear.TimeScales.AddRange(new List() { + new TimeScale(TimeScaleUnit.Year) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Month) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Day) { MinWidth = 0 } + }); + + timelineViewQuartal.TimeScales.Clear(); + timelineViewQuartal.TimeScales.AddRange(new List() { + new TimeScale(TimeScaleUnit.Year) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Quarter) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Month) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Day) { MinWidth = 0} + }); + + timelineViewMonth.TimeScales.Clear(); + timelineViewMonth.TimeScales.AddRange(new List() { + new TimeScale(TimeScaleUnit.Year) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Month) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Day) { MinWidth = 0 } + }); + + timelineView4Week.TimeScales.Clear(); + timelineView4Week.TimeScales.AddRange(new List() { + new TimeScale(TimeScaleUnit.Year) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Month) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Week) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Day) { MinWidth = 0 } + }); + + timelineViewWeek.TimeScales.Clear(); + timelineViewWeek.TimeScales.AddRange(new List() { + new TimeScale(TimeScaleUnit.Year) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Month) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Week) { MinWidth = 0 }, + new TimeScale(TimeScaleUnit.Day) { MinWidth = 0 } + }); + } + + void scheduler_ActiveViewChanged(object sender, ValueChangedEventArgs e) + { + if (e.NewValue == null) return; + var selectionStart = scheduler_buchungsplan.SelectedInterval.Start; + var dates = new List() { selectionStart.Date }; + if (!CoerceDateNavigatorSelectedDates(dates)) + { + return; + } + + try + { + UpdateSelectionView(); + } + catch (Exception) + { + UpdateSelectionView(); + } + + var min = dates.Min(); + scheduler_buchungsplan.Start = min; + var intervalDuration = dates.Max().AddDays(1) - min; + + var timeline = (TimelineView)e.NewValue; + timeline.IntervalDuration = intervalDuration; + timeline.ViewportStart = min; + timeline.Zoom = TimeSpan.MinValue; + timeline.Zoom = TimeSpan.MaxValue; + + scheduler_buchungsplan.SelectedInterval = new DateTimeRange(selectionStart, TimeSpan.Zero); + } + + private void UpdateSelectionView() + { + if (timelineViewWeek.IsActive) + { + dateNavigator.CalendarView = DevExpress.Xpf.Editors.DateNavigator.DateNavigatorCalendarView.Month; + dateNavigator.SelectionView = DevExpress.Xpf.Editors.DateNavigator.DateNavigatorCalendarView.Month; + } + else if (timelineView4Week.IsActive) + { + dateNavigator.CalendarView = DevExpress.Xpf.Editors.DateNavigator.DateNavigatorCalendarView.Month; + dateNavigator.SelectionView = DevExpress.Xpf.Editors.DateNavigator.DateNavigatorCalendarView.Month; + } + else if (timelineViewMonth.IsActive) + { + dateNavigator.CalendarView = DevExpress.Xpf.Editors.DateNavigator.DateNavigatorCalendarView.Month; + dateNavigator.SelectionView = DevExpress.Xpf.Editors.DateNavigator.DateNavigatorCalendarView.Month; + } + else if (timelineViewQuartal.IsActive) + { + dateNavigator.CalendarView = DevExpress.Xpf.Editors.DateNavigator.DateNavigatorCalendarView.Month; + dateNavigator.SelectionView = DevExpress.Xpf.Editors.DateNavigator.DateNavigatorCalendarView.Month; + } + else if (timelineViewYear.IsActive) + { + dateNavigator.CalendarView = DevExpress.Xpf.Editors.DateNavigator.DateNavigatorCalendarView.Years; + dateNavigator.SelectionView = DevExpress.Xpf.Editors.DateNavigator.DateNavigatorCalendarView.Years; + } + } + + void dateNavigatorSettings_CustomizeSelectedDates(object sender, CustomizeSelectedDatesEventArgs e) + { + e.Handled = CoerceDateNavigatorSelectedDates(e.Dates); + + if (scheduler_buchungsplan.ActiveView is TimelineView timeline) + { + var intervalDuration = e.Dates.Max().AddDays(1) - e.Dates.Min(); + + if (!ViewModel.IntervalChanging && timeline.IntervalDuration != intervalDuration) + { + ViewModel.IntervalChanging = true; + + timeline.IntervalDuration = intervalDuration; + timeline.Zoom = TimeSpan.MinValue; + timeline.Zoom = TimeSpan.MaxValue; + + ViewModel.IntervalChanging = false; + } + } + } + bool CoerceDateNavigatorSelectedDates(IList dates) + { + if (dates.Count == 0) return false; + var start = dates.Min(); + var end = dates.Max(); + if (timelineViewWeek.IsActive) + { + var actualStart = DateTimeHelper.GetStartOfWeekUI(start, scheduler_buchungsplan.FirstDayOfWeek); + var actualEnd = actualStart.AddDays(7); + dates.Clear(); + while (actualStart < actualEnd) + { + dates.Add(actualStart); + actualStart = actualStart.AddDays(1); + } + return true; + } + if (timelineView4Week.IsActive) + { + var actualStart = DateTimeHelper.GetStartOfWeekUI(start, scheduler_buchungsplan.FirstDayOfWeek); + var actualEnd = actualStart.AddDays(28); + dates.Clear(); + while (actualStart < actualEnd) + { + dates.Add(actualStart); + actualStart = actualStart.AddDays(1); + } + return true; + } + if (timelineViewMonth.IsActive) + { + var actualStart = new DateTime(start.Year, start.Month, 1); + var actualEnd = actualStart.AddMonths(1); + dates.Clear(); + while (actualStart < actualEnd) + { + dates.Add(actualStart); + actualStart = actualStart.AddDays(1); + } + return true; + } + if (timelineViewYear.IsActive) + { + var actualStart = new DateTime(start.Year, 1, 1); + var actualEnd = actualStart.AddYears(1); + dates.Clear(); + while (actualStart < actualEnd) + { + dates.Add(actualStart); + actualStart = actualStart.AddDays(1); + } + return true; + } + if (timelineViewQuartal.IsActive) + { + var actualStart = new DateTime(start.Year, start.Month, 1); + var actualEnd = actualStart.AddMonths(3); + dates.Clear(); + while (actualStart < actualEnd) + { + dates.Add(actualStart); + actualStart = actualStart.AddDays(1); + } + return true; + } + return false; + } + + private void scheduler_buchungsplan_PopupMenuShowing(object sender, DevExpress.Xpf.Scheduling.PopupMenuShowingEventArgs e) + { + var accept = new ContextMenuType[] { ContextMenuType.AppointmentContextMenu, ContextMenuType.CellContextMenu }; + + if (!accept.Contains(e.MenuType)) + { + e.Cancel = true; + return; + } + + PopupMenu menu = (PopupMenu)e.Menu; + foreach (var menuItem in menu.Items) + { + var barItem = menuItem as BarItem; + + if (barItem is null) + continue; + + barItem.Content = Translator.TranslateKey(barItem.Name, "???"); + } + } + + private void scheduler_buchungsplan_AppointmentWindowShowing(object sender, AppointmentWindowShowingEventArgs e) + { + if (_BelegungPopupWindow is object && _BelegungPopupWindow.IsVisible) + { + e.Handled = true; + e.Cancel = true; + return; + } + + var vm = e.Appointment.SourceObject as WohneinheitBelegungVM; + + bool success = vm.IsNew ? ViewModel.AddBelegung(e.Appointment.ResourceId, e.Appointment.Start.Date) : ViewModel.EditBelegung(vm); + + if (success) + { + _BelegungPopupWindow = e.Window; + + e.Window.DataContext = ViewModel; + } + else + { + e.Cancel = true; + } + } + } +} diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungTableView.xaml b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungTableView.xaml new file mode 100644 index 000000000..e35c8acdb --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungTableView.xaml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitEditPopup.xaml.cs b/BeWo/View/Detail/Wohneinheit/WohneinheitEditPopup.xaml.cs new file mode 100644 index 000000000..0278fffda --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitEditPopup.xaml.cs @@ -0,0 +1,141 @@ +using BeWo.ViewModel; +using BeWo.ViewModel.ListViewModel; +using BS.Shared.Extensions; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace BeWo.View.Detail.Wohneinheit +{ + /// + /// Interaktionslogik für WohneinheitEditControl.xaml + /// + public partial class WohneinheitEditPopup : Popup + { + public static readonly DependencyProperty ViewModelProperty = DependencyProperty.Register( + "ViewModel", typeof(WohnheimVM), + typeof(WohneinheitEditPopup), + new PropertyMetadata(null) + ); + + public WohnheimVM ViewModel + { + get => (WohnheimVM)GetValue(ViewModelProperty); + set => SetValue(ViewModelProperty, value); + } + + public bool AddMode { get; set; } + + public WohneinheitEditPopup() + { + InitializeComponent(); + } + + private void Save_Button_Click(object sender, RoutedEventArgs e) + { + ViewModel.WohneinheitListVM.AddNewVMToList(); + + IsOpen = false; + } + + private void Cancel_Button_Click(object sender, RoutedEventArgs e) + { + ViewModel.WohneinheitListVM.ResetNewVM(); + + IsOpen = false; + } + + private void Popup_Opened(object sender, EventArgs e) + { + var vmlist = ViewModel.WohneinheitListVM; + + AddMode = vmlist.EditVM is null; + + if (AddMode) + { + btn_cancel.Visibility = Visibility.Visible; + btn_save.Visibility = Visibility.Visible; + StaysOpen = true; + groupbox_newWohneinheit.Header = "Wohneinheit erstellen"; + } + else + { + btn_cancel.Visibility = Visibility.Collapsed; + btn_save.Visibility = Visibility.Collapsed; + StaysOpen = false; + groupbox_newWohneinheit.Header = "Wohneinheit bearbeiten"; + + var current = vmlist.CurrentVM; + if (!string.IsNullOrEmpty(current.Wohnname) && combobox_wohnungsname.Items.Contains(current.Wohnname)) + { + combobox_wohnungsname.SelectedItem = current.Wohnname; + } + else + { + combobox_wohnungsname.SelectedItem = null; + } + } + } + + private void Popup_Closed(object sender, EventArgs e) + { + var vmlist = ViewModel.WohneinheitListVM; + var currentvm = vmlist.CurrentVM; + + if (currentvm is object) + { + if (AddMode) + { + vmlist.CurrentVM = null; + vmlist.NewVM = null; + } + else + { + vmlist.CloseEditVM(); + } + } + } + + private void SetValuesFromParent(WohneinheitVM vm, WohneinheitVM parent_vm) + { + if (vm is null || parent_vm is null) + return; + + if (vm.Stock.IsNullOrEmpty() && parent_vm.Stock.IsNotNullOrEmpty()) + { + vm.Stock = parent_vm.Stock; + } + + if (!vm.Baujahr.HasValue && parent_vm.Baujahr.HasValue) + { + vm.Baujahr = parent_vm.Baujahr; + } + } + + private void combobox_wohnungsname_DropDownClosed(object sender, EventArgs e) + { + var vm = ViewModel.WohneinheitListVM.CurrentVM; + + if (vm is null) + return; + + var selected_item = combobox_wohnungsname.SelectedItem as string; + + var selected_vm = ViewModel.WohneinheitListVM.VMList.FirstOrDefault(x => x.Wohnname == selected_item); + + SetValuesFromParent(vm, selected_vm); + } + } +} diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitGrundrissModalPopup.xaml b/BeWo/View/Detail/Wohneinheit/WohneinheitGrundrissModalPopup.xaml new file mode 100644 index 000000000..94381ecfb --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitGrundrissModalPopup.xaml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitGrundrissModalPopup.xaml.cs b/BeWo/View/Detail/Wohneinheit/WohneinheitGrundrissModalPopup.xaml.cs new file mode 100644 index 000000000..5fb24859d --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitGrundrissModalPopup.xaml.cs @@ -0,0 +1,99 @@ +using BeWo.Core; +using BeWo.ViewModel; +using BeWo.ViewModel.ListViewModel; +using BS.Shared.DataContracts; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace BeWo.View.Detail.Wohneinheit +{ + /// + /// Interaktionslogik für WohneinheitGrundrissControl.xaml + /// + public partial class WohneinheitGrundrissModalPopup : BeWoView + { + public ImageListVM Images { get; set; } + + public WohneinheitGrundrissModalPopup(ImageListVM images) + { + InitializeComponent(); + + this.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, + (s, e) => + { + BeWoApp.MainControl.CloseCurrentPopUp(); + })); + + Images = images; + + DataContext = Images.VMList; + } + + private void MenuItem_Add_Click(object sender, RoutedEventArgs e) + { + var dialog = new Microsoft.Win32.OpenFileDialog(); + dialog.Title = "Wähle einen Grundriss aus"; + dialog.Filter = "ALL supported Graphics| *.jpeg; *.jpg;*.png;"; + + // Show open file dialog box + bool? result = dialog.ShowDialog(); + + if (result != true) + return; + + var info = new FileInfo(dialog.FileName); + + if (!info.Exists) + return; + + var vm = new ImageVM(); + + vm.Filename = info.Name; + vm.Fullname = info.FullName; + vm.Original = File.ReadAllBytes(info.FullName); + + Images.VMList.Add(vm); + } + + private void MenuItem_Del_Click(object sender, RoutedEventArgs e) + { + var t = PhotosListBox.SelectedItem as ImageVM; + + if (t is null) + return; + + Images.VMList.Remove(t); + } + + private void StackPanel_MouseDown(object sender, MouseButtonEventArgs e) + { + var stackpanel = sender as StackPanel; + + var image = stackpanel?.Children?[0] as Image; + + var image_source = image?.Source; + + if (image_source is object) + { + if(e.ClickCount >= 2) + { + BeWoUtils.ShowImageForm(image_source); + } + } + } + } +} diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitVerwaltungViewV1.xaml b/BeWo/View/Detail/Wohneinheit/WohneinheitVerwaltungViewV1.xaml new file mode 100644 index 000000000..89cf58dfe --- /dev/null +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitVerwaltungViewV1.xaml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + - - - - + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - + + + - - - - - - + + + + + + - - - - - - - - - - M 0 0 L 3.5 4 L 7 0 Z - - + + + + + + + + + + M 0 0 L 3.5 4 L 7 0 Z + + - + - + - + - + + + + + \ No newline at end of file diff --git a/Data/Data.csproj b/Data/Data.csproj index 74f4feeb6..9525a2fbc 100644 --- a/Data/Data.csproj +++ b/Data/Data.csproj @@ -210,6 +210,7 @@ + @@ -302,6 +303,8 @@ + + @@ -697,6 +700,12 @@ PreserveNewest + + Designer + + + Designer + @@ -760,6 +769,9 @@ Designer + + Designer + @@ -919,6 +931,9 @@ + + Designer + diff --git a/Data/Entities/Customer.cs b/Data/Entities/Customer.cs index dd5c55788..e18e6b280 100644 --- a/Data/Entities/Customer.cs +++ b/Data/Entities/Customer.cs @@ -111,7 +111,6 @@ namespace BeWo.Data.Entities private string _InsuranceNumber; private string _VersichertenStatus; - public Customer() { _Tid = TableID.Customer; @@ -784,13 +783,9 @@ namespace BeWo.Data.Entities public virtual string Schutzstufe { get; set; } public virtual string Uebernahmeort { get; set; } - public virtual string Verhalten { get; set; } - public virtual string Betreuungsbedarf { get; set; } - public virtual string BemerkungenSbd { get; set; } - public virtual string TeamSimpleString { get @@ -810,5 +805,7 @@ namespace BeWo.Data.Entities return name; } } + + public virtual CustomerFalldaten CustomerFalldaten { get; set; } } } \ No newline at end of file diff --git a/Data/Entities/CustomerFalldaten.cs b/Data/Entities/CustomerFalldaten.cs new file mode 100644 index 000000000..15231f2c1 --- /dev/null +++ b/Data/Entities/CustomerFalldaten.cs @@ -0,0 +1,460 @@ +using System; +using System.Collections.Generic; + +using BS.Shared; +using BS.Shared.DataContracts; +using BS.Shared.DataContracts.Wohnhilfe; + +namespace BeWo.Data.Entities +{ + public class CustomerFalldaten : BeWoEntityBase + { + private string _EigenesAktenzeichen; + private DateTime? _Auftragseingang; + private ValueListEntry _Auftragsherkunft; + private ValueListEntry _Vermittlungsgrundlage; + private decimal? _Tagessatze; + private decimal? _Tagessatzhohe; + private decimal? _HoheDerGeldstrafe; + private decimal? _ZuLeistendeArbeitsstunden; + private string _Hinweis; + private DateTime? _Termin; + private FalldatenBearbeitungsstatus? _FalldatenBearbeitungsstatus; + private string _Auftragsruckgabe; + private string _Verlauf; + private decimal? _AbgeleisteteStunden; + private decimal? _ErsparteHafttage; + private decimal? _GeleisteteRatenzahlung; + private string _Bemerkung; + private decimal? _GeleisteteEinmalzahlung; + private bool _GrundArbeitsunfahig; + private bool _GrundSuchtproblem; + private bool _GrundPsychischeProbleme; + private bool _GrundKeineMotivation; + private bool _GrundInHaft; + private bool _GrundUnbekannt; + private bool _GrundKeinKontakt; + private bool _GrundNichtAngetreten; + private bool _GrundAbbruchDerTatigkeit; + private bool _GrundWiderruf; + private bool _Grund459StPO; + private bool _GrundAusbleibenDerZahlung; + private bool _BesonderheitMehrfacheBeauftragung; + private bool _BesonderheitMehrfacheVermittlung; + private bool _BesonderheitVermittlungAusHaft; + private bool _BesonderheitDurchBGBWAufgesucht; + + public CustomerFalldaten() + { + _Tid = TableID.CustomerFalldaten; + } + + public virtual string EigenesAktenzeichen + { + get { return _EigenesAktenzeichen; } + set + { + if (!AreDifferent(_EigenesAktenzeichen, value)) + return; + + _EigenesAktenzeichen = value; + } + } + + public virtual DateTime? Auftragseingang + { + get { return _Auftragseingang; } + set + { + if (!AreDifferent(_Auftragseingang, value)) + return; + + _Auftragseingang = value; + } + } + + public virtual ValueListEntry Auftragsherkunft + { + get { return _Auftragsherkunft; } + set + { + if (!AreDifferent(_Auftragsherkunft, value)) + return; + + _Auftragsherkunft = value; + } + } + + public virtual ValueListEntry Vermittlungsgrundlage + { + get { return _Vermittlungsgrundlage; } + set + { + if (!AreDifferent(_Vermittlungsgrundlage, value)) + return; + + _Vermittlungsgrundlage = value; + } + } + + public virtual decimal? Tagessatze + { + get { return _Tagessatze; } + set + { + if (!AreDifferent(_Tagessatze, value)) + return; + + _Tagessatze = value; + } + } + + public virtual decimal? Tagessatzhohe + { + get { return _Tagessatzhohe; } + set + { + if (!AreDifferent(_Tagessatzhohe, value)) + return; + + _Tagessatzhohe = value; + } + } + + public virtual decimal? HoheDerGeldstrafe + { + get { return _HoheDerGeldstrafe; } + set + { + if (!AreDifferent(_HoheDerGeldstrafe, value)) + return; + + _HoheDerGeldstrafe = value; + } + } + + public virtual decimal? ZuLeistendeArbeitsstunden + { + get { return _ZuLeistendeArbeitsstunden; } + set + { + if (!AreDifferent(_ZuLeistendeArbeitsstunden, value)) + return; + + _ZuLeistendeArbeitsstunden = value; + } + } + + public virtual string Hinweis + { + get { return _Hinweis; } + set + { + if (!AreDifferent(_Hinweis, value)) + return; + + _Hinweis = value; + } + } + + public virtual DateTime? Termin + { + get { return _Termin; } + set + { + if (!AreDifferent(_Termin, value)) + return; + + _Termin = value; + } + } + + public virtual FalldatenBearbeitungsstatus? FalldatenBearbeitungsstatus + { + get { return _FalldatenBearbeitungsstatus; } + set + { + if (!AreDifferent(_FalldatenBearbeitungsstatus, value)) + return; + + _FalldatenBearbeitungsstatus = value; + } + } + + public virtual string Auftragsruckgabe + { + get { return _Auftragsruckgabe; } + set + { + if (!AreDifferent(_Auftragsruckgabe, value)) + return; + + _Auftragsruckgabe = value; + } + } + + public virtual string Verlauf + { + get { return _Verlauf; } + set + { + if (!AreDifferent(_Verlauf, value)) + return; + + _Verlauf = value; + } + } + + public virtual decimal? AbgeleisteteStunden + { + get { return _AbgeleisteteStunden; } + set + { + if (!AreDifferent(_AbgeleisteteStunden, value)) + return; + + _AbgeleisteteStunden = value; + } + } + + public virtual decimal? ErsparteHafttage + { + get { return _ErsparteHafttage; } + set + { + if (!AreDifferent(_ErsparteHafttage, value)) + return; + + _ErsparteHafttage = value; + } + } + + public virtual decimal? GeleisteteRatenzahlung + { + get { return _GeleisteteRatenzahlung; } + set + { + if (!AreDifferent(_GeleisteteRatenzahlung, value)) + return; + + _GeleisteteRatenzahlung = value; + } + } + + public virtual string Bemerkung + { + get { return _Bemerkung; } + set + { + if (!AreDifferent(_Bemerkung, value)) + return; + + _Bemerkung = value; + } + } + + public virtual decimal? GeleisteteEinmalzahlung + { + get { return _GeleisteteEinmalzahlung; } + set + { + if (!AreDifferent(_GeleisteteEinmalzahlung, value)) + return; + + _GeleisteteEinmalzahlung = value; + } + } + + public virtual bool GrundArbeitsunfahig + { + get { return _GrundArbeitsunfahig; } + set + { + if (!AreDifferent(_GrundArbeitsunfahig, value)) + return; + + _GrundArbeitsunfahig = value; + } + } + + public virtual bool GrundSuchtproblem + { + get { return _GrundSuchtproblem; } + set + { + if (!AreDifferent(_GrundSuchtproblem, value)) + return; + + _GrundSuchtproblem = value; + } + } + + public virtual bool GrundPsychischeProbleme + { + get { return _GrundPsychischeProbleme; } + set + { + if (!AreDifferent(_GrundPsychischeProbleme, value)) + return; + + _GrundPsychischeProbleme = value; + } + } + + public virtual bool GrundKeineMotivation + { + get { return _GrundKeineMotivation; } + set + { + if (!AreDifferent(_GrundKeineMotivation, value)) + return; + + _GrundKeineMotivation = value; + } + } + + public virtual bool GrundInHaft + { + get { return _GrundInHaft; } + set + { + if (!AreDifferent(_GrundInHaft, value)) + return; + + _GrundInHaft = value; + } + } + + public virtual bool GrundUnbekannt + { + get { return _GrundUnbekannt; } + set + { + if (!AreDifferent(_GrundUnbekannt, value)) + return; + + _GrundUnbekannt = value; + } + } + + public virtual bool GrundKeinKontakt + { + get { return _GrundKeinKontakt; } + set + { + if (!AreDifferent(_GrundKeinKontakt, value)) + return; + + _GrundKeinKontakt = value; + } + } + + public virtual bool GrundNichtAngetreten + { + get { return _GrundNichtAngetreten; } + set + { + if (!AreDifferent(_GrundNichtAngetreten, value)) + return; + + _GrundNichtAngetreten = value; + } + } + + public virtual bool GrundAbbruchDerTatigkeit + { + get { return _GrundAbbruchDerTatigkeit; } + set + { + if (!AreDifferent(_GrundAbbruchDerTatigkeit, value)) + return; + + _GrundAbbruchDerTatigkeit = value; + } + } + + public virtual bool GrundWiderruf + { + get { return _GrundWiderruf; } + set + { + if (!AreDifferent(_GrundWiderruf, value)) + return; + + _GrundWiderruf = value; + } + } + + public virtual bool Grund459StPO + { + get { return _Grund459StPO; } + set + { + if (!AreDifferent(_Grund459StPO, value)) + return; + + _Grund459StPO = value; + } + } + + public virtual bool GrundAusbleibenDerZahlung + { + get { return _GrundAusbleibenDerZahlung; } + set + { + if (!AreDifferent(_GrundAusbleibenDerZahlung, value)) + return; + + _GrundAusbleibenDerZahlung = value; + } + } + + public virtual bool BesonderheitMehrfacheBeauftragung + { + get { return _BesonderheitMehrfacheBeauftragung; } + set + { + if (!AreDifferent(_BesonderheitMehrfacheBeauftragung, value)) + return; + + _BesonderheitMehrfacheBeauftragung = value; + } + } + + public virtual bool BesonderheitMehrfacheVermittlung + { + get { return _BesonderheitMehrfacheVermittlung; } + set + { + if (!AreDifferent(_BesonderheitMehrfacheVermittlung, value)) + return; + + _BesonderheitMehrfacheVermittlung = value; + } + } + + public virtual bool BesonderheitVermittlungAusHaft + { + get { return _BesonderheitVermittlungAusHaft; } + set + { + if (!AreDifferent(_BesonderheitVermittlungAusHaft, value)) + return; + + _BesonderheitVermittlungAusHaft = value; + } + } + + public virtual bool BesonderheitDurchBGBWAufgesucht + { + get { return _BesonderheitDurchBGBWAufgesucht; } + set + { + if (!AreDifferent(_BesonderheitDurchBGBWAufgesucht, value)) + return; + + _BesonderheitDurchBGBWAufgesucht = value; + } + } + } +} diff --git a/Data/Entities/Image.cs b/Data/Entities/Image.cs index 90a6c90a2..2eaf8047d 100644 --- a/Data/Entities/Image.cs +++ b/Data/Entities/Image.cs @@ -8,11 +8,15 @@ namespace BeWo.Data.Entities { public class Image : BeWoEntityBase { - public virtual byte[] Original { get; set; } + public Image() + { + _Tid = TableID.Image; + } + public virtual string Filename { get; set; } + public virtual string Fullname { get; set; } + public virtual byte[] Original { get; set; } public virtual byte[] MediumThumbnail { get; set; } - public virtual byte[] SmallThumbnail { get; set; } - } } \ No newline at end of file diff --git a/Data/Entities/Wohneinheit.cs b/Data/Entities/Wohneinheit.cs new file mode 100644 index 000000000..b53a93c03 --- /dev/null +++ b/Data/Entities/Wohneinheit.cs @@ -0,0 +1,307 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BeWo.Data.Entities +{ + public class Wohneinheit : BeWoEntityBase + { + public static string PropertyName_Wohnheim = nameof(Wohnheim); + //public static string PropertyName_WohnheimOid = nameof(WohnheimOid); + public static string PropertyName_Wohnname = nameof(Wohnname); + public static string PropertyName_Zimmername = nameof(Zimmername); + public static string PropertyName_Miete = nameof(Miete); + public static string PropertyName_Heizung = nameof(Heizung); + public static string PropertyName_Strom = nameof(Strom); + public static string PropertyName_Betriebskosten = nameof(Betriebskosten); + public static string PropertyName_SonstigeKosten = nameof(SonstigeKosten); + public static string PropertyName_Kaution = nameof(Kaution); + public static string PropertyName_QM = nameof(QM); + public static string PropertyName_Baujahr = nameof(Baujahr); + public static string PropertyName_Mobilierung = nameof(Mobilierung); + public static string PropertyName_Zusatznotiz = nameof(Zusatznotiz); + public static string PropertyName_Stock = nameof(Stock); + public static string PropertyName_Belegungen = nameof(Belegungen); + + private Wohnheim _Wohnheim; + //private long? _WohnheimOid; + private string _Wohnname; + private string _Zimmername; + private decimal? _Miete; + private decimal? _Heizung; + private decimal? _Strom; + private decimal? _Betriebskosten; + private decimal? _SonstigeKosten; + private decimal? _Kaution; + private decimal? _QM; + private int? _Baujahr; + private string _Mobilierung; + private string _Zusatznotiz; + private string _Stock; + private IList _Belegungen; + private IList _Grundrisse; + + public Wohneinheit() + { + _Tid = BS.Shared.TableID.Wohneinheit; + } + + public virtual Wohnheim Wohnheim + { + get + { + return _Wohnheim; + } + + set + { + if (AreDifferent(this._Wohnheim, value)) + { + _Wohnheim = value; + } + } + } + //public virtual long? WohnheimOid + //{ + // get + // { + // return _WohnheimOid; + // } + + // set + // { + // if (AreDifferent(this._WohnheimOid, value)) + // { + // _WohnheimOid = value; + // } + // } + //} + public virtual string Wohnname + { + get + { + return this._Wohnname; + } + + set + { + if (this.AreDifferent(this._Wohnname, value)) + { + this._Wohnname = value; + } + } + } + public virtual string Zimmername + { + get + { + return this._Zimmername; + } + + set + { + if (this.AreDifferent(this._Zimmername, value)) + { + this._Zimmername = value; + } + } + } + public virtual decimal? Miete + { + get + { + return this._Miete; + } + + set + { + if (this.AreDifferent(this._Miete, value)) + { + this._Miete = value; + } + } + } + public virtual decimal? Heizung + { + get + { + return this._Heizung; + } + + set + { + if (this.AreDifferent(this._Heizung, value)) + { + this._Heizung = value; + } + } + } + public virtual decimal? Strom + { + get + { + return this._Strom; + } + + set + { + if (this.AreDifferent(this._Strom, value)) + { + this._Strom = value; + } + } + } + public virtual decimal? Betriebskosten + { + get + { + return this._Betriebskosten; + } + + set + { + if (this.AreDifferent(this._Betriebskosten, value)) + { + this._Betriebskosten = value; + } + } + } + public virtual decimal? SonstigeKosten + { + get + { + return this._SonstigeKosten; + } + + set + { + if (this.AreDifferent(this._SonstigeKosten, value)) + { + this._SonstigeKosten = value; + } + } + } + public virtual decimal? Kaution + { + get + { + return this._Kaution; + } + + set + { + if (this.AreDifferent(this._Kaution, value)) + { + this._Kaution = value; + } + } + } + public virtual decimal? QM + { + get + { + return this._QM; + } + + set + { + if (this.AreDifferent(this._QM, value)) + { + this._QM = value; + } + } + } + public virtual int? Baujahr + { + get + { + return this._Baujahr; + } + + set + { + if (this.AreDifferent(this._Baujahr, value)) + { + this._Baujahr = value; + } + } + } + public virtual string Mobilierung + { + get + { + return this._Mobilierung; + } + + set + { + if (this.AreDifferent(this._Mobilierung, value)) + { + this._Mobilierung = value; + } + } + } + public virtual string Zusatznotiz + { + get + { + return this._Zusatznotiz; + } + + set + { + if (this.AreDifferent(this._Zusatznotiz, value)) + { + this._Zusatznotiz = value; + } + } + } + public virtual string Stock + { + get + { + return this._Stock; + } + + set + { + if (this.AreDifferent(this._Stock, value)) + { + this._Stock = value; + } + } + } + public virtual IList Belegungen + { + get + { + return this._Belegungen; + } + + set + { + if (this.AreDifferent(this._Belegungen, value)) + { + this._Belegungen = value; + } + } + } + public virtual IList Grundrisse + { + get + { + return _Grundrisse; + } + + set + { + if (AreDifferent(_Grundrisse, value)) + { + _Grundrisse = value; + } + } + } + } +} diff --git a/Data/Entities/WohneinheitBelegung.cs b/Data/Entities/WohneinheitBelegung.cs new file mode 100644 index 000000000..2dea28e56 --- /dev/null +++ b/Data/Entities/WohneinheitBelegung.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BeWo.Data.Entities +{ + public class WohneinheitBelegung : BeWoEntityBase + { + public static string PropertyName_Customer = nameof(CustomerOid); + public static string PropertyName_Wohneinheit = nameof(Wohneinheit); + public static string PropertyName_StartDate = nameof(StartDate); + public static string PropertyName_EndDate = nameof(EndDate); + public static string PropertyName_Kommentar = nameof(Kommentar); + + private long _CustomerOid; + private Wohneinheit _Wohneinheit; + private DateTime _StartDate; + private DateTime? _EndDate; + private string _Kommentar; + + public WohneinheitBelegung() + { + _Tid = BS.Shared.TableID.WohneinheitBelegung; + } + + public virtual long CustomerOid + { + get + { + return this._CustomerOid; + } + + set + { + if (this.AreDifferent(this._CustomerOid, value)) + { + this._CustomerOid = value; + } + } + } + public virtual Wohneinheit Wohneinheit + { + get + { + return this._Wohneinheit; + } + + set + { + if (this.AreDifferent(this._Wohneinheit, value)) + { + this._Wohneinheit = value; + } + } + } + public virtual DateTime StartDate + { + get + { + return this._StartDate; + } + + set + { + if (this.AreDifferent(this._StartDate, value)) + { + this._StartDate = value; + } + } + } + public virtual DateTime? EndDate + { + get + { + return this._EndDate; + } + + set + { + if (this.AreDifferent(this._EndDate, value)) + { + this._EndDate = value; + } + } + } + public virtual string Kommentar + { + get + { + return this._Kommentar; + } + + set + { + if (this.AreDifferent(this._Kommentar, value)) + { + this._Kommentar = value; + } + } + } + + } +} diff --git a/Data/Entities/Wohnheim.cs b/Data/Entities/Wohnheim.cs index 4bc973236..7f6cff9fd 100644 --- a/Data/Entities/Wohnheim.cs +++ b/Data/Entities/Wohnheim.cs @@ -35,6 +35,8 @@ namespace BeWo.Data.Entities private IList _Customer2WohnheimList; + private IList _Wohneinheiten; + public virtual string WohnheimName { get; set; } public virtual string Strasse { get; set; } @@ -84,6 +86,19 @@ namespace BeWo.Data.Entities } } + public virtual IList Wohneinheiten + { + get { return _Wohneinheiten ?? (_Wohneinheiten = new List()); } + + set + { + if (AreDifferent(_Wohneinheiten, value)) + { + _Wohneinheiten = value; + } + } + } + public override string ToString() { return "Wohnheim Name: " + WohnheimName + "\n" + "Straße: " + Strasse + "\n" + "PLZ: " + PLZ + "\n" + "Ort: "+ Ort +"\n" + "Bemerkung: " + Bemerkung; diff --git a/Data/Mappings/Customer.hbm.xml b/Data/Mappings/Customer.hbm.xml index b947ce0ed..c391e80ce 100644 --- a/Data/Mappings/Customer.hbm.xml +++ b/Data/Mappings/Customer.hbm.xml @@ -136,5 +136,6 @@ + \ No newline at end of file diff --git a/Data/Mappings/CustomerFalldaten.hbm.xml b/Data/Mappings/CustomerFalldaten.hbm.xml new file mode 100644 index 000000000..1e6eafdb3 --- /dev/null +++ b/Data/Mappings/CustomerFalldaten.hbm.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/Mappings/Image.hbm.xml b/Data/Mappings/Image.hbm.xml index 51e45b7cc..f20a6fcce 100644 --- a/Data/Mappings/Image.hbm.xml +++ b/Data/Mappings/Image.hbm.xml @@ -13,8 +13,10 @@ - - - + + + + + \ No newline at end of file diff --git a/Data/Mappings/Mapping.xsd b/Data/Mappings/Mapping.xsd new file mode 100644 index 000000000..6520be1b8 --- /dev/null +++ b/Data/Mappings/Mapping.xsd @@ -0,0 +1,1708 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A composite key may be modelled by a .NET class with a property for each key column. The class must be Serializable and override equals() and hashCode() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace used to find not-Fully Qualified Type Names + + + + + Assembly used to find not-Fully Qualified Type Names + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Set the default timeout in seconds for the underlying ADO.NET query. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Set the default timeout in seconds for the underlying ADO.NET query. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined|any|none|null|0|-1|... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The concrete collection should use a generic version or an object-based version. + + + + + + + + + + + + + + Types of polymorphism + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obsolete, please use manual instead. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/Mappings/Wohneinheit.hbm.xml b/Data/Mappings/Wohneinheit.hbm.xml new file mode 100644 index 000000000..e473b0045 --- /dev/null +++ b/Data/Mappings/Wohneinheit.hbm.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Data/Mappings/WohneinheitBelegung.hbm.xml b/Data/Mappings/WohneinheitBelegung.hbm.xml new file mode 100644 index 000000000..70107d56f --- /dev/null +++ b/Data/Mappings/WohneinheitBelegung.hbm.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Data/Mappings/Wohnheim.hbm.xml b/Data/Mappings/Wohnheim.hbm.xml index b164f3521..3cb3fd022 100644 --- a/Data/Mappings/Wohnheim.hbm.xml +++ b/Data/Mappings/Wohnheim.hbm.xml @@ -33,5 +33,9 @@ + + + + \ No newline at end of file diff --git a/Data/Security/UserRightHelper.cs b/Data/Security/UserRightHelper.cs index 76675b11e..68541c46a 100644 --- a/Data/Security/UserRightHelper.cs +++ b/Data/Security/UserRightHelper.cs @@ -12,22 +12,25 @@ namespace BeWo.Data.Security { public class UserRightHelper { - public static ApplicationUser GetLoggedInUser() - { + public static readonly string BASE_VERSION = "1.0"; - if (LoggedInUserOperationContextExt.Current != null && - LoggedInUserOperationContextExt.Current.User != null) - { - return LoggedInUserOperationContextExt.Current.User; - } - else - { - return SessionFacade.LoggedInUser; - } + public static ApplicationUser GetLoggedInUser() + { + return LoggedInUserOperationContextExt.Current?.User ?? SessionFacade.LoggedInUser; + + //if (LoggedInUserOperationContextExt.Current != null && + // LoggedInUserOperationContextExt.Current.User != null) + //{ + // return LoggedInUserOperationContextExt.Current.User; + //} + //else + //{ + // return SessionFacade.LoggedInUser; + //} - return null; - } + //return null; + } public static bool LoggedInUserHasRight(UserRightType right) { @@ -102,14 +105,14 @@ namespace BeWo.Data.Security var version = GetBeWoVersion(GetLoggedInUser().LoginName); CheckRightVersion(version, groupDC); } - + public static void CheckRightVersion(String version, UserDC userDC) - { + { foreach (var ug in userDC.UserGroups) { CheckRightVersion(version, ug); } - + } public static void CheckRightVersion(String version, UserGroupDC ug) @@ -123,7 +126,6 @@ namespace BeWo.Data.Security ug.Rights.Add(r); } } - } public static bool IsCorrectVersion(UserRightType r, string version) @@ -155,7 +157,34 @@ namespace BeWo.Data.Security { return "3.21"; } - return "1.0"; + + var rights_3_22 = new List { + UserRightType.WohnheimView_Wohneinheit_Belegung_Create, + UserRightType.WohnheimView_Wohneinheit_Belegung_Delete, + UserRightType.WohnheimView_Wohneinheit_Belegung_Edit, + UserRightType.WohnheimView_Wohneinheit_Belegung_View, + UserRightType.WohnheimView_Wohneinheit_Create, + UserRightType.WohnheimView_Wohneinheit_Delete, + UserRightType.WohnheimView_Wohneinheit_Edit, + UserRightType.WohnheimView_Wohneinheit_View, + UserRightType.WohnheimView_Wohneinheit_Gallery_Edit, + UserRightType.WohnheimView_Wohneinheit_Gallery_View, + UserRightType.Customer_GemeinnutzigeArbeit_View, + UserRightType.Customer_GemeinnutzigeArbeit_Create, + UserRightType.Customer_GemeinnutzigeArbeit_Edit, + UserRightType.Customer_GemeinnutzigeArbeit_Delete, + UserRightType.Customer_Wohnhilfe_View, + UserRightType.Customer_Wohnhilfe_Create, + UserRightType.Customer_Wohnhilfe_Edit, + UserRightType.Customer_Wohnhilfe_Delete + }; + + if (rights_3_22.Contains(r)) + { + return "3.22"; + } + + return BASE_VERSION; } } } diff --git a/Host/Host.csproj.user b/Host/Host.csproj.user index 5ee002517..f8b116048 100644 --- a/Host/Host.csproj.user +++ b/Host/Host.csproj.user @@ -3,7 +3,7 @@ BeWo2.0 true - Release|Any CPU + Debug|Any CPU false diff --git a/Model/Changes_2024_07_15 Wohneinheit.txt b/Model/Changes_2024_07_15 Wohneinheit.txt new file mode 100644 index 000000000..b2be05cd9 --- /dev/null +++ b/Model/Changes_2024_07_15 Wohneinheit.txt @@ -0,0 +1,47 @@ +CREATE TABLE `wohneinheit` ( + `Oid` bigint NOT NULL AUTO_INCREMENT, + `InsTs` datetime DEFAULT NULL, + `InsUser` varchar(256) DEFAULT NULL, + `Notice` varchar(1024) DEFAULT NULL, + `Tid` int DEFAULT NULL, + `UdpUser` varchar(256) DEFAULT NULL, + `Version` bigint DEFAULT NULL, + `IsActive` tinyint DEFAULT NULL, + `SystemEntryID` int DEFAULT NULL, + `WohnheimOid` bigint NOT NULL, + `Wohnname` varchar(256) NOT NULL, + `Zimmername` varchar(256) DEFAULT NULL, + `Miete` decimal(18,10) DEFAULT NULL, + `Heizung` decimal(18,10) DEFAULT NULL, + `Strom` decimal(18,10) DEFAULT NULL, + `Betriebskosten` decimal(18,10) DEFAULT NULL, + `SonstigeKosten` decimal(18,10) DEFAULT NULL, + `Kaution` decimal(18,10) DEFAULT NULL, + `QM` decimal(18,10) DEFAULT NULL, + `Baujahr` int DEFAULT NULL, + `Mobilierung` varchar(1024) DEFAULT NULL, + `Zusatznotiz` varchar(1024) DEFAULT NULL, + `Stock` varchar(256) DEFAULT NULL, + PRIMARY KEY (`Oid`), + CONSTRAINT `FK_WOHNEINHEIT_WOHNHEIM` FOREIGN KEY (`WohnheimOid`) REFERENCES `Wohnheim` (`Oid`) +) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1; + +CREATE TABLE `wohneinheitbelegung` ( + `Oid` bigint NOT NULL AUTO_INCREMENT, + `InsTs` datetime DEFAULT NULL, + `InsUser` varchar(256) DEFAULT NULL, + `Notice` varchar(1024) DEFAULT NULL, + `Tid` int DEFAULT NULL, + `UdpUser` varchar(256) DEFAULT NULL, + `Version` bigint DEFAULT NULL, + `IsActive` tinyint DEFAULT NULL, + `SystemEntryID` int DEFAULT NULL, + `WohneinheitOid` bigint NOT NULL, + `CustomerOid` bigint NOT NULL, + `StartDate` datetime NOT NULL, + `EndDate` datetime DEFAULT NULL, + `Kommentar` varchar(1024) DEFAULT NULL, + PRIMARY KEY (`Oid`), + CONSTRAINT `FK_WOHNEINHEITBELEGUNG_WOHNEINHEIT` FOREIGN KEY (`WohneinheitOid`) REFERENCES `Wohneinheit` (`Oid`), + CONSTRAINT `FK_WOHNEINHEITBELEGUNG_CUSTOMER` FOREIGN KEY (`CustomerOid`) REFERENCES `Customer` (`Oid`) +) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1 \ No newline at end of file diff --git a/Model/Changes_2024_08_05 CustomerFalldaten.txt b/Model/Changes_2024_08_05 CustomerFalldaten.txt new file mode 100644 index 000000000..191fbb2b7 --- /dev/null +++ b/Model/Changes_2024_08_05 CustomerFalldaten.txt @@ -0,0 +1,75 @@ +CREATE TABLE `CustomerFalldaten` ( +`Oid` bigint NOT NULL AUTO_INCREMENT, +`InsTs` datetime DEFAULT NULL, +`InsUser` varchar(256) DEFAULT NULL, +`Notice` varchar(1024) DEFAULT NULL, +`Tid` int DEFAULT NULL, +`UdpUser` varchar(256) DEFAULT NULL, +`Version` bigint DEFAULT NULL, +`IsActive` tinyint DEFAULT NULL, +`SystemEntryID` int DEFAULT NULL, +`EigenesAktenzeichen` varchar(256), +`Auftragseingang` datetime DEFAULT NULL, +`AuftragsherkunftValueListEntryOid` bigint DEFAULT NULL, +`VermittlungsgrundlageValueListEntryOid` bigint DEFAULT NULL, +`Tagessatze` decimal(18,10) DEFAULT NULL, +`Tagessatzhohe` decimal(18,10) DEFAULT NULL, +`HoheDerGeldstrafe` decimal(18,10) DEFAULT NULL, +`ZuLeistendeArbeitsstunden` decimal(18,10) DEFAULT NULL, +`Hinweis` varchar(256), +`Termin` datetime DEFAULT NULL, +`FalldatenBearbeitungsstatus` int DEFAULT NULL, +`Auftragsruckgabe` varchar(256), +`Verlauf` varchar(256), +`AbgeleisteteStunden` decimal(18,10) DEFAULT NULL, +`ErsparteHafttage` decimal(18,10) DEFAULT NULL, +`GeleisteteRatenzahlung` decimal(18,10) DEFAULT NULL, +`Bemerkung` varchar(256), +`GeleisteteEinmalzahlung` decimal(18,10) DEFAULT NULL, +`GrundArbeitsunfahig` tinyint, +`GrundSuchtproblem` tinyint, +`GrundPsychischeProbleme` tinyint, +`GrundKeineMotivation` tinyint, +`GrundInHaft` tinyint, +`GrundUnbekannt` tinyint, +`GrundKeinKontakt` tinyint, +`GrundNichtAngetreten` tinyint, +`GrundAbbruchDerTatigkeit` tinyint, +`GrundWiderruf` tinyint, +`Grund459StPO` tinyint, +`GrundAusbleibenDerZahlung` tinyint, +`BesonderheitMehrfacheBeauftragung` tinyint, +`BesonderheitMehrfacheVermittlung` tinyint, +`BesonderheitVermittlungAusHaft` tinyint, +`BesonderheitDurchBGBWAufgesucht` tinyint, +PRIMARY KEY (`Oid`) +) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1; + +ALTER TABLE `customer` +ADD COLUMN `CustomerFalldatenOid` BIGINT NULL DEFAULT NULL AFTER `VersichertenStatus`; + +ALTER TABLE `customer` +ADD INDEX `FK_CUSTOMERFALLDATEN_idx` (`CustomerFalldatenOid` ASC) VISIBLE; + +ALTER TABLE `customer` +ADD CONSTRAINT `FK_CUSTOMERFALLDATEN` + FOREIGN KEY (`CustomerFalldatenOid`) + REFERENCES `customerfalldaten` (`Oid`) + ON DELETE RESTRICT + ON UPDATE RESTRICT; + +ALTER TABLE `customerfalldaten` +ADD INDEX `FK_AUFTRAGSHERKUNFT_idx` (`AuftragsherkunftValueListEntryOid` ASC) VISIBLE, +ADD INDEX `FK_VERMITTLUNGSGRUNDLAGE_idx` (`VermittlungsgrundlageValueListEntryOid` ASC) VISIBLE; + +ALTER TABLE `customerfalldaten` +ADD CONSTRAINT `FK_AUFTRAGSHERKUNFT` + FOREIGN KEY (`AuftragsherkunftValueListEntryOid`) + REFERENCES `valuelistentry` (`Oid`) + ON DELETE RESTRICT + ON UPDATE RESTRICT, +ADD CONSTRAINT `FK_VERMITTLUNGSGRUNDLAGE` + FOREIGN KEY (`VermittlungsgrundlageValueListEntryOid`) + REFERENCES `valuelistentry` (`Oid`) + ON DELETE RESTRICT + ON UPDATE RESTRICT; diff --git a/Model/Changes_2024_08_27 Wohneinheit Grundrisse.txt b/Model/Changes_2024_08_27 Wohneinheit Grundrisse.txt new file mode 100644 index 000000000..a73f39e15 --- /dev/null +++ b/Model/Changes_2024_08_27 Wohneinheit Grundrisse.txt @@ -0,0 +1,29 @@ +ALTER TABLE `image` +DROP FOREIGN KEY `FK_EMPLOYEE`, +DROP FOREIGN KEY `FK_CUSTOMER`; +ALTER TABLE `image` +DROP COLUMN `EmployeeOid`, +DROP COLUMN `CustomerOid`, +ADD COLUMN `WohneinheitOid` BIGINT NULL DEFAULT NULL AFTER `PersonOid`, +DROP INDEX `KEY_EMPLOYEE` , +DROP INDEX `KEY_CUSTOMER` ; +; +ALTER TABLE `image` +ADD INDEX `FK_IMAGE_PERSON_idx` (`PersonOid` ASC) VISIBLE, +ADD INDEX `FK_IMAGE_WOHNEINHEIT_idx` (`WohneinheitOid` ASC) VISIBLE; +; +ALTER TABLE `image` +ADD CONSTRAINT `FK_IMAGE_PERSON` + FOREIGN KEY (`PersonOid`) + REFERENCES `person` (`Oid`) + ON DELETE CASCADE + ON UPDATE CASCADE, +ADD CONSTRAINT `FK_IMAGE_WOHNEINHEIT` + FOREIGN KEY (`WohneinheitOid`) + REFERENCES `wohneinheit` (`Oid`) + ON DELETE CASCADE + ON UPDATE CASCADE; +; +ALTER TABLE `image` +ADD COLUMN `Filename` VARCHAR(1024) NULL DEFAULT NULL AFTER `SystemEntryID`, +ADD COLUMN `Fullname` VARCHAR(1024) NULL DEFAULT NULL AFTER `Filename`; \ No newline at end of file diff --git a/Service/DCEntityMapper/AbstractIDCEntityMapper.cs b/Service/DCEntityMapper/AbstractIDCEntityMapper.cs index 7ce428943..3e11dbf3d 100644 --- a/Service/DCEntityMapper/AbstractIDCEntityMapper.cs +++ b/Service/DCEntityMapper/AbstractIDCEntityMapper.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; using BeWo.Data.Entities; @@ -38,7 +39,7 @@ namespace BeWo.Service.DCEntityMapper foreach (var iToMerge in lToMerge) { - this.MergeWithEntity(iToMerge.DataContract, iToMerge.Entity); + MergeWithEntity(iToMerge.DataContract, iToMerge.Entity); } // add new diff --git a/Service/DCEntityMapper/CompactWohnheimDC_Wohnheim.cs b/Service/DCEntityMapper/CompactWohnheimDC_Wohnheim.cs index 86f1afe8f..75d0b5406 100644 --- a/Service/DCEntityMapper/CompactWohnheimDC_Wohnheim.cs +++ b/Service/DCEntityMapper/CompactWohnheimDC_Wohnheim.cs @@ -10,6 +10,7 @@ namespace BeWo.Service.DCEntityMapper public override CompactWohnheimDC MergeWithDC(Wohnheim pEntity, CompactWohnheimDC pDataContract) { pDataContract.WohnheimOid = pEntity.Oid.Value; + pDataContract.Version = pEntity.Version.Value; pDataContract.WohnheimName = pEntity.WohnheimName; pDataContract.Strasse = pEntity.Strasse; pDataContract.PLZ = pEntity.PLZ; diff --git a/Service/DCEntityMapper/CustomerDC_Customer.cs b/Service/DCEntityMapper/CustomerDC_Customer.cs index f24f44654..39f6e44c8 100644 --- a/Service/DCEntityMapper/CustomerDC_Customer.cs +++ b/Service/DCEntityMapper/CustomerDC_Customer.cs @@ -123,6 +123,10 @@ namespace BeWo.Service.DCEntityMapper pDataContract.ICD10DiagnosisCodes = pEntity.Diagnosis2CustomerList.Select(e => e.ICD10DiagnosisCode).ToList(); } + if(pEntity.CustomerFalldaten != null) + { + pDataContract.FalldatenDC = MapperFactory.FalldatenDC_CustomerFalldaten.MapToNewDC(pEntity.CustomerFalldaten); + } IList defs = DAOFactory.SearchDAO.GetVarFieldDefs(TableID.Customer); pDataContract.CustomerVarFields = MapperFactory.VarFieldDC_VarField.VarFieldMapToDCs(defs, pEntity.VarFieldValueList); @@ -165,6 +169,23 @@ namespace BeWo.Service.DCEntityMapper MapperFactory.MedikamentenverordnungslisteDC_Medikamentenverordnungsliste.MergeWithEntitys(pDataContract.Medikamentenverordnungslisten, pEntity.Medikamentenverordnungslisten); + if(pDataContract.FalldatenDC is object) + { + if(pEntity.CustomerFalldaten is null) + { + pEntity.CustomerFalldaten = MapperFactory.FalldatenDC_CustomerFalldaten.MapToNewEntity(pDataContract.FalldatenDC); + } + else + { + MapperFactory.FalldatenDC_CustomerFalldaten.MergeWithEntity(pDataContract.FalldatenDC, pEntity.CustomerFalldaten); + } + } + else + { + pEntity.CustomerFalldaten = null; + } + + //pEntity.Jugendamt = pDataContract.Jugendamt != null ? DAOFactory.GenericDAO.LoadByID(pDataContract.Jugendamt.OrganisationOid) : null; //pEntity.Ansprechpartner = pDataContract.Ansprechpartner != null ? DAOFactory.GenericDAO.LoadByID(pDataContract.Ansprechpartner.PersonOid) : null; diff --git a/Service/DCEntityMapper/FalldatenDC_CustomerFalldaten.cs b/Service/DCEntityMapper/FalldatenDC_CustomerFalldaten.cs new file mode 100644 index 000000000..84430c92b --- /dev/null +++ b/Service/DCEntityMapper/FalldatenDC_CustomerFalldaten.cs @@ -0,0 +1,125 @@ +using System.Collections.Generic; +using System.Linq; + +using BeWo.Data.Access; +using BeWo.Data.Entities; + +using BS.Shared; +using BS.Shared.Core; +using BS.Shared.DataContracts; +using BS.Shared.DataContracts.Wohnhilfe; + +namespace BeWo.Service.DCEntityMapper +{ + public class FalldatenDC_CustomerFalldaten : AbstractIDCEntityMapper + { + public override FalldatenDC MergeWithDC(CustomerFalldaten pEntity, FalldatenDC pDataContract) + { + pDataContract.EigenesAktenzeichen = pEntity.EigenesAktenzeichen; + pDataContract.Auftragseingang = pEntity.Auftragseingang; + pDataContract.Tagessatze = pEntity.Tagessatze; + pDataContract.Tagessatzhohe = pEntity.Tagessatzhohe; + pDataContract.HoheDerGeldstrafe = pEntity.HoheDerGeldstrafe; + pDataContract.ZuLeistendeArbeitsstunden = pEntity.ZuLeistendeArbeitsstunden; + pDataContract.Hinweis = pEntity.Hinweis; + pDataContract.Termin = pEntity.Termin; + pDataContract.FalldatenBearbeitungsstatus = pEntity.FalldatenBearbeitungsstatus; + pDataContract.Auftragsruckgabe = pEntity.Auftragsruckgabe; + pDataContract.Verlauf = pEntity.Verlauf; + pDataContract.AbgeleisteteStunden = pEntity.AbgeleisteteStunden; + pDataContract.ErsparteHafttage = pEntity.ErsparteHafttage; + pDataContract.GeleisteteRatenzahlung = pEntity.GeleisteteRatenzahlung; + pDataContract.Bemerkung = pEntity.Bemerkung; + pDataContract.GeleisteteEinmalzahlung = pEntity.GeleisteteEinmalzahlung; + pDataContract.GrundArbeitsunfahig = pEntity.GrundArbeitsunfahig; + pDataContract.GrundSuchtproblem = pEntity.GrundSuchtproblem; + pDataContract.GrundPsychischeProbleme = pEntity.GrundPsychischeProbleme; + pDataContract.GrundKeineMotivation = pEntity.GrundKeineMotivation; + pDataContract.GrundInHaft = pEntity.GrundInHaft; + pDataContract.GrundUnbekannt = pEntity.GrundUnbekannt; + pDataContract.GrundKeinKontakt = pEntity.GrundKeinKontakt; + pDataContract.GrundNichtAngetreten = pEntity.GrundNichtAngetreten; + pDataContract.GrundAbbruchDerTatigkeit = pEntity.GrundAbbruchDerTatigkeit; + pDataContract.GrundWiderruf = pEntity.GrundWiderruf; + pDataContract.Grund459StPO = pEntity.Grund459StPO; + pDataContract.GrundAusbleibenDerZahlung = pEntity.GrundAusbleibenDerZahlung; + pDataContract.BesonderheitMehrfacheBeauftragung = pEntity.BesonderheitMehrfacheBeauftragung; + pDataContract.BesonderheitMehrfacheVermittlung = pEntity.BesonderheitMehrfacheVermittlung; + pDataContract.BesonderheitVermittlungAusHaft = pEntity.BesonderheitVermittlungAusHaft; + pDataContract.BesonderheitDurchBGBWAufgesucht = pEntity.BesonderheitDurchBGBWAufgesucht; + + if (pEntity.Auftragsherkunft != null) + { + pDataContract.Auftragsherkunft = MapperFactory.ValueListEntryDC_ValueListEntry.MapToNewDC(pEntity.Auftragsherkunft); + } + if (pEntity.Vermittlungsgrundlage != null) + { + pDataContract.Vermittlungsgrundlage = MapperFactory.ValueListEntryDC_ValueListEntry.MapToNewDC(pEntity.Vermittlungsgrundlage); + } + + + return pDataContract; + } + + public override CustomerFalldaten MergeWithEntity(FalldatenDC pDataContract, CustomerFalldaten pEntity) + { + pEntity.EigenesAktenzeichen = pDataContract.EigenesAktenzeichen; + pEntity.Auftragseingang = pDataContract.Auftragseingang; + pEntity.Tagessatze = pDataContract.Tagessatze; + pEntity.Tagessatzhohe = pDataContract.Tagessatzhohe; + pEntity.HoheDerGeldstrafe = pDataContract.HoheDerGeldstrafe; + pEntity.ZuLeistendeArbeitsstunden = pDataContract.ZuLeistendeArbeitsstunden; + pEntity.Hinweis = pDataContract.Hinweis; + pEntity.Termin = pDataContract.Termin; + pEntity.FalldatenBearbeitungsstatus = pDataContract.FalldatenBearbeitungsstatus; + pEntity.Auftragsruckgabe = pDataContract.Auftragsruckgabe; + pEntity.Verlauf = pDataContract.Verlauf; + pEntity.AbgeleisteteStunden = pDataContract.AbgeleisteteStunden; + pEntity.ErsparteHafttage = pDataContract.ErsparteHafttage; + pEntity.GeleisteteRatenzahlung = pDataContract.GeleisteteRatenzahlung; + pEntity.Bemerkung = pDataContract.Bemerkung; + pEntity.GeleisteteEinmalzahlung = pDataContract.GeleisteteEinmalzahlung; + pEntity.GrundArbeitsunfahig = pDataContract.GrundArbeitsunfahig; + pEntity.GrundSuchtproblem = pDataContract.GrundSuchtproblem; + pEntity.GrundPsychischeProbleme = pDataContract.GrundPsychischeProbleme; + pEntity.GrundKeineMotivation = pDataContract.GrundKeineMotivation; + pEntity.GrundInHaft = pDataContract.GrundInHaft; + pEntity.GrundUnbekannt = pDataContract.GrundUnbekannt; + pEntity.GrundKeinKontakt = pDataContract.GrundKeinKontakt; + pEntity.GrundNichtAngetreten = pDataContract.GrundNichtAngetreten; + pEntity.GrundAbbruchDerTatigkeit = pDataContract.GrundAbbruchDerTatigkeit; + pEntity.GrundWiderruf = pDataContract.GrundWiderruf; + pEntity.Grund459StPO = pDataContract.Grund459StPO; + pEntity.GrundAusbleibenDerZahlung = pDataContract.GrundAusbleibenDerZahlung; + pEntity.BesonderheitMehrfacheBeauftragung = pDataContract.BesonderheitMehrfacheBeauftragung; + pEntity.BesonderheitMehrfacheVermittlung = pDataContract.BesonderheitMehrfacheVermittlung; + pEntity.BesonderheitVermittlungAusHaft = pDataContract.BesonderheitVermittlungAusHaft; + pEntity.BesonderheitDurchBGBWAufgesucht = pDataContract.BesonderheitDurchBGBWAufgesucht; + + if (pDataContract.Auftragsherkunft == null) + { + pEntity.Auftragsherkunft = null; + } + else if (pEntity.Auftragsherkunft == null || pEntity.Auftragsherkunft.Oid != pDataContract.Auftragsherkunft.ValueListEntryOid) + { + pEntity.Auftragsherkunft = DAOFactory.GenericDAO.LoadByID(pDataContract.Auftragsherkunft.ValueListEntryOid.Value); + } + + if (pDataContract.Vermittlungsgrundlage == null) + { + pEntity.Vermittlungsgrundlage = null; + } + else if (pEntity.Vermittlungsgrundlage == null || pEntity.Vermittlungsgrundlage.Oid != pDataContract.Vermittlungsgrundlage.ValueListEntryOid) + { + pEntity.Vermittlungsgrundlage = DAOFactory.GenericDAO.LoadByID(pDataContract.Vermittlungsgrundlage.ValueListEntryOid.Value); + } + + return pEntity; + } + + protected override bool AreDCAndEntityEqual(FalldatenDC pDC, CustomerFalldaten pEntity) + { + throw new System.NotImplementedException(); + } + } +} diff --git a/Service/DCEntityMapper/ImageDC_Image.cs b/Service/DCEntityMapper/ImageDC_Image.cs new file mode 100644 index 000000000..a2f6a6536 --- /dev/null +++ b/Service/DCEntityMapper/ImageDC_Image.cs @@ -0,0 +1,56 @@ +using System.Collections.Generic; +using System.Linq; + +using BeWo.Data.Access; +using BeWo.Data.Entities; + +using BS.Shared; +using BS.Shared.Core; +using BS.Shared.DataContracts; +using BS.Shared.DataContracts.Wohnhilfe; + +namespace BeWo.Service.DCEntityMapper +{ + public class ImageDC_Image : AbstractIDCEntityMapper + { + public override ImageDC MergeWithDC(Image pEntity, ImageDC pDataContract) + { + pDataContract.Oid = pEntity.Oid; + pDataContract.Version = pEntity.Version; + pDataContract.Notice = pEntity.Notice; + + pDataContract.Filename = pEntity.Filename; + pDataContract.Fullname = pEntity.Fullname; + pDataContract.Original = pEntity.Original; + pDataContract.SmallThumbnail = pEntity.SmallThumbnail; + pDataContract.MediumThumbnail = pEntity.MediumThumbnail; + + return pDataContract; + } + + public override Image MergeWithEntity(ImageDC pDataContract, Image pEntity) + { + pEntity.Oid = pDataContract.Oid; + pEntity.Version = pDataContract.Version; + pEntity.Notice = pDataContract.Notice; + + pEntity.Filename = pDataContract.Filename; + pEntity.Fullname = pDataContract.Fullname; + pEntity.Original = pDataContract.Original; + pEntity.SmallThumbnail = pDataContract.SmallThumbnail; + pEntity.MediumThumbnail = pDataContract.MediumThumbnail; + + return pEntity; + } + + protected override bool AreDCAndEntityEqual(ImageDC pDC, Image pEntity) + { + if (pDC.Oid == null) + { + return false; + } + + return pDC.Oid == pEntity.Oid; + } + } +} diff --git a/Service/DCEntityMapper/MapperFactory.cs b/Service/DCEntityMapper/MapperFactory.cs index 2179719b5..c8855638e 100644 --- a/Service/DCEntityMapper/MapperFactory.cs +++ b/Service/DCEntityMapper/MapperFactory.cs @@ -298,6 +298,14 @@ namespace BeWo.Service.DCEntityMapper private static BargeldtransaktionshistoryDC_Bargeldtransaktionshistory _BargeldtransaktionshistoryDC_Bargeldtransaktionshistory; + private static WohneinheitDC_Wohneinheit _WohneinheitDC_Wohneinheit; + + private static WohneinheitBelegungDC_WohneinheitBelegung _WohneinheitBelegungDC_WohneinheitBelegung; + + private static FalldatenDC_CustomerFalldaten _FalldatenDC_CustomerFalldaten; + + private static ImageDC_Image _ImageDC_Image; + public static MedRecordDC_MedRecord MedRecordDC_MedRecord => _MedRecordDC_MedRecord ?? (_MedRecordDC_MedRecord = new MedRecordDC_MedRecord()); @@ -748,5 +756,17 @@ namespace BeWo.Service.DCEntityMapper public static BargeldtransaktionshistoryDC_Bargeldtransaktionshistory BargeldtransaktionshistoryDC_Bargeldtransaktionshistory => _BargeldtransaktionshistoryDC_Bargeldtransaktionshistory ?? (_BargeldtransaktionshistoryDC_Bargeldtransaktionshistory = new BargeldtransaktionshistoryDC_Bargeldtransaktionshistory()); + + public static WohneinheitDC_Wohneinheit WohneinheitDC_Wohneinheit => + _WohneinheitDC_Wohneinheit ?? (_WohneinheitDC_Wohneinheit = new WohneinheitDC_Wohneinheit()); + + public static WohneinheitBelegungDC_WohneinheitBelegung WohneinheitBelegungDC_WohneinheitBelegung => + _WohneinheitBelegungDC_WohneinheitBelegung ?? (_WohneinheitBelegungDC_WohneinheitBelegung = new WohneinheitBelegungDC_WohneinheitBelegung()); + + public static FalldatenDC_CustomerFalldaten FalldatenDC_CustomerFalldaten => + _FalldatenDC_CustomerFalldaten ?? (_FalldatenDC_CustomerFalldaten = new FalldatenDC_CustomerFalldaten()); + + public static ImageDC_Image ImageDC_Image => + _ImageDC_Image ?? (_ImageDC_Image = new ImageDC_Image()); } } \ No newline at end of file diff --git a/Service/DCEntityMapper/PersonDC_Person.cs b/Service/DCEntityMapper/PersonDC_Person.cs index 215c22ece..1fd111a60 100644 --- a/Service/DCEntityMapper/PersonDC_Person.cs +++ b/Service/DCEntityMapper/PersonDC_Person.cs @@ -245,7 +245,6 @@ namespace BeWo.Service.DCEntityMapper pEntity.Images.Add(image); } - } MapperFactory.ContactDC_Contact.MergeWithEntitys(pDataContract.ContactInformations, pEntity.Contacts); diff --git a/Service/DCEntityMapper/WohneinheitBelegungDC_WohneinheitBelegung.cs b/Service/DCEntityMapper/WohneinheitBelegungDC_WohneinheitBelegung.cs new file mode 100644 index 000000000..25edacb7c --- /dev/null +++ b/Service/DCEntityMapper/WohneinheitBelegungDC_WohneinheitBelegung.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using BeWo.Data.Access; +using BeWo.Data.Entities; + +using BS.Shared; +using BS.Shared.DataContracts; +using BS.Shared.Extensions; + +namespace BeWo.Service.DCEntityMapper +{ + public class WohneinheitBelegungDC_WohneinheitBelegung : AbstractIDCEntityMapper + { + public override void MergeWithEntitys(IList pDataContractList, IList pEntityList) + { + throw new NotImplementedException("Falscher Aufruf."); + } + + public void MergeWithEntitys(IList pDataContractList, IList pEntityList, Wohneinheit parent) + { + base.MergeWithEntitys(pDataContractList, pEntityList); + + pEntityList.DoForEach(x => x.Wohneinheit = parent); + } + + public override WohneinheitBelegungDC MergeWithDC(WohneinheitBelegung pEntity, WohneinheitBelegungDC pDataContract) + { + var customer = DAOFactory.GenericDAO.LoadByID(pEntity.CustomerOid); + + pDataContract.Customer = MapperFactory.CompactCustomerDC_Customer.MapToNewDC(customer); + + pDataContract.Oid = pEntity.Oid; + pDataContract.Notice = pEntity.Notice; + pDataContract.Version = pEntity.Version; + pDataContract.StartDate = pEntity.StartDate; + pDataContract.EndDate = pEntity.EndDate; + pDataContract.Kommentar = pEntity.Kommentar; + + return pDataContract; + } + + public override WohneinheitBelegung MergeWithEntity(WohneinheitBelegungDC pDataContract, WohneinheitBelegung pEntity) + { + pEntity.Oid = pDataContract.Oid; + pEntity.Notice = pDataContract.Notice; + pEntity.Version = pDataContract.Version; + pEntity.StartDate = pDataContract.StartDate; + pEntity.EndDate = pDataContract.EndDate; + pEntity.Kommentar = pDataContract.Kommentar; + + pEntity.CustomerOid = pDataContract.Customer.CustomerOid; + + return pEntity; + } + + protected override bool AreDCAndEntityEqual(WohneinheitBelegungDC pDC, WohneinheitBelegung pEntity) + { + if (pDC.Oid == null) + { + return false; + } + + return pDC.Oid == pEntity.Oid; + } + } +} \ No newline at end of file diff --git a/Service/DCEntityMapper/WohneinheitDC_Wohneinheit.cs b/Service/DCEntityMapper/WohneinheitDC_Wohneinheit.cs new file mode 100644 index 000000000..e7d136e33 --- /dev/null +++ b/Service/DCEntityMapper/WohneinheitDC_Wohneinheit.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.ServiceImplementations; +using BS.Shared; +using BS.Shared.DataContracts; +using BS.Shared.Extensions; + +namespace BeWo.Service.DCEntityMapper +{ + public class WohneinheitDC_Wohneinheit : AbstractIDCEntityMapper + { + public override void MergeWithEntitys(IList pDataContractList, IList pEntityList) + { + throw new NotImplementedException("Falscher Aufruf."); + } + + public void MergeWithEntitys(IList pDataContractList, IList pEntityList, Wohnheim parent) + { + base.MergeWithEntitys(pDataContractList, pEntityList); + + pEntityList.DoForEach(x => x.Wohnheim = parent); + } + + public override WohneinheitDC MergeWithDC(Wohneinheit pEntity, WohneinheitDC pDataContract) + { + pDataContract.Oid = pEntity.Oid; + pDataContract.Notice = pEntity.Notice; + pDataContract.Version = pEntity.Version; + + pDataContract.Wohnname = pEntity.Wohnname; + pDataContract.Zimmername = pEntity.Zimmername; + pDataContract.Miete = pEntity.Miete; + pDataContract.Heizung = pEntity.Heizung; + pDataContract.Strom = pEntity.Strom; + pDataContract.Betriebskosten = pEntity.Betriebskosten; + pDataContract.SonstigeKosten = pEntity.SonstigeKosten; + pDataContract.Kaution = pEntity.Kaution; + pDataContract.QM = pEntity.QM; + pDataContract.Baujahr = pEntity.Baujahr; + pDataContract.Mobilierung = pEntity.Mobilierung; + pDataContract.Zusatznotiz = pEntity.Zusatznotiz; + pDataContract.Stock = pEntity.Stock; + + if (pEntity.Belegungen is object && pEntity.Belegungen.Any()) + pDataContract.Belegungen = MapperFactory.WohneinheitBelegungDC_WohneinheitBelegung.MapToNewDCs(pEntity.Belegungen); + + if (pEntity.Grundrisse is object && pEntity.Grundrisse.Any()) + pDataContract.Grundrisse = MapperFactory.ImageDC_Image.MapToNewDCs(pEntity.Grundrisse); + + return pDataContract; + } + + public override Wohneinheit MergeWithEntity(WohneinheitDC pDataContract, Wohneinheit pEntity) + { + pEntity.Oid = pDataContract.Oid; + pEntity.Notice = pDataContract.Notice; + pEntity.Version = pDataContract.Version; + + pEntity.Wohnname = pDataContract.Wohnname; + pEntity.Zimmername = pDataContract.Zimmername; + pEntity.Miete = pDataContract.Miete; + pEntity.Heizung = pDataContract.Heizung; + pEntity.Strom = pDataContract.Strom; + pEntity.Betriebskosten = pDataContract.Betriebskosten; + pEntity.SonstigeKosten = pDataContract.SonstigeKosten; + pEntity.Kaution = pDataContract.Kaution; + pEntity.QM = pDataContract.QM; + pEntity.Baujahr = pDataContract.Baujahr; + pEntity.Mobilierung = pDataContract.Mobilierung; + pEntity.Zusatznotiz = pDataContract.Zusatznotiz; + pEntity.Stock = pDataContract.Stock; + + if (pEntity.Belegungen is null) + pEntity.Belegungen = new List(); + + MapperFactory.WohneinheitBelegungDC_WohneinheitBelegung.MergeWithEntitys(pDataContract.Belegungen, pEntity.Belegungen, pEntity); + + if (pEntity.Grundrisse is null) + pEntity.Grundrisse = new List(); + + MapperFactory.ImageDC_Image.MergeWithEntitys(pDataContract.Grundrisse, pEntity.Grundrisse); + + return pEntity; + } + + protected override bool AreDCAndEntityEqual(WohneinheitDC pDC, Wohneinheit pEntity) + { + if (pDC.Oid == null) + { + return false; + } + + return pDC.Oid == pEntity.Oid; + } + } +} \ No newline at end of file diff --git a/Service/DCEntityMapper/WohnheimDC_Wohnheim.cs b/Service/DCEntityMapper/WohnheimDC_Wohnheim.cs index 2f53fb22a..68c9fc7d3 100644 --- a/Service/DCEntityMapper/WohnheimDC_Wohnheim.cs +++ b/Service/DCEntityMapper/WohnheimDC_Wohnheim.cs @@ -5,6 +5,7 @@ using BeWo.Data.Entities; using BS.Shared; using BS.Shared.DataContracts; +using BS.Shared.Extensions; namespace BeWo.Service.DCEntityMapper { @@ -12,9 +13,6 @@ namespace BeWo.Service.DCEntityMapper { public override WohnheimDC MergeWithDC(Wohnheim pEntity, WohnheimDC pDataContract) { - pDataContract.RelatedEmployees = MapperFactory.EmployeeWohnheimRelDC_Employee2WohnheimMapper.MapToNewDCs(pEntity.Employee2WohnheimList); - pDataContract.RelatedCustomers = MapperFactory.CustomerWohnheimRelDC_Customer2WohnheimMapper.MapToNewDCs(pEntity.Customer2WohnheimList); - pDataContract.WohnheimOid = pEntity.Oid; pDataContract.WohnheimName = pEntity.WohnheimName; pDataContract.Strasse = pEntity.Strasse; @@ -30,14 +28,15 @@ namespace BeWo.Service.DCEntityMapper pDataContract.ActivationType = pEntity.IsActive; - + pDataContract.RelatedEmployees = MapperFactory.EmployeeWohnheimRelDC_Employee2WohnheimMapper.MapToNewDCs(pEntity.Employee2WohnheimList); + pDataContract.RelatedCustomers = MapperFactory.CustomerWohnheimRelDC_Customer2WohnheimMapper.MapToNewDCs(pEntity.Customer2WohnheimList); + pDataContract.Wohneinheiten = MapperFactory.WohneinheitDC_Wohneinheit.MapToNewDCs(pEntity.Wohneinheiten); return pDataContract; } public override Wohnheim MergeWithEntity(WohnheimDC pDataContract, Wohnheim pEntity) - { - + { pEntity.Oid = pDataContract.WohnheimOid; pEntity.WohnheimName = pDataContract.WohnheimName; pEntity.Strasse = pDataContract.Strasse; @@ -52,11 +51,9 @@ namespace BeWo.Service.DCEntityMapper pEntity.Sortierungsart = pDataContract.Sortierungsart; pEntity.AbsteigendeSortierung = pDataContract.AbsteigendeSortierung; - MapperFactory.EmployeeWohnheimRelDC_Employee2WohnheimMapper.MergeWithEntitys(pDataContract.RelatedEmployees, pEntity.Employee2WohnheimList); - // MapperFactory.EmployeeWohnheimRelDC_Employee2WohnheimMapper.MapToNewDCs(pEntity.Employee2WohnheimList); - //MapperFactory.CustomerWohnheimRelDC_Customer2WohnheimMapper.MapToNewDCs(pEntity.Customer2WohnheimList); MapperFactory.CustomerWohnheimRelDC_Customer2WohnheimMapper.MergeWithEntitys(pDataContract.RelatedCustomers, pEntity.Customer2WohnheimList); + MapperFactory.WohneinheitDC_Wohneinheit.MergeWithEntitys(pDataContract.Wohneinheiten, pEntity.Wohneinheiten, pEntity); return pEntity; } diff --git a/Service/Plugins/TranslationDictionary.cs b/Service/Plugins/TranslationDictionary.cs index 3b2ea5c8c..1dd470dd9 100644 --- a/Service/Plugins/TranslationDictionary.cs +++ b/Service/Plugins/TranslationDictionary.cs @@ -72,8 +72,6 @@ namespace BeWo.Service.Plugins AddOrReplaceTranslation(dict, "CustomerNotizen", "Notizen"); AddOrReplaceTranslation(dict, "EmployeeNotizen", "Notizen"); - - AddOrReplaceTranslation(dict, "OrganisationStundenplan", "Betreuungszeiten"); AddOrReplaceTranslation(dict, "CustomerStundenplan", "Betreuungszeiten"); @@ -111,6 +109,34 @@ namespace BeWo.Service.Plugins AddOrReplaceTranslation(dict, "MonatsunterschriftenstatusKlient", "Unterschrift mtl. Klient"); AddOrReplaceTranslation(dict, "MonatsunterschriftenstatusMitarbeiter", "Unterschrift mtl. Mitarbeiter"); + AddOrReplaceTranslation(dict, "GrundArbeitsunfahig", "Arbeitsunfähig"); + AddOrReplaceTranslation(dict, "GrundSuchtproblem", "Suchtproblem"); + AddOrReplaceTranslation(dict, "GrundPsychischeProbleme", "Psychische Probleme"); + AddOrReplaceTranslation(dict, "GrundKeineMotivation", "Keine Motivation"); + AddOrReplaceTranslation(dict, "GrundInHaft", "In Haft"); + AddOrReplaceTranslation(dict, "GrundUnbekannt", "Unbekannt"); + AddOrReplaceTranslation(dict, "GrundKeinKontakt", "Kein Kontakt"); + AddOrReplaceTranslation(dict, "GrundNichtAngetreten", "Nicht angetreten"); + AddOrReplaceTranslation(dict, "GrundAbbruchDerTatigkeit", "Abbruch der Tatigkeit"); + AddOrReplaceTranslation(dict, "GrundWiderruf", "Widerruf"); + AddOrReplaceTranslation(dict, "Grund459StPO", "459StPO"); + AddOrReplaceTranslation(dict, "GrundAusbleibenDerZahlung", "Ausbleiben der Zahlung"); + + AddOrReplaceTranslation(dict, "BesonderheitMehrfacheBeauftragung", "Mehrfache Beauftragung"); + AddOrReplaceTranslation(dict, "BesonderheitMehrfacheVermittlung", "Mehrfache Vermittlung"); + AddOrReplaceTranslation(dict, "BesonderheitVermittlungAusHaft", "Vermittlung aus Haft"); + AddOrReplaceTranslation(dict, "BesonderheitDurchBGBWAufgesucht", "Durch BGBW aufgesucht"); + + AddOrReplaceTranslation(dict, "ContextMenu_Items_Cell_Actions_NewAppointment", "Neue Belegung"); + AddOrReplaceTranslation(dict, "ContextMenu_Items_Cell_Actions_GotoToday", "Gehe zu"); + AddOrReplaceTranslation(dict, "ContextMenu_Items_Cell_Actions_GotoDate", "Heute"); + AddOrReplaceTranslation(dict, "ContextMenu_Items_Cell_Actions_TimeScales", "Zeitskalen"); + AddOrReplaceTranslation(dict, "ContextMenu_Items_Cell_Actions_SwitchView", "Wechsle Ansicht"); + + AddOrReplaceTranslation(dict, "ContextMenu_Items_Appointment_Actions_Open", "Belegung bearbeiten"); + AddOrReplaceTranslation(dict, "ContextMenu_Items_Appointment_Actions_Delete", "Belegung löschen"); + + AddOrReplaceTranslation(dict, "Module_DisplayName_Wohnhilfe", "Wohnhilfe"); return dict; } diff --git a/Service/Service.csproj b/Service/Service.csproj index f1e60b89d..5d82f25a8 100644 --- a/Service/Service.csproj +++ b/Service/Service.csproj @@ -227,6 +227,8 @@ + + @@ -327,9 +329,11 @@ + + diff --git a/Service/ServiceImplementations/CustomerServiceImp.cs b/Service/ServiceImplementations/CustomerServiceImp.cs index ebc8a7c80..d6480760f 100644 --- a/Service/ServiceImplementations/CustomerServiceImp.cs +++ b/Service/ServiceImplementations/CustomerServiceImp.cs @@ -2592,8 +2592,8 @@ namespace BeWo.Service.ServiceImplementations { try { - var e = DAOFactory.GenericDAO.LoadByID(pOid); - e.IsActive = ActivationTypeId.Archived; + //var e = DAOFactory.GenericDAO.LoadByID(pOid); + //e.IsActive = ActivationTypeId.Archived; ServiceLogic.SetActivationType(pOid, pVersion, ActivationTypeId.Archived); @@ -2666,7 +2666,6 @@ namespace BeWo.Service.ServiceImplementations { try { - Wohnheim lWohnheim = MapperFactory.WohnheimDC_Wohnheim.MapToNewEntity(pWohnheimDC); DAOFactory.GenericDAO.Insert(lWohnheim); return lWohnheim.Oid.Value; diff --git a/Shared/BeWoEntityEnums.cs b/Shared/BeWoEntityEnums.cs index be9acf481..be388faa4 100644 --- a/Shared/BeWoEntityEnums.cs +++ b/Shared/BeWoEntityEnums.cs @@ -172,7 +172,11 @@ namespace BS.Shared GkvAbrechnung = 165, Bargeldtransaktionshistory = 166, GkvTransferprotokoll = 167, - TwoFactorCode = 168 + Wohneinheit = 168, + WohneinheitBelegung = 169, + CustomerFalldaten = 170, + Image = 171, + TwoFactorCode = 172 } public enum SystemEntryID @@ -510,12 +514,39 @@ namespace BS.Shared Customer_EditNotizen = 22111, Customer_DeleteNotizen = 22112, + Customer_GemeinnutzigeArbeit_View = 22120, + Customer_GemeinnutzigeArbeit_Create = 22121, + Customer_GemeinnutzigeArbeit_Edit = 22122, + Customer_GemeinnutzigeArbeit_Delete = 22123, + + Customer_Wohnhilfe_View = 22130, + Customer_Wohnhilfe_Create = 22131, + Customer_Wohnhilfe_Edit = 22132, + Customer_Wohnhilfe_Delete = 22133, + WohnheimView_View = 22201, WohnheimView_Edit = 22202, WohnheimView_Create = 22203, WohnheimView_Delete = 22204, Wohnheim_AllowArchiving = 22205, + WohnheimView_Wohneinheit_View = 22211, + WohnheimView_Wohneinheit_Create = 22212, + WohnheimView_Wohneinheit_Edit = 22213, + WohnheimView_Wohneinheit_Delete = 22214, + + WohnheimView_Wohneinheit_Gallery_View = 22215, + WohnheimView_Wohneinheit_Gallery_Edit = 22216, + + Customer_ViewAbsenceTimes = 22222, + Customer_ViewBetreuung = 22223, + FinanzenRechnungenNachVersandBearbeiten = 22224, + + WohnheimView_Wohneinheit_Belegung_View = 22231, + WohnheimView_Wohneinheit_Belegung_Create = 22232, + WohnheimView_Wohneinheit_Belegung_Edit = 22233, + WohnheimView_Wohneinheit_Belegung_Delete = 22234, + Betreuungsschluessel_View = 23000, Betreuungsschluessel_Edit = 23001, Betreuungsschluessel_Delete = 23002, @@ -563,6 +594,12 @@ namespace BS.Shared //FinanzenBargeldkassenBearbeiten = 50000, + ConfirmationReceiptSignatures_Delete = 50000, + + Signature_ProvideSingleSignature = 60000, + Signature_ProvideMonthlySignature = 60001, + Signature_ProvideMonthlySignatureByProxy = 60002, + Customer_Anonymization = 171717, Customer_Full_Delete = 171718, Person_Full_Delete = 171719, @@ -574,17 +611,6 @@ namespace BS.Shared ServiceRecord_AllowEditAfterEmployeeSignature = 171724, ServiceRecord_AllowDeleteAfterEmployeeSignature = 171725, - ConfirmationReceiptSignatures_Delete = 50000, - - Signature_ProvideSingleSignature = 60000, - Signature_ProvideMonthlySignature = 60001, - Signature_ProvideMonthlySignatureByProxy = 60002, - - Customer_ViewAbsenceTimes = 22222, - Customer_ViewBetreuung = 22223, - - FinanzenRechnungenNachVersandBearbeiten = 22224, - AiChatInZeiterfassung = 180000 } @@ -624,7 +650,6 @@ namespace BS.Shared Grad3 = 2, Grad4 = 3, Grad5 = 4 - } public enum ValueListEntryType @@ -661,8 +686,9 @@ namespace BS.Shared QualifikationsBedarf = 29, NotizenKategorieCustomer = 30, NotizenKategorieEmployee = 31, - MassnahmenKatalog = 32 - + MassnahmenKatalog = 32, + Auftragsherkunft, + Vermittlungsgrundlage } public enum ContactType diff --git a/Shared/Core/AbstractIDSpecificDefaultClass.cs b/Shared/Core/AbstractIDSpecificDefaultClass.cs index dcc24fedb..2a235e033 100644 --- a/Shared/Core/AbstractIDSpecificDefaultClass.cs +++ b/Shared/Core/AbstractIDSpecificDefaultClass.cs @@ -6,25 +6,15 @@ namespace BS.Shared.Core { public class AbstractIDSpecificDefaultClass where T : AbstractIDSpecificDefaultClass, new() { - #region Constants and Fields - protected string _SpecificID = string.Empty; private static readonly Dictionary _InstanceCache = new Dictionary(); - #endregion - - #region Constructors and Destructors - - protected AbstractIDSpecificDefaultClass() {} - - #endregion - - #region Public Methods + protected AbstractIDSpecificDefaultClass() { } public static T GetInstance(string specificId, string tenant = null) { - if (specificId == null) + if (specificId == null) { specificId = tenant; } @@ -40,14 +30,14 @@ namespace BS.Shared.Core var assignableForms = allemblyTypes.Where(i => typeof(T).IsAssignableFrom(i)); var x = assignableForms.FirstOrDefault(t => t.GetCustomAttributes(typeof(IDSpecificClassAttribute), true).ToList().Exists(i => { - if(i is IDSpecificClassAttribute attribute) + if (i is IDSpecificClassAttribute attribute) { - if(attribute.Identifiers != null) + if (attribute.Identifiers != null) { return attribute.Identifiers.Contains(specificId); } - if(!string.IsNullOrEmpty(attribute.Identifier)) + if (!string.IsNullOrEmpty(attribute.Identifier)) { return attribute.Identifier.Equals(specificId); } @@ -61,15 +51,15 @@ namespace BS.Shared.Core .FirstOrDefault(t => t.GetCustomAttributes(typeof(IDSpecificClassAttribute), true) .ToList() .Exists(i => - { - var attr = (IDSpecificClassAttribute)i; - if (attr.Identifiers != null) - return attr.Identifiers.Contains(specificId); - if (!String.IsNullOrEmpty(attr.Identifier)) - return attr.Identifier.Equals(specificId); - return false; + { + var attr = (IDSpecificClassAttribute)i; + if (attr.Identifiers != null) + return attr.Identifiers.Contains(specificId); + if (!String.IsNullOrEmpty(attr.Identifier)) + return attr.Identifier.Equals(specificId); + return false; - })); + })); if (cbSpecific != null) { var instance = Activator.CreateInstance(cbSpecific) as T; @@ -81,7 +71,7 @@ namespace BS.Shared.Core if (!_InstanceCache.ContainsKey(string.Empty)) { - _InstanceCache.Add(string.Empty, + _InstanceCache.Add(string.Empty, new T { _SpecificID = specificId @@ -90,7 +80,5 @@ namespace BS.Shared.Core return _InstanceCache[string.Empty]; } - - #endregion } } \ No newline at end of file diff --git a/Shared/Core/EnumTranslations.cs b/Shared/Core/EnumTranslations.cs index 1361dbcd8..2fe6f49ef 100644 --- a/Shared/Core/EnumTranslations.cs +++ b/Shared/Core/EnumTranslations.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; - +using BS.Shared.DataContracts; +using BS.Shared.DataContracts.Wohnhilfe; using BS.Shared.Extensions; using BS.Shared.Translation; @@ -29,6 +30,8 @@ namespace BS.Shared.Core public static Dictionary UserRightType2Translations; + public static Dictionary Wohnhilfe2Translation; + public static Dictionary ValueListEntryType2Header; public static Dictionary ValueListEntryTypeTranslations; @@ -57,693 +60,9 @@ namespace BS.Shared.Core static EnumTranslations() { - #region UserRightType2Translations - UserRightType2Translations = new Dictionary - { - { - UserRightType.AccountingTransactionView_Create, Translator.Translate("Finanzen anlegen") - }, - { - UserRightType.AccountingTransactionView_Delete, Translator.Translate("Finanzen löschen") - }, - { - UserRightType.AccountingTransactionView_Edit, Translator.Translate("Finanzen ändern") - }, - { - UserRightType.AccountingTransactionView_View, Translator.Translate("Finanzen ansehen (alle)") - }, + InitUserRightTranslation(); - { - UserRightType.AdministrationView_Create, Translator.Translate("Verwaltung anlegen") - }, - { - UserRightType.AdministrationView_Delete, Translator.Translate("Verwaltung löschen") - }, - { - UserRightType.AdministrationView_Edit, Translator.Translate("Verwaltung ändern") - }, - { - UserRightType.AdministrationView_View, Translator.Translate("Verwaltung ansehen") - }, - { - UserRightType.CustomerView_Create, Translator.Translate("Klienten") + " anlegen" - }, - { - UserRightType.CustomerView_Delete, Translator.Translate("Klienten") + " löschen" - }, - { - UserRightType.Customer_AllowArchiving, Translator.Translate("Klienten") + " archivieren" - }, - { - UserRightType.CustomerView_Edit, Translator.Translate("Klienten") + " ändern" - }, - { - UserRightType.CustomerView_View, Translator.Translate("Klienten") + " ansehen (alle)" - }, - { - UserRightType.Customer_ViewMyCustomers, Translator.Translate("Klienten") + " ansehen (von " + Translator.Translate("MitarbeiterSingular") + " betreut)" - }, - { - UserRightType.Customer_ViewMyTeams, Translator.Translate("Klienten") + " ansehen (von Teams betreut)" - }, - { - UserRightType.Customer_ViewMedication, Translator.Translate("Klienten") + " Medikation ansehen" - }, - { - UserRightType.Customer_EditMedication, Translator.Translate("Klienten") + " Medikation bearbeiten" - }, - { - 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") - }, - { - UserRightType.EmployeeView_Create, Translator.Translate("MitarbeiterSingular") + " anlegen" - }, - { - UserRightType.EmployeeView_Delete, Translator.Translate("MitarbeiterSingular") + " löschen" - }, - { - UserRightType.WohnheimView_Create, Translator.Translate("Wohnprojekte anlegen") - }, - { - UserRightType.WohnheimView_Delete, Translator.Translate("Wohnprojekte löschen") - }, - { - UserRightType.WohnheimView_Edit, Translator.Translate("Wohnprojekte bearbeiten") - }, - { - UserRightType.WohnheimView_View, Translator.Translate("Wohnprojekte ansehen") - }, - { - UserRightType.Wohnheim_AllowArchiving, Translator.Translate("Wohnprojekte archivieren") - }, - { - UserRightType.EmployeeView_Edit, Translator.Translate("MitarbeiterSingular") + " ändern (alle)" - }, - { - UserRightType.EmployeeView_View, Translator.Translate("MitarbeiterSingular") + " ansehen (alle)" - }, - { - UserRightType.Employee_ShowFinance, Translator.Translate("MitarbeiterSingular") + " alle Daten bearbeiten" - }, - { - UserRightType.Employee_AllowEditExtendedProperties, Translator.Translate("MitarbeiterSingular") + " erweiterte Felder bearbeiten" - }, - { - UserRightType.Employee_AllowEditContracts, Translator.Translate("MitarbeiterSingular") + " Verträge bearbeiten" - }, - { - UserRightType.Employee_AllowEditOwnEmployees, Translator.Translate("MitarbeiterSingular") + " ändern (Eigenen)" - }, - { - UserRightType.Employee_AllowViewOwnEmployees, Translator.Translate("MitarbeiterSingular") + " ansehen (Eigenen)" - }, - { - UserRightType.Employee_AllowViewOwnTeam, Translator.Translate("MitarbeiterPlural") + " des Teams ansehen" - }, - { - UserRightType.Employee_ViewNotizen, Translator.Translate("MitarbeiterSingular") + " Notizen ansehen" - }, - { - UserRightType.Employee_EditNotizen, Translator.Translate("MitarbeiterSingular") + " Notizen bearbeiten" - }, - { - UserRightType.Employee_DeleteNotizen, Translator.Translate("MitarbeiterSingular") + " Notizen löschen" - }, - { - UserRightType.OrganisationView_Create, Translator.Translate("Organisationen anlegen") - }, - { - UserRightType.OrganisationView_Delete, Translator.Translate("Organisationen löschen") - }, - { - UserRightType.OrganisationView_Edit, Translator.Translate("Organisationen ändern") - }, - { - UserRightType.OrganisationView_View, Translator.Translate("Organisationen ansehen") - }, - { - UserRightType.Organisation_AllowArchiving, Translator.Translate("Organisationen archivieren") - }, - { - UserRightType.OrganisationView_AllowEditCostBearer, Translator.Translate("Organisationen Kostenträgerdetails bearbeiten") - }, - { - UserRightType.PersonView_Create, Translator.Translate("Personen anlegen") - }, - { - UserRightType.PersonView_Delete, Translator.Translate("Personen löschen") - }, - { - UserRightType.Person_AllowArchiving, Translator.Translate("Personen archivieren") - }, - { - UserRightType.PersonView_Edit, Translator.Translate("Personen ändern") - }, - { - UserRightType.PersonView_View, Translator.Translate("Personen ansehen") - }, - { - UserRightType.Person_FamilyView, Translator.Translate("Personen Familienangehörige ansehen") - }, - { - UserRightType.GroupOfPeopleView_Edit, Translator.Translate("Gruppen bearbeiten") - }, - { - UserRightType.GroupOfPeopleView_Create, Translator.Translate("Gruppen anlegen") - }, - { - UserRightType.GroupOfPeopleView_Delete, Translator.Translate("Gruppen löschen") - }, - { - UserRightType.AdditionalService_View, Translator.Translate("Ergänzende Dienste ansehen") - }, - { - UserRightType.AdditionalService_Edit, Translator.Translate("Ergänzende Dienste bearbeiten") - }, - { - UserRightType.OvertimeView, Translator.Translate("Überstundenverwaltung") - }, - { - UserRightType.QueryView_Create, Translator.Translate("Auswertungen anlegen") - }, - { - UserRightType.QueryView_Delete, Translator.Translate("Auswertungen löschen") - }, - { - UserRightType.QueryView_Edit, Translator.Translate("Auswertungen ändern") - }, - { - UserRightType.QueryView_View, Translator.Translate("Auswertungen ansehen (Berichte, Stundenübersicht, Hilfeplanübersicht)") - }, - { - UserRightType.Analysis_Settlement_View, Translator.Translate("Finanzen Spitzabrechnung erstellen") - }, - { - UserRightType.Analysis_EmployeeOverviewAll_View, "Auswertungen für alle " + Translator.Translate("MitarbeiterPlural") + " erstellen" - }, - { - UserRightType.Analysis_ServiceOverview_View, Translator.Translate("Auswertungen->Quittierungsbelege") - }, - { - UserRightType.Analysis_SupportConceptOverviewAll_View, Translator.Translate("Auswertungen für alle Hilfepläne erstellen") - }, - { - UserRightType.Analysis_AllowFLSOverviewForCostbearer, Translator.Translate("Auswertungen für Kostenträger erstellen") - }, - { - UserRightType.Analysis_AllowFLSOverviewForTeam, Translator.Translate("Auswertungen für eigenes Team erstellen") - }, - { - UserRightType.Analysis_AllowFLSOverviewForAllTeams, Translator.Translate("Auswertungen für alle Teams erstellen") - }, - { - UserRightType.Analysis_Auslastung_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung" - }, - { - UserRightType.Analysis_AuslastungAllEmployee_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung für alle " + Translator.Translate("MitarbeiterPlural") - }, - { - UserRightType.Analysis_AuslastungTeam_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung für alle Teams" - }, - { - UserRightType.Kilometerauswertung_View, "Auswertungen->Kilometerauswertung (für alle " + Translator.Translate("MitarbeiterPlural") + ")" - } - , - { - UserRightType.KilometerauswertungEigene_View, Translator.Translate("Auswertungen->Kilometerauswertung (nur eigene)") - } - , - { - UserRightType.BewertungAuswertung_View, Translator.Translate("Auswertungen->Bewertung") - }, - { - UserRightType.PivotTabelleAnsehen, Translator.Translate("Auswertungen->Pivot Tabelle") - }, - { - UserRightType.DienstplanungAnsehen, Translator.Translate("Auswertungen->Dienstplanung") - }, - { - UserRightType.AbwesenheitsPlanungAnsehen, Translator.Translate("Auswertungen->Urlaubsplanung") - }, - { - UserRightType.ResourceBookingView_Create, Translator.Translate("Ressourcen anlegen") - }, - { - UserRightType.ResourceBookingView_Delete, Translator.Translate("Ressourcen löschen") - }, - { - UserRightType.ResourceBookingView_Edit, Translator.Translate("Ressourcen ändern") - }, - { - UserRightType.ResourceBookingView_View, Translator.Translate("Ressourcen ansehen") - }, - { - UserRightType.ResourceBookingView_AllowEditResourcesFromOtherEmployees, "Ressourcen anderer " + Translator.Translate("MitarbeiterPlural") + " ändern" - }, - { - UserRightType.CreateAll, Translator.Translate("Alles anlegen") - }, - { - UserRightType.ServiceRecordView_Create, Translator.Translate("Zeiterfassung anlegen") - }, - { - UserRightType.ServiceRecordView_Delete, Translator.Translate("Zeiterfassung löschen") - }, - { - UserRightType.ServiceRecordView_Edit, Translator.Translate("Zeiterfassung ändern") - }, - { - UserRightType.ServiceRecordView_View, Translator.Translate("Zeiterfassung ansehen") - }, - { - UserRightType.AssessmentSheet_Create, Translator.Translate("Punktebogen anlegen") - }, - { - UserRightType.AssessmentSheet_Delete, Translator.Translate("Punktebogen löschen") - }, - { - UserRightType.AssessmentSheet_Edit, Translator.Translate("Punktebogen ändern") - }, - { - UserRightType.AssessmentSheet_View, Translator.Translate("Punktebogen ansehen") - }, - { - UserRightType.ServiceRecord_AllowChangeWithin24Hours, Translator.Translate("Zeiterfassung ändern (innerhalb von 24 Stunden)") - }, - { - UserRightType.ServiceRecord_AllowCreateServiceRecordsForAllClients, "Zeiterfassung anlegen (für alle " + Translator.Translate("Klienten") + ")" - }, - { - UserRightType.ServiceRecord_AllowCreationForOtherEmployees, "Zeiterfassung anlegen (für andere " + Translator.Translate("MitarbeiterPlural") + ")" - }, - { - UserRightType.ServiceRecord_AllowEditForOtherEmployees, "Zeiterfassung ändern (für andere " + Translator.Translate("MitarbeiterPlural") + ")" - }, - { - UserRightType.ServiceRecord_AllowCreationForOtherTeamMember, Translator.Translate("Zeiterfassung anlegen (für andere Team-Mitglieder)") - }, - { - UserRightType.ServiceRecord_AllowEditAfterMaxDaysInNextMonth, Translator.Translate("Zeiterfassung ändern (nach Ablauf der Frist im Folgemonat)") - }, - { - UserRightType.ServiceRecord_AllowCreateMoreFLSThanApproved, Translator.Translate("Zeiterfassung anlegen (nach Erreichen der genehmigten Bewilligung)") - }, - { - UserRightType.ServiceRecord_ShowHistory, Translator.Translate("Zeiterfassung Änderungshistorie anzeigen") - }, - { - UserRightType.ServiceRecord_AllowCreateOverlappingFLS, "Zeiterfassung anlegen (bei Überschneidung mit anderen Einträgen " + Translator.Translate("eines Klienten") + ")" - }, - { - UserRightType.ServiceRecord_AllowCreateOverlappingFLSForEmployee, "Zeiterfassung anlegen (bei Überschneidung mit Einträgen anderer " + Translator.Translate("MitarbeiterPlural") + ")" - }, - { - UserRightType.ServiceRecord_AllowCreatingGroupBooking, Translator.Translate("Zeiterfassung Gruppenbuchung anlegen") - }, - { - UserRightType.ServiceRecord_AllowCreatingMultiBooking, Translator.Translate("Zeiterfassung Mehrfachbuchung anlegen") - }, - { - UserRightType.BewertenInZeiterfassung, Translator.Translate("Zeiterfassung Bewertung anlegen") - }, - { - UserRightType.SupportConceptView_Create, Translator.Translate("Hilfepläne anlegen") - }, - { - UserRightType.SupportConceptView_Delete, Translator.Translate("Hilfepläne löschen") - }, - { - UserRightType.SupportConceptView_AllowArchiving, Translator.Translate("Hilfepläne archivieren") - }, - { - UserRightType.SupportConceptView_Edit, Translator.Translate("Hilfepläne ändern") - }, - { - UserRightType.SupportConceptView_View, "Hilfepläne ansehen (von " + Translator.Translate("MitarbeiterSingular") + " betreut)" - }, - { - UserRightType.SupportConcept_AllowEditGoals, Translator.Translate("Hilfepläne Ziele bearbeiten") - }, - { - UserRightType.SupportConcept_AllowEditTasks, Translator.Translate("Hilfepläne Aufgaben bearbeiten") - }, - { - UserRightType.SupportConcept_ViewAllSupportConcepts, Translator.Translate("Hilfepläne ansehen (alle)") - }, - { - UserRightType.SupportConcept_ViewMyTeams, Translator.Translate("Hilfepläne ansehen (von Teams betreut)") - }, - { - UserRightType.SupportConcept_AllowGoalOrientedSupportConcepts, Translator.Translate("Hilfepläne zielorientiert planen") - }, - { - UserRightType.SupportConcept_ImportData, Translator.Translate("Hilfepläne importieren") - }, - { - UserRightType.TeamView_Create, Translator.Translate("Teams anlegen") - }, - { - UserRightType.TeamView_Delete, Translator.Translate("Teams löschen") - }, - { - UserRightType.TeamView_Edit, Translator.Translate("Teams ändern") - }, - { - UserRightType.TeamView_ViewAll, Translator.Translate("Teams ansehen (alle)") - }, - { - UserRightType.TeamView_ViewMyTeams, Translator.Translate("Teams ansehen (nur eigene)") - }, - { - UserRightType.EditAll, Translator.Translate("Alles ändern") - }, - { - UserRightType.UserGroupView_Create, Translator.Translate("Benutzergruppen") + " anlegen" - }, - { - UserRightType.UserGroupView_Delete, Translator.Translate("Benutzergruppen") + " löschen" - }, - { - UserRightType.UserGroupView_Edit, Translator.Translate("Benutzergruppen") + " ändern" - }, - { - UserRightType.UserGroupView_View, Translator.Translate("Benutzergruppen") + " ansehen" - }, - { - UserRightType.UserView_Create, Translator.Translate("BenutzerSingular") + " anlegen" - }, - { - UserRightType.UserView_Delete, Translator.Translate("BenutzerSingular") + " löschen" - }, - { - UserRightType.UserView_Edit, Translator.Translate("BenutzerSingular") + " ändern" - }, - { - UserRightType.UserView_View, Translator.Translate("BenutzerSingular") + " ansehen" - }, - { - UserRightType.UserView_AllowChangePassword, Translator.Translate("Benutzerpasswort") + " anderer "+ Translator.Translate("BenutzerPlural") + " ändern" - }, - { - UserRightType.AllowChangeOwnPassword, Translator.Translate("Eigenes Passwort ändern") - }, - { - UserRightType.ViewAll, Translator.Translate("Alles ansehen") - }, - { - UserRightType.BookServiceRecordAfterSettlementInvoice, Translator.Translate("Zeiterfassung anlegen (wenn Spitzabrechnung bereits erstellt)") - }, - { - UserRightType.BookServiceRecordOutOfSupportConcept, Translator.Translate("Zeiterfassung anlegen (außerhalb des Hilfeplanzeitraums)") - }, - { - UserRightType.Employee_AllowArchiving, Translator.Translate("MitarbeiterSingular") + " archivieren" - }, - { - UserRightType.User_AllowOrderLicense, Translator.Translate("Neue Lizenzen bestellen") - }, - { - UserRightType.Mitarbeiterstundenkonto_ViewAll, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (Gesamt)" - }, - { - UserRightType.Mitarbeiterstundenkonto_ViewSelf, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur eigenes Konto)" - }, - { - UserRightType.Mitarbeiterstundenkonto_ViewTeams,"Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur Team)" - }, - { - UserRightType.Support_View, Translator.Translate("Supportanfragen absenden") - }, - { - UserRightType.KalenderAnsehen, Translator.Translate("Kalender ansehen") - }, - { - UserRightType.KalenderMitarbeitertermineAnsehen, "Termine anderer " + Translator.Translate("MitarbeiterPlural") + " ansehen" - }, - { - UserRightType.KalenderMitarbeitertermineAnlegen, "Termine anderer " + Translator.Translate("MitarbeiterPlural") + " anlegen" - }, - { - UserRightType.KalenderMitarbeitertermineAendern, "Termine anderer " + Translator.Translate("MitarbeiterPlural") + " ändern" - }, - { - UserRightType.KalenderKliententermineAlleAnsehen, "Termine aller " + Translator.Translate("Klienten") + " ansehen" - }, - { - UserRightType.KalenderKliententermineAnlegen, "Termine mit " + Translator.Translate("Klienten") + " anlegen" - }, - { - UserRightType.KalenderKliententermineAendern, "Termine mit " + Translator.Translate("Klienten") + " ändern" - }, - { - UserRightType.KalenderRessourcentermineAnsehen, Translator.Translate("Termine mit Ressourcen ansehen") - }, - { - UserRightType.KalenderRessourcentermineAnlegen, Translator.Translate("Termine mit Ressourcen anlegen") - }, - { - UserRightType.KalenderRessourcentermineAendern, Translator.Translate("Termine mit Ressourcen ändern") - }, - { - UserRightType.KalenderRessourcentermineAndererAendern, "Termine mit Ressourcen anderer " + Translator.Translate("MitarbeiterPlural") + " ändern" - }, - { - UserRightType.KalenderInZeiterfassungUebernehmen, Translator.Translate("Termine in Zeiterfassung übernehmen") - }, - { - UserRightType.TextbausteineAlleAnsehen, Translator.Translate("Textbausteine ansehen (allgemeine)") - }, - { - UserRightType.TextbausteineNurEigeneAnsehen, Translator.Translate("Textbausteine ansehen (eigene)") - }, - { - UserRightType.TextbausteineAlleBearbeiten, Translator.Translate("Textbausteine bearbeiten (allgemeine)") - }, - { - UserRightType.TextbausteineNurEigeneBearbeiten, Translator.Translate("Textbausteine bearbeiten (eigene)") - }, - //{ - // UserRightType.TextbausteineAlleAnlegen, Translator.Translate("Textbausteine für alle Mitarbeiter anlegen") - // }, - //{ - // UserRightType.TextbausteineNurEigeneAnlegen, Translator.Translate("Nur eigene Textbausteine anlegen") - // }, - { - UserRightType.BargeldverwaltungAnsehen, "Bargeldverwaltung aller " + Translator.Translate("Klienten") + " ansehen" - }, - { - UserRightType.BargeldverwaltungNurEigeneAnsehen, "Bargeldverwaltung der eigenen " + Translator.Translate("Klienten") + " ansehen" - }, - { - UserRightType.BargeldverwaltungAnlegen, Translator.Translate("Bargeldverwaltung anlegen") - }, - { - UserRightType.BargeldverwaltungBearbeiten, Translator.Translate("Bargeldverwaltung bearbeiten") - }, - { - UserRightType.BargeldverwaltungLoeschen, Translator.Translate("Bargeldverwaltung löschen") - }, - { - UserRightType.SupportConceptAllowReactivation, Translator.Translate("Hilfepläne reaktivieren") - }, - { - UserRightType.CustomerAllowReactivation, Translator.Translate("Klienten") + " reaktivieren" - }, - { - UserRightType.OrganisationAllowReactivation, Translator.Translate("Organisationen reaktivieren") - }, - { - UserRightType.PersonAllowReactivation, Translator.Translate("Personen reaktivieren") - }, - { - UserRightType.EmployeeAllowReactivation, Translator.Translate("MitarbeiterPlural") + " reaktivieren" - }, - { - UserRightType.ServiceRecordAllowRebooking, Translator.Translate("Zeiterfassung umbuchen") - }, - { - UserRightType.CostbearerAllowChange, Translator.Translate("Hilfepläne Kostenträger tauschen") - }, - { - UserRightType.DocumentsAllowViewAll, Translator.Translate("Dokumente bearbeiten (alle)") - }, - { - UserRightType.DocumentsDownloadAll, Translator.Translate("Dokumente herunterladen") - }, - { - UserRightType.DocumentsUploadAll, Translator.Translate("Dokumente hochladen") - }, - { - UserRightType.DocumentsDeleteAll, Translator.Translate("Dokumente löschen") - }, - { - UserRightType.DocumentsEditFolders, Translator.Translate("Dokumente Ordner bearbeiten") - }, - { - UserRightType.ServiceRecordAllowEditAfterMindays, Translator.Translate("Zeiterfassung Einträge nach Ablauf der Eingabefrist bearbeiten") - }, - { - UserRightType.Betreuungsschluessel_View, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen ansehen" - }, - { - UserRightType.Betreuungsschluessel_Create, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen anlegen" - }, - { - UserRightType.Betreuungsschluessel_Edit, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen bearbeiten" - }, - { - UserRightType.Betreuungsschluessel_Delete, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen löschen" - }, - { - UserRightType.Jahresbericht, Translator.Translate("Auswertungen->Jahresbericht") - }, - { - UserRightType.DokumenteFinanzen, Translator.Translate("Dokumente für Finanzen") - }, - { - UserRightType.DokumenteHilfeplaene, Translator.Translate("Dokumente für Hilfepläne") - }, - { - UserRightType.DokumenteKlienten, "Dokumente für " + Translator.Translate("Klienten") - }, - { - UserRightType.DokumenteMitarbeiter, "Dokumente für " + Translator.Translate("MitarbeiterPlural") - }, - { - UserRightType.DokumenteOrganisationen, Translator.Translate("Dokumente für Organisationen") - }, - { - UserRightType.DokumentePersonen, Translator.Translate("Dokumente für Personen") - }, - { - UserRightType.DokumenteTeams, Translator.Translate("Dokumente für Teams") - }, - { - UserRightType.BargeldverwaltungFinanzenAnsehen, Translator.Translate("Bargeldverwaltung unter Finanzen ansehen") - }, - { - UserRightType.BargeldverwaltungFinanzenAnlegen, Translator.Translate("Bargeldverwaltung unter Finanzen anlegen") - }, - { - UserRightType.BargeldverwaltungFinanzenBearbeiten, Translator.Translate("Bargeldverwaltung unter Finanzen bearbeiten") - }, - { - UserRightType.BargeldverwaltungFinanzenLoeschen, Translator.Translate("Bargeldverwaltung unter Finanzen löschen") - }, - { - UserRightType.VertretungenView_View, Translator.Translate("Vertretungen verwalten") - }, - - //, - // { - // UserRightType.MedRecordsAnsehen, Translator.Translate("Bedarfsmedikation ansehen") - // }, - // { - // UserRightType.MedRecordsAnlegen, Translator.Translate("Bedarfsmedikation anlegen") - // }, - // { - // UserRightType.MedRecordsAendern, Translator.Translate("Bedarfsmedikation bearbeiten") - // }, - // { - // UserRightType.MedRecordsLoeschen, Translator.Translate("Bedarfsmedikation löschen") - // }, - { - UserRightType.ChatSettings, Translator.Translate("ownChat Einstellungen") - } - , - { - UserRightType.ChatAdminSettings, Translator.Translate("ownChat Einstellungen verwalten") - } - , - { - UserRightType.CustomerTeam_View, Translator.Translate("Klienten") + "teams ansehen" - } - , - { - UserRightType.CustomerTeam_Create, Translator.Translate("Klienten") + "teams anlegen" - } - , - { - UserRightType.CustomerTeam_Edit, Translator.Translate("Klienten") + "teams bearbeiten" - } - , - { - UserRightType.CustomerTeam_Delete, Translator.Translate("Klienten") + "teams löschen" - }, - { - UserRightType.Customer_Anonymization, Translator.Translate("Klienten") + " anonymisieren" - }, - { - UserRightType.Customer_Full_Delete, Translator.Translate("Klienten") + " endgültig löschen" - }, - { - UserRightType.Person_Full_Delete, Translator.Translate("Personen endgültig löschen") - }, - { - UserRightType.Employee_Full_Delete, Translator.Translate("MitarbeiterPlural") + " endgültig löschen" - }, - { - UserRightType.Employee_Anonymization, Translator.Translate("MitarbeiterPlural") + " anonymisieren" - }, - { - UserRightType.Termine_IntervalDelete, Translator.Translate("Termine bis zum angegebenen Zeitpunkt löschen") - }, - { - UserRightType.ServiceRecord_AllowCreateAfterEmployeeSignature, "Zeiterfassung anlegen nach " + Translator.Translate("MitarbeiterPlural") + "unterschrift für Quittierungsbeleg" - }, - { - UserRightType.ServiceRecord_AllowEditAfterEmployeeSignature, "Zeiterfassung bearbeiten nach " + Translator.Translate("MitarbeiterPlural") + "unterschrift für Quittierungsbeleg" - }, - { - UserRightType.ServiceRecord_AllowDeleteAfterEmployeeSignature, "Zeiterfassung löschen nach " + Translator.Translate("MitarbeiterPlural") + "unterschrift für Quittierungsbeleg" - }, - { - UserRightType.ConfirmationReceiptSignatures_Delete, Translator.Translate("Unterschriften löschen") - }, - { - UserRightType.Auswertungen_BerichteAnsehen, Translator.Translate("Auswertungen->Berichte") - }, - { - UserRightType.Auswertungen_StundenuebersichtAnsehen, Translator.Translate("Auswertungen->Stundenübersicht") - }, - { - UserRightType.Auswertungen_HilfeplanuebersichtAnsehen, Translator.Translate("Auswertungen->Hilfeplanübersicht") - }, - { - UserRightType.Signature_ProvideSingleSignature, Translator.Translate("Unterschriften für Klienten leisten (einzeln)") - }, - { - UserRightType.Signature_ProvideMonthlySignature, Translator.Translate("Unterschriften der Mitarbeiter für den Quittierungsbeleg leisten (monatlich)") - }, - { - UserRightType.Signature_ProvideMonthlySignatureByProxy, Translator.Translate("Unterschriften der Mitarbeiter für den Quittierungsbeleg stellvertretend leisten (monatlich)") - }, - { - UserRightType.Customer_ViewAbsenceTimes, Translator.Translate($"{Translator.Translate("Klienten")} Abwesenheiten ansehen") - }, - { - UserRightType.Customer_ViewBetreuung, Translator.Translate($"{Translator.Translate("Klienten")} Betreuung ansehen") - }, - { - UserRightType.AiChatInZeiterfassung, Translator.Translate("Zeiterfassung->Anfragen an die KI stellen") - }, - { - UserRightType.FinanzenRechnungenNachVersandBearbeiten, Translator.Translate($"Finanzen->Rechnungen nach Versand bearbeiten") - } - }; - #endregion + InitWohnhilfeEnums(); #region FamilyStatusTranslations FamilyStatusTranslations = new Dictionary @@ -1003,34 +322,26 @@ namespace BS.Shared.Core }, { ValueListEntryType.MassnahmenKatalog, Translator.Translate("Maßnahmenkatalog") - } + }, + { + ValueListEntryType.Auftragsherkunft, "Auftragsherkunft" + }, + { + ValueListEntryType.Vermittlungsgrundlage, "Vermittlungsgrundlage" + }, }; #endregion #region ValueListEntryType2Header ValueListEntryType2Header = new Dictionary { - { - ValueListEntryType.AccountingTransactionType, "Kategorien von Finanzbuchungen" - }, - { - ValueListEntryType.DisabilityType, "Arten von möglichen Behinderungen" - }, - { - ValueListEntryType.EmploymentType, "Arten von möglichen Beschäftigungen" - }, - { - ValueListEntryType.CustomerCareType, "Betreuungsarten" - }, - { - ValueListEntryType.TerminationReasonType, "Gründe für Beendigung der Betreuung" - }, - { - ValueListEntryType.PlacementObjectiveType, "Vermittlung" - }, - { - ValueListEntryType.StaffActivityFocusType, "Arbeitsschwerpunkte des Personals" - }, + {ValueListEntryType.AccountingTransactionType, "Kategorien von Finanzbuchungen" }, + {ValueListEntryType.DisabilityType, "Arten von möglichen Behinderungen" }, + {ValueListEntryType.EmploymentType, "Arten von möglichen Beschäftigungen" }, + {ValueListEntryType.CustomerCareType, "Betreuungsarten" }, + {ValueListEntryType.TerminationReasonType, "Gründe für Beendigung der Betreuung" }, + {ValueListEntryType.PlacementObjectiveType, "Vermittlung" }, + {ValueListEntryType.StaffActivityFocusType, "Arbeitsschwerpunkte des Personals" }, { ValueListEntryType.StaffQualificationsType, Translator.Translate("Qualifikationen") }, @@ -1096,7 +407,13 @@ namespace BS.Shared.Core }, { ValueListEntryType.MassnahmenKatalog, Translator.Translate("Maßnahmenkatalog") - } + }, + { + ValueListEntryType.Auftragsherkunft, "Auftragsherkunft" + }, + { + ValueListEntryType.Vermittlungsgrundlage, "Vermittlungsgrundlage" + }, }; #endregion @@ -1127,7 +444,7 @@ namespace BS.Shared.Core { SupportConceptApprovalInterval.Yearly, "Jahr" } - + }; #endregion @@ -1196,8 +513,8 @@ namespace BS.Shared.Core #region FileAttachmentTypeTranslations FileAttachmentTypeTranslations = new Dictionary - { - { + { + { FileAttachmentType.CustomerTemplate, Translator.Translate("Klientenvorlage") }, { @@ -1308,6 +625,457 @@ namespace BS.Shared.Core CalendarIntervalTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates((Interval)p.Key, p.Value)); BehinderungsartTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value)); MerkzeichenTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value)); + Wohnhilfe2Translation?.DoForEach(kv => AllTranslations.Add(kv.Key, kv.Value)); + } + + private static void InitUserRightTranslation() + { + var dict = new Dictionary(); + + var action_keywords = new string[] { "ansehen", "anlegen", "bearbeiten", "löschen" }; + + dict.Add(UserRightType.CreateAll, Translator.Translate("Alles anlegen")); + + dict.Add(UserRightType.AccountingTransactionView_Create, Translator.Translate("Finanzen anlegen")); + dict.Add(UserRightType.AccountingTransactionView_Delete, Translator.Translate("Finanzen löschen")); + dict.Add(UserRightType.AccountingTransactionView_Edit, Translator.Translate("Finanzen ändern")); + dict.Add(UserRightType.AccountingTransactionView_View, Translator.Translate("Finanzen ansehen (alle)")); + + dict.Add(UserRightType.AdministrationView_Create, Translator.Translate("Verwaltung anlegen")); + dict.Add(UserRightType.AdministrationView_Delete, Translator.Translate("Verwaltung löschen")); + dict.Add(UserRightType.AdministrationView_Edit, Translator.Translate("Verwaltung ändern")); + dict.Add(UserRightType.AdministrationView_View, Translator.Translate("Verwaltung ansehen")); + + dict.Add(UserRightType.CustomerView_Create, Translator.Translate("Klienten") + " anlegen"); + dict.Add(UserRightType.CustomerView_Delete, Translator.Translate("Klienten") + " löschen"); + dict.Add(UserRightType.CustomerView_Edit, Translator.Translate("Klienten") + " ändern"); + dict.Add(UserRightType.CustomerView_View, Translator.Translate("Klienten") + " ansehen (alle)"); + dict.Add(UserRightType.Customer_AllowArchiving, Translator.Translate("Klienten") + " archivieren"); + dict.Add(UserRightType.Customer_ViewMyCustomers, Translator.Translate("Klienten") + " ansehen (von " + Translator.Translate("MitarbeiterSingular") + " betreut)"); + dict.Add(UserRightType.Customer_ViewMyTeams, Translator.Translate("Klienten") + " ansehen (von Teams betreut)"); + dict.Add(UserRightType.Customer_ViewMedication, Translator.Translate("Klienten") + " Medikation ansehen"); + dict.Add(UserRightType.Customer_EditMedication, Translator.Translate("Klienten") + " Medikation bearbeiten"); + dict.Add(UserRightType.Customer_ViewDiagnosis, Translator.Translate("Klienten") + " Diagnosen ansehen"); + dict.Add(UserRightType.Customer_ViewNotizen, Translator.Translate("Klienten") + " Notizen ansehen"); + dict.Add(UserRightType.Customer_EditNotizen, Translator.Translate("Klienten") + " Notizen bearbeiten"); + dict.Add(UserRightType.Customer_DeleteNotizen, Translator.Translate("Klienten") + " Notizen löschen"); + + dict.Add(UserRightType.Customer_GemeinnutzigeArbeit_View, $"{Translator.Translate("Klienten")} {Translator.Translate("Falldaten")} {action_keywords[0]}"); + dict.Add(UserRightType.Customer_GemeinnutzigeArbeit_Create, $"{Translator.Translate("Klienten")} {Translator.Translate("Falldaten")} {action_keywords[1]}"); + dict.Add(UserRightType.Customer_GemeinnutzigeArbeit_Edit, $"{Translator.Translate("Klienten")} {Translator.Translate("Falldaten")} {action_keywords[2]}"); + dict.Add(UserRightType.Customer_GemeinnutzigeArbeit_Delete, $"{Translator.Translate("Klienten")} {Translator.Translate("Falldaten")} {action_keywords[3]}"); + + dict.Add(UserRightType.Customer_Wohnhilfe_View, $"{Translator.Translate("Klienten")} {Translator.Translate("Wohnhilfe")} {action_keywords[0]}"); + dict.Add(UserRightType.Customer_Wohnhilfe_Create, $"{Translator.Translate("Klienten")} {Translator.Translate("Wohnhilfe")} {action_keywords[1]}"); + dict.Add(UserRightType.Customer_Wohnhilfe_Edit, $"{Translator.Translate("Klienten")} {Translator.Translate("Wohnhilfe")} {action_keywords[2]}"); + dict.Add(UserRightType.Customer_Wohnhilfe_Delete, $"{Translator.Translate("Klienten")} {Translator.Translate("Wohnhilfe")} {action_keywords[3]}"); + + dict.Add(UserRightType.DeleteAll, Translator.Translate("Alles löschen")); + dict.Add(UserRightType.EmployeeView_Create, Translator.Translate("MitarbeiterSingular") + " anlegen"); + dict.Add(UserRightType.EmployeeView_Delete, Translator.Translate("MitarbeiterSingular") + " löschen"); + dict.Add(UserRightType.EmployeeView_Edit, Translator.Translate("MitarbeiterSingular") + " ändern (alle)"); + dict.Add(UserRightType.EmployeeView_View, Translator.Translate("MitarbeiterSingular") + " ansehen (alle)"); + dict.Add(UserRightType.Employee_ShowFinance, Translator.Translate("MitarbeiterSingular") + " alle Daten bearbeiten"); + dict.Add(UserRightType.Employee_AllowEditExtendedProperties, Translator.Translate("MitarbeiterSingular") + " erweiterte Felder bearbeiten"); + dict.Add(UserRightType.Employee_AllowEditContracts, Translator.Translate("MitarbeiterSingular") + " Verträge bearbeiten"); + dict.Add(UserRightType.Employee_AllowEditOwnEmployees, Translator.Translate("MitarbeiterSingular") + " ändern (Eigenen)"); + dict.Add(UserRightType.Employee_AllowViewOwnEmployees, Translator.Translate("MitarbeiterSingular") + " ansehen (Eigenen)"); + dict.Add(UserRightType.Employee_AllowViewOwnTeam, Translator.Translate("MitarbeiterPlural") + " des Teams ansehen"); + dict.Add(UserRightType.Employee_ViewNotizen, Translator.Translate("MitarbeiterSingular") + " Notizen ansehen"); + dict.Add(UserRightType.Employee_EditNotizen, Translator.Translate("MitarbeiterSingular") + " Notizen bearbeiten"); + dict.Add(UserRightType.Employee_DeleteNotizen, Translator.Translate("MitarbeiterSingular") + " Notizen löschen"); + + dict.Add(UserRightType.OrganisationView_Create, Translator.Translate("Organisationen anlegen")); + dict.Add(UserRightType.OrganisationView_Delete, Translator.Translate("Organisationen löschen")); + dict.Add(UserRightType.OrganisationView_Edit, Translator.Translate("Organisationen ändern")); + dict.Add(UserRightType.OrganisationView_View, Translator.Translate("Organisationen ansehen")); + dict.Add(UserRightType.Organisation_AllowArchiving, Translator.Translate("Organisationen archivieren")); + dict.Add(UserRightType.OrganisationView_AllowEditCostBearer, Translator.Translate("Organisationen Kostenträgerdetails bearbeiten")); + + dict.Add(UserRightType.WohnheimView_Create, Translator.Translate("Wohnprojekte anlegen")); + dict.Add(UserRightType.WohnheimView_Delete, Translator.Translate("Wohnprojekte löschen")); + dict.Add(UserRightType.WohnheimView_Edit, Translator.Translate("Wohnprojekte bearbeiten")); + dict.Add(UserRightType.WohnheimView_View, Translator.Translate("Wohnprojekte ansehen")); + dict.Add(UserRightType.Wohnheim_AllowArchiving, Translator.Translate("Wohnprojekte archivieren")); + + dict.Add(UserRightType.WohnheimView_Wohneinheit_View, Translator.Translate("Wohnprojekte-> Wohneinheit ansehen")); + dict.Add(UserRightType.WohnheimView_Wohneinheit_Create, Translator.Translate("Wohnprojekte-> Wohneinheit anlegen")); + dict.Add(UserRightType.WohnheimView_Wohneinheit_Edit, Translator.Translate("Wohnprojekte-> Wohneinheit bearbeiten")); + dict.Add(UserRightType.WohnheimView_Wohneinheit_Delete, Translator.Translate("Wohnprojekte-> Wohneinheit löschen")); + + dict.Add(UserRightType.WohnheimView_Wohneinheit_Gallery_Edit, Translator.Translate("Wohnprojekte-> Wohneinheit Grundrisse bearbeiten")); + dict.Add(UserRightType.WohnheimView_Wohneinheit_Gallery_View, Translator.Translate("Wohnprojekte-> Wohneinheit Grundrisse ansehen")); + + dict.Add(UserRightType.WohnheimView_Wohneinheit_Belegung_View, Translator.Translate("Wohnprojekte-> Wohneinheitbelegung ansehen")); + dict.Add(UserRightType.WohnheimView_Wohneinheit_Belegung_Create, Translator.Translate("Wohnprojekte-> Wohneinheitbelegung anlegen")); + dict.Add(UserRightType.WohnheimView_Wohneinheit_Belegung_Edit, Translator.Translate("Wohnprojekte-> Wohneinheitbelegung bearbeiten")); + dict.Add(UserRightType.WohnheimView_Wohneinheit_Belegung_Delete, Translator.Translate("Wohnprojekte-> Wohneinheitbelegung löschen")); + + dict.Add(UserRightType.PersonView_Create, Translator.Translate("Personen anlegen")); + dict.Add(UserRightType.PersonView_Delete, Translator.Translate("Personen löschen")); + dict.Add(UserRightType.Person_AllowArchiving, Translator.Translate("Personen archivieren")); + dict.Add(UserRightType.PersonView_Edit, Translator.Translate("Personen ändern")); + dict.Add(UserRightType.PersonView_View, Translator.Translate("Personen ansehen")); + dict.Add(UserRightType.Person_FamilyView, Translator.Translate("Personen Familienangehörige ansehen")); + + dict.Add(UserRightType.GroupOfPeopleView_Edit, Translator.Translate("Gruppen bearbeiten")); + dict.Add(UserRightType.GroupOfPeopleView_Create, Translator.Translate("Gruppen anlegen")); + dict.Add(UserRightType.GroupOfPeopleView_Delete, Translator.Translate("Gruppen löschen")); + dict.Add(UserRightType.AdditionalService_View, Translator.Translate("Ergänzende Dienste ansehen")); + dict.Add(UserRightType.AdditionalService_Edit, Translator.Translate("Ergänzende Dienste bearbeiten")); + dict.Add(UserRightType.OvertimeView, Translator.Translate("Überstundenverwaltung")); + + dict.Add(UserRightType.QueryView_Create, Translator.Translate("Auswertungen anlegen")); + dict.Add(UserRightType.QueryView_Delete, Translator.Translate("Auswertungen löschen")); + dict.Add(UserRightType.QueryView_Edit, Translator.Translate("Auswertungen ändern")); + dict.Add(UserRightType.QueryView_View, Translator.Translate("Auswertungen ansehen (Berichte, Stundenübersicht, Hilfeplanübersicht)")); + + dict.Add(UserRightType.Analysis_Settlement_View, Translator.Translate("Finanzen Spitzabrechnung erstellen")); + dict.Add(UserRightType.Analysis_EmployeeOverviewAll_View, "Auswertungen für alle " + Translator.Translate("MitarbeiterPlural") + " erstellen"); + dict.Add(UserRightType.Analysis_ServiceOverview_View, Translator.Translate("Auswertungen->Quittierungsbelege")); + dict.Add(UserRightType.Analysis_SupportConceptOverviewAll_View, Translator.Translate("Auswertungen für alle Hilfepläne erstellen")); + dict.Add(UserRightType.Analysis_AllowFLSOverviewForCostbearer, Translator.Translate("Auswertungen für Kostenträger erstellen")); + dict.Add(UserRightType.Analysis_AllowFLSOverviewForTeam, Translator.Translate("Auswertungen für eigenes Team erstellen")); + dict.Add(UserRightType.Analysis_AllowFLSOverviewForAllTeams, Translator.Translate("Auswertungen für alle Teams erstellen")); + dict.Add(UserRightType.Analysis_Auslastung_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung"); + dict.Add(UserRightType.Analysis_AuslastungAllEmployee_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung für alle " + Translator.Translate("MitarbeiterPlural")); + dict.Add(UserRightType.Analysis_AuslastungTeam_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung für alle Teams"); + + dict.Add(UserRightType.Kilometerauswertung_View, "Auswertungen->Kilometerauswertung (für alle " + Translator.Translate("MitarbeiterPlural") + ")"); + dict.Add(UserRightType.KilometerauswertungEigene_View, Translator.Translate("Auswertungen->Kilometerauswertung (nur eigene)")); + dict.Add(UserRightType.BewertungAuswertung_View, Translator.Translate("Auswertungen->Bewertung")); + dict.Add(UserRightType.PivotTabelleAnsehen, Translator.Translate("Auswertungen->Pivot Tabelle")); + dict.Add(UserRightType.DienstplanungAnsehen, Translator.Translate("Auswertungen->Dienstplanung")); + dict.Add(UserRightType.AbwesenheitsPlanungAnsehen, Translator.Translate("Auswertungen->Urlaubsplanung")); + + dict.Add(UserRightType.ResourceBookingView_Create, Translator.Translate("Ressourcen anlegen")); + dict.Add(UserRightType.ResourceBookingView_Delete, Translator.Translate("Ressourcen löschen")); + dict.Add(UserRightType.ResourceBookingView_Edit, Translator.Translate("Ressourcen ändern")); + dict.Add(UserRightType.ResourceBookingView_View, Translator.Translate("Ressourcen ansehen")); + dict.Add(UserRightType.ResourceBookingView_AllowEditResourcesFromOtherEmployees, "Ressourcen anderer " + Translator.Translate("MitarbeiterPlural") + " ändern"); + + dict.Add(UserRightType.ServiceRecordView_Create, Translator.Translate("Zeiterfassung anlegen")); + dict.Add(UserRightType.ServiceRecordView_Delete, Translator.Translate("Zeiterfassung löschen")); + dict.Add(UserRightType.ServiceRecordView_Edit, Translator.Translate("Zeiterfassung ändern")); + dict.Add(UserRightType.ServiceRecordView_View, Translator.Translate("Zeiterfassung ansehen")); + dict.Add(UserRightType.AssessmentSheet_Create, Translator.Translate("Punktebogen anlegen")); + dict.Add(UserRightType.AssessmentSheet_Delete, Translator.Translate("Punktebogen löschen")); + dict.Add(UserRightType.AssessmentSheet_Edit, Translator.Translate("Punktebogen ändern")); + dict.Add(UserRightType.AssessmentSheet_View, Translator.Translate("Punktebogen ansehen")); + dict.Add(UserRightType.ServiceRecord_AllowChangeWithin24Hours, Translator.Translate("Zeiterfassung ändern (innerhalb von 24 Stunden)")); + dict.Add(UserRightType.ServiceRecord_AllowCreateServiceRecordsForAllClients, "Zeiterfassung anlegen (für alle " + Translator.Translate("Klienten") + ")"); + dict.Add(UserRightType.ServiceRecord_AllowCreationForOtherEmployees, "Zeiterfassung anlegen (für andere " + Translator.Translate("MitarbeiterPlural") + ")"); + dict.Add(UserRightType.ServiceRecord_AllowEditForOtherEmployees, "Zeiterfassung ändern (für andere " + Translator.Translate("MitarbeiterPlural") + ")"); + dict.Add(UserRightType.ServiceRecord_AllowCreationForOtherTeamMember, Translator.Translate("Zeiterfassung anlegen (für andere Team-Mitglieder)")); + dict.Add(UserRightType.ServiceRecord_AllowEditAfterMaxDaysInNextMonth, Translator.Translate("Zeiterfassung ändern (nach Ablauf der Frist im Folgemonat)")); + dict.Add(UserRightType.ServiceRecord_AllowCreateMoreFLSThanApproved, Translator.Translate("Zeiterfassung anlegen (nach Erreichen der genehmigten Bewilligung)")); + dict.Add(UserRightType.ServiceRecord_ShowHistory, Translator.Translate("Zeiterfassung Änderungshistorie anzeigen")); + dict.Add(UserRightType.ServiceRecord_AllowCreateOverlappingFLS, "Zeiterfassung anlegen (bei Überschneidung mit anderen Einträgen " + Translator.Translate("eines Klienten") + ")"); + dict.Add(UserRightType.ServiceRecord_AllowCreateOverlappingFLSForEmployee, "Zeiterfassung anlegen (bei Überschneidung mit Einträgen anderer " + Translator.Translate("MitarbeiterPlural") + ")"); + dict.Add(UserRightType.ServiceRecord_AllowCreatingGroupBooking, Translator.Translate("Zeiterfassung Gruppenbuchung anlegen")); + dict.Add(UserRightType.ServiceRecord_AllowCreatingMultiBooking, Translator.Translate("Zeiterfassung Mehrfachbuchung anlegen")); + dict.Add(UserRightType.BewertenInZeiterfassung, Translator.Translate("Zeiterfassung Bewertung anlegen")); + dict.Add(UserRightType.SupportConceptView_Create, Translator.Translate("Hilfepläne anlegen")); + dict.Add(UserRightType.SupportConceptView_Delete, Translator.Translate("Hilfepläne löschen")); + dict.Add(UserRightType.SupportConceptView_AllowArchiving, Translator.Translate("Hilfepläne archivieren")); + dict.Add(UserRightType.SupportConceptView_Edit, Translator.Translate("Hilfepläne ändern")); + dict.Add(UserRightType.SupportConceptView_View, "Hilfepläne ansehen (von " + Translator.Translate("MitarbeiterSingular") + " betreut)"); + dict.Add(UserRightType.SupportConcept_AllowEditGoals, Translator.Translate("Hilfepläne Ziele bearbeiten")); + dict.Add(UserRightType.SupportConcept_AllowEditTasks, Translator.Translate("Hilfepläne Aufgaben bearbeiten")); + dict.Add(UserRightType.SupportConcept_ViewAllSupportConcepts, Translator.Translate("Hilfepläne ansehen (alle)")); + dict.Add(UserRightType.SupportConcept_ViewMyTeams, Translator.Translate("Hilfepläne ansehen (von Teams betreut)")); + dict.Add(UserRightType.SupportConcept_AllowGoalOrientedSupportConcepts, Translator.Translate("Hilfepläne zielorientiert planen")); + dict.Add(UserRightType.SupportConcept_ImportData, Translator.Translate("Hilfepläne importieren")); + dict.Add(UserRightType.TeamView_Create, Translator.Translate("Teams anlegen")); + dict.Add(UserRightType.TeamView_Delete, Translator.Translate("Teams löschen")); + dict.Add(UserRightType.TeamView_Edit, Translator.Translate("Teams ändern")); + dict.Add(UserRightType.TeamView_ViewAll, Translator.Translate("Teams ansehen (alle)")); + dict.Add(UserRightType.TeamView_ViewMyTeams, Translator.Translate("Teams ansehen (nur eigene)")); + dict.Add(UserRightType.EditAll, Translator.Translate("Alles ändern")); + dict.Add(UserRightType.UserGroupView_Create, Translator.Translate("Benutzergruppen") + " anlegen"); + dict.Add(UserRightType.UserGroupView_Delete, Translator.Translate("Benutzergruppen") + " löschen"); + dict.Add(UserRightType.UserGroupView_Edit, Translator.Translate("Benutzergruppen") + " ändern"); + dict.Add(UserRightType.UserGroupView_View, Translator.Translate("Benutzergruppen") + " ansehen"); + dict.Add(UserRightType.UserView_Create, Translator.Translate("BenutzerSingular") + " anlegen"); + dict.Add(UserRightType.UserView_Delete, Translator.Translate("BenutzerSingular") + " löschen"); + dict.Add(UserRightType.UserView_Edit, Translator.Translate("BenutzerSingular") + " ändern"); + dict.Add(UserRightType.UserView_View, Translator.Translate("BenutzerSingular") + " ansehen"); + dict.Add(UserRightType.UserView_AllowChangePassword, Translator.Translate("Benutzerpasswort") + " anderer " + Translator.Translate("BenutzerPlural") + " ändern"); + dict.Add(UserRightType.AllowChangeOwnPassword, Translator.Translate("Eigenes Passwort ändern")); + dict.Add(UserRightType.ViewAll, Translator.Translate("Alles ansehen")); + dict.Add(UserRightType.BookServiceRecordAfterSettlementInvoice, Translator.Translate("Zeiterfassung anlegen (wenn Spitzabrechnung bereits erstellt)")); + dict.Add(UserRightType.BookServiceRecordOutOfSupportConcept, Translator.Translate("Zeiterfassung anlegen (außerhalb des Hilfeplanzeitraums)")); + dict.Add(UserRightType.Employee_AllowArchiving, Translator.Translate("MitarbeiterSingular") + " archivieren"); + dict.Add(UserRightType.User_AllowOrderLicense, Translator.Translate("Neue Lizenzen bestellen")); + dict.Add(UserRightType.Mitarbeiterstundenkonto_ViewAll, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (Gesamt)"); + dict.Add(UserRightType.Mitarbeiterstundenkonto_ViewSelf, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur eigenes Konto)"); + dict.Add(UserRightType.Mitarbeiterstundenkonto_ViewTeams, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur Team)"); + dict.Add(UserRightType.Support_View, Translator.Translate("Supportanfragen absenden")); + dict.Add(UserRightType.KalenderAnsehen, Translator.Translate("Kalender ansehen")); + dict.Add(UserRightType.KalenderMitarbeitertermineAnsehen, "Termine anderer " + Translator.Translate("MitarbeiterPlural") + " ansehen"); + dict.Add(UserRightType.KalenderMitarbeitertermineAnlegen, "Termine anderer " + Translator.Translate("MitarbeiterPlural") + " anlegen"); + dict.Add(UserRightType.KalenderMitarbeitertermineAendern, "Termine anderer " + Translator.Translate("MitarbeiterPlural") + " ändern"); + dict.Add(UserRightType.KalenderKliententermineAlleAnsehen, "Termine aller " + Translator.Translate("Klienten") + " ansehen"); + dict.Add(UserRightType.KalenderKliententermineAnlegen, "Termine mit " + Translator.Translate("Klienten") + " anlegen"); + dict.Add(UserRightType.KalenderKliententermineAendern, "Termine mit " + Translator.Translate("Klienten") + " ändern"); + dict.Add(UserRightType.KalenderRessourcentermineAnsehen, Translator.Translate("Termine mit Ressourcen ansehen")); + dict.Add(UserRightType.KalenderRessourcentermineAnlegen, Translator.Translate("Termine mit Ressourcen anlegen")); + dict.Add(UserRightType.KalenderRessourcentermineAendern, Translator.Translate("Termine mit Ressourcen ändern")); + dict.Add(UserRightType.KalenderRessourcentermineAndererAendern, "Termine mit Ressourcen anderer " + Translator.Translate("MitarbeiterPlural") + " ändern"); + dict.Add(UserRightType.KalenderInZeiterfassungUebernehmen, Translator.Translate("Termine in Zeiterfassung übernehmen")); + dict.Add(UserRightType.TextbausteineAlleAnsehen, Translator.Translate("Textbausteine ansehen (allgemeine)")); + dict.Add(UserRightType.TextbausteineNurEigeneAnsehen, Translator.Translate("Textbausteine ansehen (eigene)")); + dict.Add(UserRightType.TextbausteineAlleBearbeiten, Translator.Translate("Textbausteine bearbeiten (allgemeine)")); + dict.Add(UserRightType.TextbausteineNurEigeneBearbeiten, Translator.Translate("Textbausteine bearbeiten (eigene)")); + dict.Add(UserRightType.BargeldverwaltungAnsehen, "Bargeldverwaltung aller " + Translator.Translate("Klienten") + " ansehen"); + dict.Add(UserRightType.BargeldverwaltungNurEigeneAnsehen, "Bargeldverwaltung der eigenen " + Translator.Translate("Klienten") + " ansehen"); + dict.Add(UserRightType.BargeldverwaltungAnlegen, Translator.Translate("Bargeldverwaltung anlegen")); + dict.Add(UserRightType.BargeldverwaltungBearbeiten, Translator.Translate("Bargeldverwaltung bearbeiten")); + dict.Add(UserRightType.BargeldverwaltungLoeschen, Translator.Translate("Bargeldverwaltung löschen")); + dict.Add(UserRightType.SupportConceptAllowReactivation, Translator.Translate("Hilfepläne reaktivieren")); + dict.Add(UserRightType.CustomerAllowReactivation, Translator.Translate("Klienten") + " reaktivieren"); + dict.Add(UserRightType.OrganisationAllowReactivation, Translator.Translate("Organisationen reaktivieren")); + dict.Add(UserRightType.PersonAllowReactivation, Translator.Translate("Personen reaktivieren")); + dict.Add(UserRightType.EmployeeAllowReactivation, Translator.Translate("MitarbeiterPlural") + " reaktivieren"); + dict.Add(UserRightType.ServiceRecordAllowRebooking, Translator.Translate("Zeiterfassung umbuchen")); + dict.Add(UserRightType.CostbearerAllowChange, Translator.Translate("Hilfepläne Kostenträger tauschen")); + dict.Add(UserRightType.DocumentsAllowViewAll, Translator.Translate("Dokumente bearbeiten (alle)")); + dict.Add(UserRightType.DocumentsDownloadAll, Translator.Translate("Dokumente herunterladen")); + dict.Add(UserRightType.DocumentsUploadAll, Translator.Translate("Dokumente hochladen")); + dict.Add(UserRightType.DocumentsDeleteAll, Translator.Translate("Dokumente löschen")); + dict.Add(UserRightType.DocumentsEditFolders, Translator.Translate("Dokumente Ordner bearbeiten")); + dict.Add(UserRightType.ServiceRecordAllowEditAfterMindays, Translator.Translate("Zeiterfassung Einträge nach Ablauf der Eingabefrist bearbeiten")); + dict.Add(UserRightType.Betreuungsschluessel_View, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen ansehen"); + dict.Add(UserRightType.Betreuungsschluessel_Create, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen anlegen"); + dict.Add(UserRightType.Betreuungsschluessel_Edit, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen bearbeiten"); + dict.Add(UserRightType.Betreuungsschluessel_Delete, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen löschen"); + dict.Add(UserRightType.Jahresbericht, Translator.Translate("Auswertungen->Jahresbericht")); + dict.Add(UserRightType.DokumenteFinanzen, Translator.Translate("Dokumente für Finanzen")); + dict.Add(UserRightType.DokumenteHilfeplaene, Translator.Translate("Dokumente für Hilfepläne")); + dict.Add(UserRightType.DokumenteKlienten, "Dokumente für " + Translator.Translate("Klienten")); + dict.Add(UserRightType.DokumenteMitarbeiter, "Dokumente für " + Translator.Translate("MitarbeiterPlural")); + dict.Add(UserRightType.DokumenteOrganisationen, Translator.Translate("Dokumente für Organisationen")); + dict.Add(UserRightType.DokumentePersonen, Translator.Translate("Dokumente für Personen")); + dict.Add(UserRightType.DokumenteTeams, Translator.Translate("Dokumente für Teams")); + dict.Add(UserRightType.BargeldverwaltungFinanzenAnsehen, Translator.Translate("Bargeldverwaltung unter Finanzen ansehen")); + dict.Add(UserRightType.BargeldverwaltungFinanzenAnlegen, Translator.Translate("Bargeldverwaltung unter Finanzen anlegen")); + dict.Add(UserRightType.BargeldverwaltungFinanzenBearbeiten, Translator.Translate("Bargeldverwaltung unter Finanzen bearbeiten")); + dict.Add(UserRightType.BargeldverwaltungFinanzenLoeschen, Translator.Translate("Bargeldverwaltung unter Finanzen löschen")); + dict.Add(UserRightType.VertretungenView_View, Translator.Translate("Vertretungen verwalten")); + dict.Add(UserRightType.ChatSettings, Translator.Translate("ownChat Einstellungen")); + dict.Add(UserRightType.ChatAdminSettings, Translator.Translate("ownChat Einstellungen verwalten")); + dict.Add(UserRightType.CustomerTeam_View, Translator.Translate("Klienten") + "teams ansehen"); + dict.Add(UserRightType.CustomerTeam_Create, Translator.Translate("Klienten") + "teams anlegen"); + dict.Add(UserRightType.CustomerTeam_Edit, Translator.Translate("Klienten") + "teams bearbeiten"); + dict.Add(UserRightType.CustomerTeam_Delete, Translator.Translate("Klienten") + "teams löschen"); + dict.Add(UserRightType.Customer_Anonymization, Translator.Translate("Klienten") + " anonymisieren"); + dict.Add(UserRightType.Customer_Full_Delete, Translator.Translate("Klienten") + " endgültig löschen"); + dict.Add(UserRightType.Person_Full_Delete, Translator.Translate("Personen endgültig löschen")); + dict.Add(UserRightType.Employee_Full_Delete, Translator.Translate("MitarbeiterPlural") + " endgültig löschen"); + dict.Add(UserRightType.Employee_Anonymization, Translator.Translate("MitarbeiterPlural") + " anonymisieren"); + dict.Add(UserRightType.Termine_IntervalDelete, Translator.Translate("Termine bis zum angegebenen Zeitpunkt löschen")); + dict.Add(UserRightType.ServiceRecord_AllowCreateAfterEmployeeSignature, "Zeiterfassung anlegen nach " + Translator.Translate("MitarbeiterPlural") + "unterschrift für Quittierungsbeleg"); + dict.Add(UserRightType.ServiceRecord_AllowEditAfterEmployeeSignature, "Zeiterfassung bearbeiten nach " + Translator.Translate("MitarbeiterPlural") + "unterschrift für Quittierungsbeleg"); + dict.Add(UserRightType.ServiceRecord_AllowDeleteAfterEmployeeSignature, "Zeiterfassung löschen nach " + Translator.Translate("MitarbeiterPlural") + "unterschrift für Quittierungsbeleg"); + dict.Add(UserRightType.ConfirmationReceiptSignatures_Delete, Translator.Translate("Unterschriften löschen")); + dict.Add(UserRightType.Auswertungen_BerichteAnsehen, Translator.Translate("Auswertungen->Berichte")); + dict.Add(UserRightType.Auswertungen_StundenuebersichtAnsehen, Translator.Translate("Auswertungen->Stundenübersicht")); + dict.Add(UserRightType.Auswertungen_HilfeplanuebersichtAnsehen, Translator.Translate("Auswertungen->Hilfeplanübersicht")); + dict.Add(UserRightType.Signature_ProvideSingleSignature, Translator.Translate("Unterschriften für Klienten leisten (einzeln)")); + dict.Add(UserRightType.Signature_ProvideMonthlySignature, Translator.Translate("Unterschriften der Mitarbeiter für den Quittierungsbeleg leisten (monatlich)")); + dict.Add(UserRightType.Signature_ProvideMonthlySignatureByProxy, Translator.Translate("Unterschriften der Mitarbeiter für den Quittierungsbeleg stellvertretend leisten (monatlich)")); + dict.Add(UserRightType.Customer_ViewAbsenceTimes, Translator.Translate($"{Translator.Translate("Klienten")} Abwesenheiten ansehen")); + dict.Add(UserRightType.Customer_ViewBetreuung, Translator.Translate($"{Translator.Translate("Klienten")} Betreuung ansehen")); + dict.Add(UserRightType.AiChatInZeiterfassung, Translator.Translate("Zeiterfassung->Anfragen an die KI stellen")); + dict.Add(UserRightType.FinanzenRechnungenNachVersandBearbeiten, Translator.Translate($"Finanzen->Rechnungen nach Versand bearbeiten")); + + UserRightType2Translations = dict; + } + + private static void InitWohnhilfeEnums() + { + var dict = new Dictionary(); + + var nicht_abgefragt = "";// "nicht abgefragt"; + + dict.Add(FalldatenBearbeitungsstatus.NoProgress, "Keine Bearbeitung"); + dict.Add(FalldatenBearbeitungsstatus.InProgress, "In Bearbeitung"); + dict.Add(FalldatenBearbeitungsstatus.Finished, "Fertig"); + + dict.Add(Verbandszugehorigkeit.Arbeiterwohlfahrt, "Arbeiterwohlfahrt"); + dict.Add(Verbandszugehorigkeit.DeutscherCaritasverband, "Deutscher Caritasverband"); + dict.Add(Verbandszugehorigkeit.DeutschesRotesKreuz, "Deutsches Rotes Kreuz"); + dict.Add(Verbandszugehorigkeit.DerParitatischeWohlfahrtsverband, "Der Paritätische Wohlfahrtsverband"); + dict.Add(Verbandszugehorigkeit.DiakonieDeutschland, "Diakonie Deutschland"); + dict.Add(Verbandszugehorigkeit.ZentralwohlfahrtspflegeDerJudenInDeutschland, "Zentralwohlfahrtspflege der Juden in Deutschland"); + dict.Add(Verbandszugehorigkeit.AndererVerband, "Anderer Verband"); + + dict.Add(Geschlecht.Divers, "Divers"); + dict.Add(Geschlecht.Mannlich, "Männlich"); + dict.Add(Geschlecht.OhneAngabe, "Ohne Angabe"); + dict.Add(Geschlecht.Weiblich, "Weiblich"); + + dict.Add(Unterbringungsart.BetreutemWohnen, "in betreutem Wohnangebot untergebracht (o. Mietvertrag)"); + dict.Add(Unterbringungsart.KeineUnterbrinungInEigenerDurchEigener, "keine Unterbringung in eigener bzw. durch eigene Einrichtung"); + dict.Add(Unterbringungsart.NotschlafstellenOrdnungsrechtlich, "in sonstigen Notschlafstellen oder ordnungsrechtlich untergebracht"); + dict.Add(Unterbringungsart.Stationar, "stationär Untergebracht"); + dict.Add(Unterbringungsart.Ubergangshaus, "in Übergangshaus / amb. Aufnahmehaus / teilstationär untergebracht"); + + dict.Add(Angebot.FreieTrager, "freien Träger"); + dict.Add(Angebot.GemeindenUndVerbande, "Gemeinden und Gemeindeverbände"); + dict.Add(Angebot.GewerblicheTrager, "gewerblicher Anbieter"); + dict.Add(Angebot.SonstigerStellen, "sonstiger Stellen"); + dict.Add(Angebot.TragerDerSozialhilfe, "überörtlichen Träger der Sozialhilfe"); + + dict.Add(WohnhilfeBoolData.Ja, "ja"); + dict.Add(WohnhilfeBoolData.KeineAngabe, "keine Angabe"); + dict.Add(WohnhilfeBoolData.Nein, "nein"); + dict.Add(WohnhilfeBoolData.NichtAbgefragt, nicht_abgefragt); + + //dict.Add(SozialKontakte.Ja, "ja"); + //dict.Add(SozialKontakte.KeineAngabe, "keine Angabe"); + //dict.Add(SozialKontakte.Nein, "nein"); + //dict.Add(SozialKontakte.NichtAbgefragt, "nicht angefragt"); + + dict.Add(Krankenversicherung.JaEingeschrankt, "Ja, aber nur eingeschränkt"); + dict.Add(Krankenversicherung.JaUneingeschrankt, "Ja, in uneingeschränktem Maße"); + dict.Add(Krankenversicherung.KeineAngabe, "keine Angabe"); + dict.Add(Krankenversicherung.Nein, "nein"); + dict.Add(Krankenversicherung.NichtAbgefragt, nicht_abgefragt); + dict.Add(Krankenversicherung.Ungeklart, "ungeklärt"); + + dict.Add(KontaktArzt.JaImRegelsystem, "ja, im Regelsystem"); + dict.Add(KontaktArzt.JaMedizinischemProjekt, "ja, zu einem medizinischen Projekt der Wohnungslosenhilfe"); + dict.Add(KontaktArzt.JaZurNotfallbehandlung, "ja, zur Notfallbehandlung"); + dict.Add(KontaktArzt.KeineAngabe, "keine Angabe"); + dict.Add(KontaktArzt.Nein, "nein"); + dict.Add(KontaktArzt.NichtAbgefragt, nicht_abgefragt); + dict.Add(KontaktArzt.Ungeklart, "ungeklärt"); + + //dict.Add(VorlageSchwerbehindertenausweises.Ja, "ja"); + //dict.Add(VorlageSchwerbehindertenausweises.KeineAngabe, "keine Angabe"); + //dict.Add(VorlageSchwerbehindertenausweises.Nein, "nein"); + //dict.Add(VorlageSchwerbehindertenausweises.NichtAbgefragt, "nicht angefragt"); + + dict.Add(Einkommenssituation.EinkommenErwerbsBerufstatig, "Einkommen aus Erwerbs- oder Berufstätigkeit"); + dict.Add(Einkommenssituation.KeineAngabe, "keine Angabe"); + dict.Add(Einkommenssituation.KeinEinkommen, "kein Einkommen"); + dict.Add(Einkommenssituation.NichtAbgefragt, nicht_abgefragt); + dict.Add(Einkommenssituation.RentePension, "Rente, Pension"); + dict.Add(Einkommenssituation.SBG12Sozialhilfe, "SGB XII / Sozialhilfe"); + dict.Add(Einkommenssituation.SBG3Arbeitslosengeld1, "SGB III / Arbeitslosengeld I"); + dict.Add(Einkommenssituation.SGB2Arbeitslosengeld2Sozialgeld, "SGB II / Arbeitslosengeld II, Sozialgeld"); + dict.Add(Einkommenssituation.SonstigeEinnahmen, "sonstige Einnahmen"); + dict.Add(Einkommenssituation.UnterhaltDurchAngehorige, "Unterhalt durch Angehörige"); + + dict.Add(AufstockungEinkommen.AufstockendeLeistungenNachSGB12, "aufstockende Leistungen nach SGB XII"); + dict.Add(AufstockungEinkommen.AufstockendeLeistungenNachSGB2, "aufstockende Leistungen nach SGB II"); + dict.Add(AufstockungEinkommen.ErganzendeEinkommenSGB12, "ergänzende Einkommen zu SGB XII"); + dict.Add(AufstockungEinkommen.ErganzendeEinkommenSGB2, "ergänzende Einkommen zu SGB II"); + dict.Add(AufstockungEinkommen.KeineAngabe, "keine Angabe"); + dict.Add(AufstockungEinkommen.KeineAufstockendeLeistungen, "keine aufstockenden Leistungen"); + dict.Add(AufstockungEinkommen.NichtAbgefragt, nicht_abgefragt); + + //dict.Add(EigenesBankkonto.Ja, "ja"); + //dict.Add(EigenesBankkonto.KeineAngabe, "keine Angabe"); + //dict.Add(EigenesBankkonto.Nein, "nein"); + //dict.Add(EigenesBankkonto.NichtAbgefragt, "nicht angefragt"); + + //dict.Add(Uberschuldung.Ja, "ja"); + //dict.Add(Uberschuldung.KeineAngabe, "keine Angabe"); + //dict.Add(Uberschuldung.Nein, "nein"); + //dict.Add(Uberschuldung.NichtAbgefragt, "nicht angefragt"); + + dict.Add(Berufsabschluss.Anlernausbildung, "Anlernausbildung"); + dict.Add(Berufsabschluss.Ausbildung, "praxisbezogener Berufsabschluss"); + dict.Add(Berufsabschluss.Hochschule, "Fachschul- oder (Fach-) Hochschulbezogener Berufsabschluss"); + dict.Add(Berufsabschluss.Keine, "keine abgeschlossene berufliche Ausbildung"); + dict.Add(Berufsabschluss.KeineAngabe, "keine Angabe"); + dict.Add(Berufsabschluss.NichtAbgefragt, nicht_abgefragt); + dict.Add(Berufsabschluss.SonstigerAbschluss, "sonstiger Abschluss"); + + //dict.Add(ErwerbsfahigkeitSinnSGB.Ja, "ja"); + //dict.Add(ErwerbsfahigkeitSinnSGB.KeineAngabe, "keine Angabe"); + //dict.Add(ErwerbsfahigkeitSinnSGB.Nein, "nein"); + //dict.Add(ErwerbsfahigkeitSinnSGB.NichtAbgefragt, "nicht angefragt"); + + dict.Add(Beschaftigungsstatus.Arbeitslos, "arbeitslos"); + dict.Add(Beschaftigungsstatus.DritterArbeitsmarkt, "dritter Arbeitsmarkt"); + dict.Add(Beschaftigungsstatus.ErsterArbeitsmarkt, "erster Arbeitsmarkt"); + dict.Add(Beschaftigungsstatus.KeineAngabe, "keine Angabe"); + dict.Add(Beschaftigungsstatus.NichtAbgefragt, nicht_abgefragt); + dict.Add(Beschaftigungsstatus.Selbststandig, "Selbständige"); + dict.Add(Beschaftigungsstatus.TrifftNichtZu, "trifft nicht zu"); + dict.Add(Beschaftigungsstatus.ZweiterArbeitsmarkt, "zweiter Arbeitsmarkt"); + + dict.Add(DauerArbeitslosigkeit.D_1_2_Jahre, "1 bis unter 2 Jahre"); + dict.Add(DauerArbeitslosigkeit.D_1_3_Monat, "1 bis unter 3 Monate"); + dict.Add(DauerArbeitslosigkeit.D_1_Monat, "unter 1 Monat"); + dict.Add(DauerArbeitslosigkeit.D_2_3_Jahre, "2 bis unter 3 Jahre"); + dict.Add(DauerArbeitslosigkeit.D_3_6_Monat, "3 bis unter 6 Monate"); + dict.Add(DauerArbeitslosigkeit.D_3_mehr_Jahre, "3 Jahre und länger"); + dict.Add(DauerArbeitslosigkeit.D_6_12_Monat, "6 bis unter 12 Monate"); + dict.Add(DauerArbeitslosigkeit.KeineAngabe, "keine Angabe"); + dict.Add(DauerArbeitslosigkeit.NichtAngefragt, nicht_abgefragt); + dict.Add(DauerArbeitslosigkeit.TrifftNichtZu, "trifft nicht zu"); + + dict.Add(Bundesland.BadenWuerttemberg, "Baden-Württemberg"); + dict.Add(Bundesland.MecklenburgVorpommern, "Mecklenburg Vorpommern"); + dict.Add(Bundesland.SachsenAnhalt, "Sachsen-Anhalt"); + dict.Add(Bundesland.NordrheinWestfalen, "Nordrhein-Westfalen"); + dict.Add(Bundesland.Thuringen, "Thüringen"); + dict.Add(Bundesland.SchleswigHolstein, "Schleswig-Holstein"); + dict.Add(Bundesland.RheinlandPfalz, "Rheinland-Pfalz"); + + dict.Add(ArtDesHilfeangebots.ausschließlichAmbulantBetreutesWohnen, "ausschließlich ambulant betreutes Wohnen"); + dict.Add(ArtDesHilfeangebots.ausschließlichHilfenArbeit, "ausschließlich Hilfen zur Arbeit"); + dict.Add(ArtDesHilfeangebots.ausschließlichMedizinischpflegerischesAngebot, "ausschließlich medizinisch-pflegerisches Angebot"); + dict.Add(ArtDesHilfeangebots.ausschließlichStraßensozialarbeit, "ausschließlich Straßensozialarbeit"); + dict.Add(ArtDesHilfeangebots.kurzfristigeHilfeangebote, "kurzfristiges Hilfeangebote (Notunterkünfte, Übernachtungsstellen)"); + dict.Add(ArtDesHilfeangebots.nichtAbgefragt, nicht_abgefragt); + + dict.Add(ArtDerBeendigung.AbbruchDurchEinrichtung, "Abbruch durch Einrichtung"); + dict.Add(ArtDerBeendigung.AbbruchDurchKlient, "Abbruch durch Klient"); + dict.Add(ArtDerBeendigung.BeendigungDurchKostentrager, "Beendigung durch Kostentrager"); + dict.Add(ArtDerBeendigung.keineAngabe, "keine Angabe"); + dict.Add(ArtDerBeendigung.nichtAbgefragt, nicht_abgefragt); + dict.Add(ArtDerBeendigung.PlanmasigBeendet, "Planmäßig beendet"); + dict.Add(ArtDerBeendigung.VermittlungNachfolgemaßnahmeAuserhalb, "Vermittlung an Nachfolgemaßnahme außerhalb des eigenen Hilfesystems"); + dict.Add(ArtDerBeendigung.VermittlungNachfolgemaßnahmeInnerhalb, "Vermittlung an Nachfolgemaßnahme innerhalb des eigenen Hilfesystems"); + + dict.Add(Geschlechtidentitat.Mannlich, "Männlich"); + dict.Add(Geschlechtidentitat.OhneAngabe, "Ohne Angabe"); + dict.Add(Geschlechtidentitat.NichtAbgefragt, nicht_abgefragt); + + dict.Add(Staatsangehorigkeit.EU, "EU - Beispiel Ländercode"); + dict.Add(Staatsangehorigkeit.ohneAngabe, "ohne Angabe"); + dict.Add(Staatsangehorigkeit.ungeklart, "ungeklärt"); + + dict.Add(Aufenthaltsstatus.Freizugigkeit, "Freizügigkeit EWR und Gleichgestellte"); + dict.Add(Aufenthaltsstatus.trifftNichtZu, "trifft nicht zu"); + dict.Add(Aufenthaltsstatus.keineAngabe, "keine Angabe"); + dict.Add(Aufenthaltsstatus.nichtAbgefragt, nicht_abgefragt); + + dict.Add(HochsterSchulabschluss.KeinAbschluss, "kein Schulabschluss"); + dict.Add(HochsterSchulabschluss.Sonderschule, "Sonderschulabschluss"); + dict.Add(HochsterSchulabschluss.VolksHauptschule, "Volksschul- / Hauptschulabschluss"); + dict.Add(HochsterSchulabschluss.MittlereReife, "Mittlere Reife"); + dict.Add(HochsterSchulabschluss.FachgebundeneOderAllgAbitur, "Fachgebundene oder allgemeine Hochschulreife (Abitur)"); + dict.Add(HochsterSchulabschluss.keineAngabe, "keine Angabe"); + dict.Add(HochsterSchulabschluss.nichtAbgefragt, nicht_abgefragt); + + dict.Add(Familienstand.eingetrageneLebensgemeinschaft, "eingetragene Lebensgemeinschaft"); + dict.Add(Familienstand.verheiratetGetrenntLebend, "verheiratet, getrennt lebend"); + dict.Add(Familienstand.keineAngabe, "keine Angabe"); + dict.Add(Familienstand.nichtAbgefragt, nicht_abgefragt); + + dict.Add(Haushaltsstruktur.EhePaarOhneKinder, "(Ehe-) Paar ohne Kind(er)"); + dict.Add(Haushaltsstruktur.FamiliePaarMitKindern, "Familie bzw. (Ehe-) Paar mit Kind(ern)"); + dict.Add(Haushaltsstruktur.SonstigeMehrpersonenhaushalte, "sonstige Mehrpersonenhaushalte"); + dict.Add(Haushaltsstruktur.keineAngabe, "keine Angabe"); + dict.Add(Haushaltsstruktur.nichtAbgefragt, nicht_abgefragt); + + Wohnhilfe2Translation = dict; } } } \ No newline at end of file diff --git a/Shared/Core/Utils.cs b/Shared/Core/Utils.cs index 78c3fcdba..d7cb73579 100644 --- a/Shared/Core/Utils.cs +++ b/Shared/Core/Utils.cs @@ -9,6 +9,7 @@ using System.IO.Compression; using System.Linq; using System.Text; using System.Text.RegularExpressions; +using System.Windows.Media.Imaging; using System.Xml.Serialization; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; @@ -496,6 +497,26 @@ namespace BS.Shared.Core } } + public static BitmapImage CreateBitmapImageFromByteArray(byte[] array) + { + try + { + using (var ms = new MemoryStream(array)) + { + var image = new BitmapImage(); + image.BeginInit(); + image.CacheOption = BitmapCacheOption.OnLoad; // here + image.StreamSource = ms; + image.EndInit(); + return image; + } + } + catch (Exception) + { + return null; + } + } + public static Image ResizeImage(Image original, Size size) { var newSize = CalcSize(original.Width, original.Height, size.Width, size.Height); diff --git a/Shared/DataContracts/BeWoDataContract.cs b/Shared/DataContracts/BeWoDataContract.cs new file mode 100644 index 000000000..c87da7c49 --- /dev/null +++ b/Shared/DataContracts/BeWoDataContract.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts +{ + + [DataContract] + public abstract class BeWoDataContract : IDataContract + { + [DataMember] + public long? Oid { get; set; } + + [DataMember] + public string Notice { get; set; } + + [DataMember] + public long? Version { get; set; } + } +} diff --git a/Shared/DataContracts/Compact/ClientPartials/CompactWohnheimDC.cs b/Shared/DataContracts/Compact/ClientPartials/CompactWohnheimDC.cs index f4acf5b01..bdeaa022d 100644 --- a/Shared/DataContracts/Compact/ClientPartials/CompactWohnheimDC.cs +++ b/Shared/DataContracts/Compact/ClientPartials/CompactWohnheimDC.cs @@ -15,8 +15,6 @@ namespace BS.Shared.DataContracts.Compact public bool SupportsActivationType { get{ return true; } set { } } - public long Version { get; set; } - public SolidColorBrush FilterableBrush { get { return new SolidColorBrush(Colors.Transparent); } } public string AddressString diff --git a/Shared/DataContracts/Compact/CompactWohnheimDC.cs b/Shared/DataContracts/Compact/CompactWohnheimDC.cs index 805da9299..aebd3492c 100644 --- a/Shared/DataContracts/Compact/CompactWohnheimDC.cs +++ b/Shared/DataContracts/Compact/CompactWohnheimDC.cs @@ -13,6 +13,9 @@ namespace BS.Shared.DataContracts.Compact [DataMember] public string WohnheimName { get; set; } + [DataMember] + public long Version { get; set; } + [DataMember] public ActivationTypeId ActivationType { get; set; } diff --git a/Shared/DataContracts/CustomerDC.cs b/Shared/DataContracts/CustomerDC.cs index 2d447bce1..196a5e0ca 100644 --- a/Shared/DataContracts/CustomerDC.cs +++ b/Shared/DataContracts/CustomerDC.cs @@ -4,216 +4,86 @@ using System.Runtime.Serialization; using BS.Shared.Core; using BS.Shared.DataContracts.Compact; +using BS.Shared.DataContracts.Wohnhilfe; namespace BS.Shared.DataContracts { [DataContract] public class CustomerDC : PersonDC { - [DataMember] - public List AbsenceTimes { get; set; } - - [DataMember] - public List AssessmentSheetCategoryDCs { get; set; } - - [DataMember] - public String Childs { get; set; } - - [DataMember] - public List CostBearers { get; set; } - - [DataMember] - public List CustomerCareTypes { get; set; } - - [DataMember] - public long? CustomerOid { get; set; } - - [DataMember] - public List CustomerVarFields { get; set; } - - [DataMember] - public long? CustomerVersion { get; set; } - - [DataMember] - public String DebitorNumber { get; set; } - - [DataMember] - public String CostCenter { get; set; } - - [DataMember] - public String Diagnosis { get; set; } - - [DataMember] - public List Disabilities { get; set; } - - [DataMember] - public List EnvironmentPersons { get; set; } - - [DataMember] - public List EnvironmentOrganisations { get; set; } - - [DataMember] - public List Medikamentenverordnungslisten { get; set; } - - [DataMember] - public decimal? EquityContribution { get; set; } - - [DataMember] - public String ICD10Code { get; set; } - - [DataMember] - public String ICD10Diagnosis { get; set; } - - [DataMember] - public List ICD10DiagnosisCodes { get; set; } - - [DataMember] - public bool? IsAdvisedOrAttended { get; set; } - - [DataMember] - public String Medication { get; set; } - - [DataMember] - public String Notice { get; set; } - - [DataMember] - public String ReferenceNumber { get; set; } - - [DataMember] - public List PlacementList { get; set; } - - [DataMember] - public String Environment { get; set; } - - [DataMember] - public List RelatedEmployees { get; set; } - - [DataMember] - public List RelatedTeams { get; set; } - - [DataMember] - public DateTime? AssistanceBegin { get; set; } - - [DataMember] - public DateTime? TerminationDate { get; set; } - - [DataMember] - public ValueListEntryDC TerminationReason { get; set; } - - [DataMember] - public long? FamilyDataOid { get; set; } - - [DataMember] - public long? FamilyDataVersion {get; set; } - - [DataMember] - public String Kindesmutter { get; set; } - - [DataMember] - public String Kindesvater { get; set; } - - [DataMember] - public String Geschwister { get; set; } - - [DataMember] - public String Vormund { get; set; } - + [DataMember] public List AbsenceTimes { get; set; } + [DataMember] public List AssessmentSheetCategoryDCs { get; set; } + [DataMember] public String Childs { get; set; } + [DataMember] public List CostBearers { get; set; } + [DataMember] public List CustomerCareTypes { get; set; } + [DataMember] public long? CustomerOid { get; set; } + [DataMember] public List CustomerVarFields { get; set; } + [DataMember] public long? CustomerVersion { get; set; } + [DataMember] public String DebitorNumber { get; set; } + [DataMember] public String CostCenter { get; set; } + [DataMember] public String Diagnosis { get; set; } + [DataMember] public List Disabilities { get; set; } + [DataMember] public List EnvironmentPersons { get; set; } + [DataMember] public List EnvironmentOrganisations { get; set; } + [DataMember] public List Medikamentenverordnungslisten { get; set; } + [DataMember] public decimal? EquityContribution { get; set; } + [DataMember] public String ICD10Code { get; set; } + [DataMember] public String ICD10Diagnosis { get; set; } + [DataMember] public List ICD10DiagnosisCodes { get; set; } + [DataMember] public bool? IsAdvisedOrAttended { get; set; } + [DataMember] public String Medication { get; set; } + [DataMember] public String Notice { get; set; } + [DataMember] public String ReferenceNumber { get; set; } + [DataMember] public List PlacementList { get; set; } + [DataMember] public String Environment { get; set; } + [DataMember] public List RelatedEmployees { get; set; } + [DataMember] public List RelatedTeams { get; set; } + [DataMember] public DateTime? AssistanceBegin { get; set; } + [DataMember] public DateTime? TerminationDate { get; set; } + [DataMember] public ValueListEntryDC TerminationReason { get; set; } + [DataMember] public long? FamilyDataOid { get; set; } + [DataMember] public long? FamilyDataVersion { get; set; } + [DataMember] public String Kindesmutter { get; set; } + [DataMember] public String Kindesvater { get; set; } + [DataMember] public String Geschwister { get; set; } + [DataMember] public String Vormund { get; set; } public bool ContainsFamilyDataData() { return !Utils.AreAllNullOrEmpty(Kindesmutter, Kindesvater, Geschwister, Vormund); } - - [DataMember] - public CompactOrganisationDC Jugendamt { get; set; } - - [DataMember] - public CompactPersonDC Ansprechpartner { get; set; } - - [DataMember] - public int? DistanceInMeter { get; set; } - - [DataMember] - public String AusstVersAmt { get; set; } - - [DataMember] - public DateTime? AusweisGueltigVon { get; set; } - - [DataMember] - public DateTime? AusweisGueltigBis { get; set; } - - [DataMember] - public bool? AusweisUnbefristetGueltig { get; set; } - - [DataMember] - public String AusweisAktenzeichen { get; set; } - - [DataMember] - public DateTime? BeiblattGueltigBis { get; set; } - - [DataMember] - public String GradDerBehinderung { get; set; } - - [DataMember] - public List BehinderungsartenListe { get; set; } - - [DataMember] - public List MerkzeichenListe { get; set; } - - [DataMember] - public String CustomerAlias { get; set; } - - [DataMember] - public Pflegegrad? Pflegegrad { get; set; } - - [DataMember] - public bool VertretungGewuenscht { get; set; } - - [DataMember] - public int AbWelchemKrankheitsTag { get; set; } - - [DataMember] - public bool VertretungDringendErforderlich { get; set; } - - [DataMember] - public bool Pflege { get; set; } - - [DataMember] - public bool Toilettengang { get; set; } - - [DataMember] - public bool Aggressiv { get; set; } - - [DataMember] - public bool Hygienebelehrung { get; set; } - - [DataMember] - public String Schutzstufe { get; set; } - - [DataMember] - public String Uebernahmeort { get; set; } - - [DataMember] - public String Verhalten { get; set; } - - [DataMember] - public String Betreuungsbedarf { get; set; } - - [DataMember] - public String BemerkungenSbd { get; set; } - - [DataMember] - public List Arbeitszeiten { get; set; } - - [DataMember] - public SubstitutionNeed SubstitutionNeed { get; set; } - - [DataMember] - public string HealthInsurance { get; set; } - - [DataMember] - public string InsuranceNumber { get; set; } - - [DataMember] - public string VersichertenStatus { get; set; } + [DataMember] public CompactOrganisationDC Jugendamt { get; set; } + [DataMember] public CompactPersonDC Ansprechpartner { get; set; } + [DataMember] public int? DistanceInMeter { get; set; } + [DataMember] public String AusstVersAmt { get; set; } + [DataMember] public DateTime? AusweisGueltigVon { get; set; } + [DataMember] public DateTime? AusweisGueltigBis { get; set; } + [DataMember] public bool? AusweisUnbefristetGueltig { get; set; } + [DataMember] public String AusweisAktenzeichen { get; set; } + [DataMember] public DateTime? BeiblattGueltigBis { get; set; } + [DataMember] public String GradDerBehinderung { get; set; } + [DataMember] public List BehinderungsartenListe { get; set; } + [DataMember] public List MerkzeichenListe { get; set; } + [DataMember] public String CustomerAlias { get; set; } + [DataMember] public Pflegegrad? Pflegegrad { get; set; } + [DataMember] public bool VertretungGewuenscht { get; set; } + [DataMember] public int AbWelchemKrankheitsTag { get; set; } + [DataMember] public bool VertretungDringendErforderlich { get; set; } + [DataMember] public bool Pflege { get; set; } + [DataMember] public bool Toilettengang { get; set; } + [DataMember] public bool Aggressiv { get; set; } + [DataMember] public bool Hygienebelehrung { get; set; } + [DataMember] public String Schutzstufe { get; set; } + [DataMember] public String Uebernahmeort { get; set; } + [DataMember] public String Verhalten { get; set; } + [DataMember] public String Betreuungsbedarf { get; set; } + [DataMember] public String BemerkungenSbd { get; set; } + [DataMember] public List Arbeitszeiten { get; set; } + [DataMember] public SubstitutionNeed SubstitutionNeed { get; set; } + [DataMember] public string HealthInsurance { get; set; } + [DataMember] public string InsuranceNumber { get; set; } + [DataMember] public string VersichertenStatus { get; set; } + [DataMember] public FalldatenDC FalldatenDC { get; set; } + [DataMember] public List CustomerWohnhilfeDC { get; set; } + [DataMember] public List CustomerGemeinnutzigeArbeitDC { get; set; } } } \ No newline at end of file diff --git a/Shared/DataContracts/CustomerGemeinnutzigeArbeitDC.cs b/Shared/DataContracts/CustomerGemeinnutzigeArbeitDC.cs new file mode 100644 index 000000000..3df18154b --- /dev/null +++ b/Shared/DataContracts/CustomerGemeinnutzigeArbeitDC.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts +{ + public class CustomerGemeinnutzigeArbeitDC : BeWoDataContract + { + } +} diff --git a/Shared/DataContracts/ImageDC.cs b/Shared/DataContracts/ImageDC.cs new file mode 100644 index 000000000..b418a0eba --- /dev/null +++ b/Shared/DataContracts/ImageDC.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Media.Imaging; + +namespace BS.Shared.DataContracts +{ + public class ImageDC : BeWoDataContract + { + // Server DC_Entity_Mapping bis Datenbank wichtig + //[DataMember] public TableID TableID { get; set; } + //[DataMember] public long OwnerOid { get; set; } + + [DataMember] public string Filename { get; set; } + [DataMember] public string Fullname { get; set; } + [DataMember] public byte[] Original { get; set; } + [DataMember] public byte[] MediumThumbnail { get; set; } + [DataMember] public byte[] SmallThumbnail { get; set; } + } +} diff --git a/Shared/DataContracts/WohneinheitBelegungDC.cs b/Shared/DataContracts/WohneinheitBelegungDC.cs new file mode 100644 index 000000000..1ab1d4b1f --- /dev/null +++ b/Shared/DataContracts/WohneinheitBelegungDC.cs @@ -0,0 +1,18 @@ +using BS.Shared.DataContracts.Compact; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts +{ + public class WohneinheitBelegungDC : BeWoDataContract + { + [DataMember] public CompactCustomerDC Customer { get; set; } + [DataMember] public DateTime StartDate { get; set; } + [DataMember] public DateTime? EndDate { get; set; } + [DataMember] public string Kommentar { get; set; } + } +} diff --git a/Shared/DataContracts/WohneinheitDC.cs b/Shared/DataContracts/WohneinheitDC.cs new file mode 100644 index 000000000..f6e9f8da2 --- /dev/null +++ b/Shared/DataContracts/WohneinheitDC.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts +{ + public class WohneinheitDC : BeWoDataContract + { + [DataMember] public string Wohnname { get; set; } + [DataMember] public string Zimmername { get; set; } + [DataMember] public decimal? Miete { get; set; } + [DataMember] public decimal? Heizung { get; set; } + [DataMember] public decimal? Strom { get; set; } + [DataMember] public decimal? Betriebskosten { get; set; } + [DataMember] public decimal? SonstigeKosten { get; set; } + [DataMember] public decimal? Kaution { get; set; } + [DataMember] public decimal? QM { get; set; } + [DataMember] public int? Baujahr { get; set; } + [DataMember] public string Mobilierung { get; set; } + [DataMember] public string Zusatznotiz { get; set; } + [DataMember] public string Stock { get; set; } + [DataMember] public List Belegungen { get; set; } + [DataMember] public List Grundrisse { get; set; } + } +} diff --git a/Shared/DataContracts/WohnheimDC.cs b/Shared/DataContracts/WohnheimDC.cs index d7269f653..c088847ff 100644 --- a/Shared/DataContracts/WohnheimDC.cs +++ b/Shared/DataContracts/WohnheimDC.cs @@ -51,6 +51,9 @@ namespace BS.Shared.DataContracts [DataMember] public List RelatedCustomers { get; set; } + [DataMember] + public List Wohneinheiten { get; set; } + public override string ToString() { return WohnheimName; diff --git a/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichBundDC.cs b/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichBundDC.cs new file mode 100644 index 000000000..15b93dc35 --- /dev/null +++ b/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichBundDC.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts.Wohnhilfe +{ + public class CustomerWohnhilfeBereichBundDC : BeWoDataContract + { + [DataMember] public Verbandszugehorigkeit? Verbandszugehorigkeit { get; set; } + [DataMember] public Geschlecht? Geschlecht { get; set; } + [DataMember] public int? AlterAmStichtag { get; set; } + [DataMember] public int? Haushaltsgrosse { get; set; } + [DataMember] public string BerichtseinheitID { get; set; } + [DataMember] public Unterbringungsart? Unterbringungsart { get; set; } + [DataMember] public int? OrtDerEinrichtung { get; set; } + [DataMember] public Angebot? Angebot { get; set; } + } + + public enum Verbandszugehorigkeit + { + Arbeiterwohlfahrt = 1, + DeutscherCaritasverband = 2, + DeutschesRotesKreuz = 3, + DerParitatischeWohlfahrtsverband = 4, + DiakonieDeutschland = 5, + ZentralwohlfahrtspflegeDerJudenInDeutschland = 6, + AndererVerband = 7 + } + public enum Geschlecht + { + Mannlich = 1, + Weiblich = 2, + Divers = 3, + OhneAngabe = 4 + } + public enum Unterbringungsart + { + Stationar = 1, + Ubergangshaus = 2, + BetreutemWohnen = 3, + NotschlafstellenOrdnungsrechtlich = 4, + KeineUnterbrinungInEigenerDurchEigener = 5 + } + public enum Angebot + { + TragerDerSozialhilfe = 1, + GemeindenUndVerbande = 2, + FreieTrager = 3, + GewerblicheTrager = 4, + SonstigerStellen = 5 + } +} diff --git a/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichEinkommenUndArbeitDC.cs b/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichEinkommenUndArbeitDC.cs new file mode 100644 index 000000000..3a2f44482 --- /dev/null +++ b/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichEinkommenUndArbeitDC.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts.Wohnhilfe +{ + public class CustomerWohnhilfeBereichEinkommenUndArbeitDC : BeWoDataContract + { + [DataMember] public Einkommenssituation BeginnEinkommenssituation { get; set; } + [DataMember] public Einkommenssituation EndeEinkommenssituation { get; set; } + [DataMember] public AufstockungEinkommen BeginnAufstockungEinkommen { get; set; } + [DataMember] public AufstockungEinkommen EndeAufstockungEinkommen { get; set; } + [DataMember] public WohnhilfeBoolData BeginnEigenesBankkonto { get; set; } + [DataMember] public WohnhilfeBoolData EndeEigenesBankkonto { get; set; } + [DataMember] public WohnhilfeBoolData Uberschuldung { get; set; } + [DataMember] public Berufsabschluss Berufsabschluss { get; set; } + [DataMember] public WohnhilfeBoolData ErwerbsfahigkeitSinnSGB { get; set; } + [DataMember] public Beschaftigungsstatus BeginnBeschaftigungsstatus { get; set; } + [DataMember] public Beschaftigungsstatus EndeBeschaftigungsstatus { get; set; } + [DataMember] public DauerArbeitslosigkeit DauerArbeitslosigkeit { get; set; } + } + + public enum Einkommenssituation + { + EinkommenErwerbsBerufstatig = 1, + SBG3Arbeitslosengeld1 = 2, + RentePension = 3, + UnterhaltDurchAngehorige = 4, + SGB2Arbeitslosengeld2Sozialgeld = 6, + SBG12Sozialhilfe = 7, + SonstigeEinnahmen = 11, + KeinEinkommen = 10, + KeineAngabe = 99, + NichtAbgefragt = 0 + } + + public enum AufstockungEinkommen + { + AufstockendeLeistungenNachSGB2 = 1, + AufstockendeLeistungenNachSGB12 = 2, + ErganzendeEinkommenSGB2 = 3, + ErganzendeEinkommenSGB12 = 4, + KeineAufstockendeLeistungen = 5, + KeineAngabe = 99, + NichtAbgefragt = 0 + } + + public enum Berufsabschluss + { + Keine = 1, + Anlernausbildung = 2, + Ausbildung = 3, + Hochschule = 4, + SonstigerAbschluss = 5, + KeineAngabe = 99, + NichtAbgefragt = 0 + } + + public enum Beschaftigungsstatus + { + Arbeitslos = 1, + DritterArbeitsmarkt = 2, + ZweiterArbeitsmarkt = 3, + ErsterArbeitsmarkt = 4, + Selbststandig = 5, + TrifftNichtZu = 88, + KeineAngabe = 99, + NichtAbgefragt = 0 + } + + public enum DauerArbeitslosigkeit + { + D_1_Monat = 1, + D_1_3_Monat = 2, + D_3_6_Monat = 3, + D_6_12_Monat = 4, + D_1_2_Jahre = 5, + D_2_3_Jahre = 6, + D_3_mehr_Jahre = 7, + TrifftNichtZu = 88, + KeineAngabe = 99, + NichtAngefragt = 0 + } +} diff --git a/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichSozialeKontakteDC.cs b/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichSozialeKontakteDC.cs new file mode 100644 index 000000000..1915dde09 --- /dev/null +++ b/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichSozialeKontakteDC.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts.Wohnhilfe +{ + public class CustomerWohnhilfeBereichSozialeKontakteDC : BeWoDataContract + { + [DataMember] public WohnhilfeBoolData BeginnSozialeKontakte { get; set; } + [DataMember] public bool BeginnKontaktPartner { get; set; } + [DataMember] public bool BeginnKontaktMindKinder { get; set; } + [DataMember] public bool BeginnKontaktVolljahrKinderElternVerwandten { get; set; } + [DataMember] public bool BeginnKontaktFreundenBekannten { get; set; } + [DataMember] public bool BeginnKontaktSelbsthilfe { get; set; } + [DataMember] public bool BeginnKontaktSonstige { get; set; } + [DataMember] public WohnhilfeBoolData EndeSozialeKontakte { get; set; } + [DataMember] public bool EndeKontaktPartner { get; set; } + [DataMember] public bool EndeKontaktMindKinder { get; set; } + [DataMember] public bool EndeKontaktVolljahrKinderElternVerwandten { get; set; } + [DataMember] public bool EndeKontaktFreundenBekannten { get; set; } + [DataMember] public bool EndeKontaktSelbsthilfe { get; set; } + [DataMember] public bool EndeKontaktSonstige { get; set; } + [DataMember] public Krankenversicherung BeginnKrankenversicherung { get; set; } + [DataMember] public Krankenversicherung EndeKrankenversicherung { get; set; } + [DataMember] public KontaktArzt BeginnKontaktArzt { get; set; } + [DataMember] public KontaktArzt EndeKontaktArzt { get; set; } + [DataMember] public WohnhilfeBoolData VorlageSchwerbehindertenausweises { get; set; } + } + + public enum Krankenversicherung + { + Nein = 1, + JaUneingeschrankt = 4, + JaEingeschrankt = 5, + Ungeklart = 3, + KeineAngabe = 99, + NichtAbgefragt = 0 + } + + public enum KontaktArzt + { + Nein = 1, + JaImRegelsystem = 2, + JaZurNotfallbehandlung = 3, + JaMedizinischemProjekt = 4, + Ungeklart = 5, + KeineAngabe = 99, + NichtAbgefragt = 0 + } +} diff --git a/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichSozialstrukturDC.cs b/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichSozialstrukturDC.cs new file mode 100644 index 000000000..158293a5f --- /dev/null +++ b/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeBereichSozialstrukturDC.cs @@ -0,0 +1,147 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts.Wohnhilfe +{ + public class CustomerWohnhilfeBereichSozialstrukturDC : BeWoDataContract + { + [DataMember] public Bundesland? Bundesland { get; set; } + [DataMember] public bool? IsWohnungslosenhilfe { get; set; } + [DataMember] public ArtDesHilfeangebots ArtDesHilfeangebots { get; set; } + [DataMember] public DateTime? Betreuungsbeginn { get; set; } + [DataMember] public DateTime? Betreuungsende { get; set; } + [DataMember] public int? BetreuungsdauerInTagen { get; set; } + [DataMember] public ArtDerBeendigung ArtDerBeendigung { get; set; } + [DataMember] public DateTime? Geburtsdatum { get; set; } + [DataMember] public Geschlechtidentitat Geschlechtidentitat { get; set; } + [DataMember] public Staatsangehorigkeit? Staatsangehorigkeit { get; set; } + [DataMember] public Aufenthaltsstatus Aufenthaltsstatus { get; set; } + [DataMember] public WohnhilfeBoolData Migrationshintergrund { get; set; } + [DataMember] public HochsterSchulabschluss HochsterSchulabschluss { get; set; } + [DataMember] public Familienstand Familienstand { get; set; } + [DataMember] public Haushaltsstruktur Haushaltsstruktur { get; set; } + [DataMember] public WohnhilfeBoolData EigeneMindKinderAuserhalbHaushaltsstruktur { get; set; } + } + + public enum Bundesland + { + BadenWuerttemberg = 1, + Bayern = 2, + Berlin = 3, + Brandenburg = 4, + Bremen = 5, + Bremerhaven = 51, + Hamburg = 6, + Hessen = 7, + MecklenburgVorpommern = 8, + Niedersachsen = 9, + NordrheinWestfalen = 10, + RheinlandPfalz = 11, + Saarland = 12, + Sachsen = 13, + SachsenAnhalt = 14, + SchleswigHolstein = 15, + Thuringen = 16 + } + + public enum ArtDesHilfeangebots + { + nichtAbgefragt = 00, + vollstationär = 1, + teilstationär = 2, + ausschließlichAmbulantBetreutesWohnen = 3, + Fachberatungsstelle = 4, + Tagesaufenthalt = 5, + ausschließlichHilfenArbeit = 6, + ausschließlichStraßensozialarbeit = 7, + ausschließlichMedizinischpflegerischesAngebot = 8, + Sonstiges = 9, + kurzfristigeHilfeangebote = 10, + } + + public enum ArtDerBeendigung + { + nichtAbgefragt = 00, + PlanmasigBeendet = 1, + VermittlungNachfolgemaßnahmeInnerhalb = 2, + VermittlungNachfolgemaßnahmeAuserhalb = 3, + AbbruchDurchKlient = 4, + AbbruchDurchEinrichtung = 5, + BeendigungDurchKostentrager = 6, + Haft = 7, + Tod = 8, + Sonstiges = 9, + keineAngabe = 99, + } + + public enum Geschlechtidentitat + { + Mannlich = 1, + Weiblich = 2, + Divers = 3, + OhneAngabe = 4, + NichtAbgefragt = 0, + } + + public enum Staatsangehorigkeit + { + deutsch = 0, + EU = 1, + staatslos = 997, + ungeklart = 998, + ohneAngabe = 999 + } + + public enum Aufenthaltsstatus + { + Niederlassungserlaubnis = 1, + Aufenthaltserlaubnis = 2, + Fiktionsbescheinigung = 3, + Duldung = 4, + Visum = 5, + Freizugigkeit = 6, + Sonstiges = 7, + trifftNichtZu = 88, + keineAngabe = 99, + nichtAbgefragt = 00 + } + + public enum HochsterSchulabschluss + { + KeinAbschluss = 1, + Sonderschule = 2, + VolksHauptschule = 3, + MittlereReife = 4, + FachgebundeneOderAllgAbitur = 5, + Sonstiges = 6, + keineAngabe = 99, + nichtAbgefragt = 0 + } + + public enum Familienstand + { + ledig = 1, + verheiratet = 2, + eingetrageneLebensgemeinschaft = 3, + verheiratetGetrenntLebend = 4, + geschieden = 5, + verwitwet = 6, + keineAngabe = 99, + nichtAbgefragt = 0 + } + + public enum Haushaltsstruktur + { + Alleinstehend = 1, + Alleinerziehend = 2, + EhePaarOhneKinder = 3, + FamiliePaarMitKindern = 4, + SonstigeMehrpersonenhaushalte = 5, + keineAngabe = 99, + nichtAbgefragt = 0 + } +} diff --git a/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeDC.cs b/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeDC.cs new file mode 100644 index 000000000..6ef4950d5 --- /dev/null +++ b/Shared/DataContracts/Wohnhilfe/CustomerWohnhilfeDC.cs @@ -0,0 +1,29 @@ +using BS.Shared.Core; +using BS.Shared.DataContracts.Wohnhilfe; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts.Wohnhilfe +{ + public class CustomerWohnhilfeDC : BeWoDataContract + { + [DataMember] public string Dispalyname { get; set; } + [DataMember] public CustomerWohnhilfeBereichBundDC BereichBundDC { get; set; } + [DataMember] public CustomerWohnhilfeBereichEinkommenUndArbeitDC BereichEinkommenUndArbeitDC { get; set; } + [DataMember] public CustomerWohnhilfeBereichSozialeKontakteDC BereichSozialeKontakteDC { get; set; } + [DataMember] public CustomerWohnhilfeBereichSozialstrukturDC BereichSozialstrukturDC { get; set; } + } + + public enum WohnhilfeBoolData + { + Nein = 1, + Ja = 2, + KeineAngabe = 99, + NichtAbgefragt = 0 + } +} diff --git a/Shared/Extensions/StringExtensions.cs b/Shared/Extensions/StringExtensions.cs index c1a4795b1..c210a5bf5 100644 --- a/Shared/Extensions/StringExtensions.cs +++ b/Shared/Extensions/StringExtensions.cs @@ -23,6 +23,9 @@ namespace BS.Shared.Extensions return true; } + public static bool IsNotNullOrEmpty(this string pString) + => !IsNullOrEmpty(pString); + public static bool IsNullOrEmpty(this string pString) { return String.IsNullOrEmpty(pString); diff --git a/Shared/FalldatenDC.cs b/Shared/FalldatenDC.cs new file mode 100644 index 000000000..7f6ed89cb --- /dev/null +++ b/Shared/FalldatenDC.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Runtime.Serialization; + +using BS.Shared.Core; +using BS.Shared.DataContracts.Compact; + +namespace BS.Shared.DataContracts +{ + public enum FalldatenBearbeitungsstatus + { + NoProgress, + InProgress, + Finished + } + + [DataContract] + public class FalldatenDC : IDataContract + { + public bool IsNew { get; set; } + + public FalldatenDC() + { + + } + + public FalldatenDC(bool isNew) + { + IsNew = isNew; + } + + [DataMember] public string EigenesAktenzeichen { get; set; } + [DataMember] public DateTime? Auftragseingang { get; set; } + [DataMember] public ValueListEntryDC Auftragsherkunft { get; set; } + [DataMember] public ValueListEntryDC Vermittlungsgrundlage { get; set; } + [DataMember] public decimal? Tagessatze { get; set; } + [DataMember] public decimal? Tagessatzhohe { get; set; } + [DataMember] public decimal? HoheDerGeldstrafe { get; set; } + [DataMember] public decimal? ZuLeistendeArbeitsstunden { get; set; } + [DataMember] public string Hinweis { get; set; } + [DataMember] public DateTime? Termin { get; set; } + [DataMember] public FalldatenBearbeitungsstatus? FalldatenBearbeitungsstatus { get; set; } + [DataMember] public string Auftragsruckgabe { get; set; } + [DataMember] public string Verlauf { get; set; } + [DataMember] public decimal? AbgeleisteteStunden { get; set; } + [DataMember] public decimal? ErsparteHafttage { get; set; } + [DataMember] public decimal? GeleisteteRatenzahlung { get; set; } + [DataMember] public string Bemerkung { get; set; } + [DataMember] public decimal? GeleisteteEinmalzahlung { get; set; } + + [DataMember] public bool GrundArbeitsunfahig { get; set; } + [DataMember] public bool GrundSuchtproblem { get; set; } + [DataMember] public bool GrundPsychischeProbleme { get; set; } + [DataMember] public bool GrundKeineMotivation { get; set; } + [DataMember] public bool GrundInHaft { get; set; } + [DataMember] public bool GrundUnbekannt { get; set; } + [DataMember] public bool GrundKeinKontakt { get; set; } + [DataMember] public bool GrundNichtAngetreten { get; set; } + [DataMember] public bool GrundAbbruchDerTatigkeit { get; set; } + [DataMember] public bool GrundWiderruf { get; set; } + [DataMember] public bool Grund459StPO { get; set; } + [DataMember] public bool GrundAusbleibenDerZahlung { get; set; } + + [DataMember] public bool BesonderheitMehrfacheBeauftragung { get; set; } + [DataMember] public bool BesonderheitMehrfacheVermittlung { get; set; } + [DataMember] public bool BesonderheitVermittlungAusHaft { get; set; } + [DataMember] public bool BesonderheitDurchBGBWAufgesucht { get; set; } + } +} \ No newline at end of file diff --git a/Shared/Shared.csproj b/Shared/Shared.csproj index a5e76b1eb..7c000e8cd 100644 --- a/Shared/Shared.csproj +++ b/Shared/Shared.csproj @@ -170,6 +170,15 @@ + + + + + + + + + @@ -285,6 +294,8 @@ + + diff --git a/TranslationUnitTest/EnumTranslationTest.cs b/TranslationUnitTest/EnumTranslationTest.cs new file mode 100644 index 000000000..9f76a7eb9 --- /dev/null +++ b/TranslationUnitTest/EnumTranslationTest.cs @@ -0,0 +1,281 @@ +using BeWo.Data.Security; +using BS.Shared; +using BS.Shared.Core; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; + +namespace TranslationUnitTest +{ + [TestClass] + public class EnumTranslationTest + { + public Dictionary Dict { get; set; } + public List UserRightTypesVersion1dot0 { get; set; } + + [TestInitialize] + public void Init() + { + UserRightTypesVersion1dot0 = new List() { + UserRightType.None, + UserRightType.DeleteAll, + UserRightType.CreateAll, + UserRightType.EditAll, + UserRightType.ViewAll, + UserRightType.ServiceRecordView_View, +UserRightType.ServiceRecordView_Edit, +UserRightType.ServiceRecordView_Create, +UserRightType.ServiceRecordView_Delete, +UserRightType.AccountingTransactionView_View, +UserRightType.AccountingTransactionView_Edit, +UserRightType.AccountingTransactionView_Create, +UserRightType.AccountingTransactionView_Delete, +UserRightType.ResourceBookingView_View, +UserRightType.ResourceBookingView_Edit, +UserRightType.ResourceBookingView_Create, +UserRightType.ResourceBookingView_Delete, +UserRightType.QueryView_View, +UserRightType.QueryView_Edit, +UserRightType.QueryView_Create, +UserRightType.QueryView_Delete, +UserRightType.SupportConceptView_View, +UserRightType.SupportConceptView_Edit, +UserRightType.SupportConceptView_Create, +UserRightType.SupportConceptView_Delete, +UserRightType.CustomerView_View, +UserRightType.CustomerView_Edit, +UserRightType.CustomerView_Create, +UserRightType.CustomerView_Delete, +UserRightType.OrganisationView_View, +UserRightType.OrganisationView_Edit, +UserRightType.OrganisationView_Create, +UserRightType.OrganisationView_Delete, +UserRightType.PersonView_View, +UserRightType.PersonView_Edit, +UserRightType.PersonView_Create, +UserRightType.PersonView_Delete, +UserRightType.EmployeeView_View, +UserRightType.EmployeeView_Edit, +UserRightType.EmployeeView_Create, +UserRightType.EmployeeView_Delete, +UserRightType.TeamView_ViewAll, +UserRightType.TeamView_Edit, +UserRightType.TeamView_Create, +UserRightType.TeamView_Delete, +UserRightType.UserView_View, +UserRightType.UserView_Edit, +UserRightType.UserView_Create, +UserRightType.UserView_Delete, +UserRightType.UserGroupView_View, +UserRightType.UserGroupView_Edit, +UserRightType.UserGroupView_Create, +UserRightType.UserGroupView_Delete, +UserRightType.AdministrationView_View, +UserRightType.AdministrationView_Edit, +UserRightType.AdministrationView_Create, +UserRightType.AdministrationView_Delete, +UserRightType.Employee_ShowFinance, +UserRightType.Analysis_Settlement_View, +UserRightType.Analysis_EmployeeOverviewAll_View, +UserRightType.Analysis_ServiceOverview_View, +UserRightType.Analysis_SupportConceptOverviewAll_View, +UserRightType.UserView_AllowChangePassword, +UserRightType.OrganisationView_AllowEditCostBearer, +UserRightType.ServiceRecord_AllowChangeWithin24Hours, +UserRightType.ServiceRecord_AllowCreateServiceRecordsForAllClients, +UserRightType.SupportConcept_ViewAllSupportConcepts, +UserRightType.SupportConcept_AllowGoalOrientedSupportConcepts, +UserRightType.Customer_ViewMyCustomers, +UserRightType.Analysis_AllowFLSOverviewForCostbearer, +UserRightType.SupportConceptView_AllowArchiving, +UserRightType.Person_AllowArchiving, +UserRightType.Customer_AllowArchiving, +UserRightType.ServiceRecord_AllowCreationForOtherEmployees, +UserRightType.ResourceBookingView_AllowEditResourcesFromOtherEmployees, +UserRightType.ServiceRecord_AllowEditAfterMaxDaysInNextMonth, +UserRightType.AssessmentSheet_View, +UserRightType.AssessmentSheet_Edit, +UserRightType.AssessmentSheet_Create, +UserRightType.AssessmentSheet_Delete, +UserRightType.ServiceRecord_AllowCreateMoreFLSThanApproved, +UserRightType.Analysis_AuslastungAllEmployee_View, +UserRightType.Analysis_AuslastungTeam_View, +UserRightType.Analysis_Auslastung_View, +UserRightType.Analysis_AllowFLSOverviewForTeam, +UserRightType.Analysis_AllowFLSOverviewForAllTeams, +UserRightType.ServiceRecord_AllowCreateOverlappingFLS, +UserRightType.ServiceRecord_AllowCreationForOtherTeamMember, +UserRightType.BookServiceRecordOutOfSupportConcept, +UserRightType.BookServiceRecordAfterSettlementInvoice, +UserRightType.Organisation_AllowArchiving, +UserRightType.ServiceRecord_ShowHistory, +UserRightType.ServiceRecord_AllowCreateOverlappingFLSForEmployee, +UserRightType.ServiceRecord_AllowCreatingGroupBooking, +UserRightType.ServiceRecord_AllowCreatingMultiBooking, +UserRightType.TeamView_ViewMyTeams, +UserRightType.Customer_ViewMyTeams, +UserRightType.SupportConcept_ViewMyTeams, +UserRightType.Employee_AllowEditExtendedProperties, +UserRightType.Employee_AllowEditContracts, +UserRightType.Employee_AllowEditOwnEmployees, +UserRightType.Employee_AllowArchiving, +UserRightType.User_AllowOrderLicense, +UserRightType.Employee_AllowViewOwnEmployees, +UserRightType.Employee_AllowViewOwnTeam, +UserRightType.Employee_ViewNotizen, +UserRightType.Employee_EditNotizen, +UserRightType.Employee_DeleteNotizen, +UserRightType.GroupOfPeopleView_Edit, +UserRightType.GroupOfPeopleView_Create, +UserRightType.GroupOfPeopleView_Delete, +UserRightType.AdditionalService_View, +UserRightType.OvertimeView, +UserRightType.Mitarbeiterstundenkonto_ViewSelf, +UserRightType.Mitarbeiterstundenkonto_ViewAll, +UserRightType.Mitarbeiterstundenkonto_ViewTeams, +UserRightType.Auswertungen_BerichteAnsehen, +UserRightType.Auswertungen_StundenuebersichtAnsehen, +UserRightType.Auswertungen_HilfeplanuebersichtAnsehen, +UserRightType.Support_View, +UserRightType.SupportConcept_AllowEditGoals, +UserRightType.SupportConcept_AllowEditTasks, +UserRightType.ServiceRecord_AllowEditForOtherEmployees, +UserRightType.KalenderAnsehen, +UserRightType.KalenderMitarbeitertermineAnsehen, +UserRightType.KalenderMitarbeitertermineAnlegen, +UserRightType.KalenderMitarbeitertermineAendern, +UserRightType.KalenderKliententermineAlleAnsehen, +UserRightType.KalenderKliententermineAnlegen, +UserRightType.KalenderKliententermineAendern, +UserRightType.KalenderRessourcentermineAnsehen, +UserRightType.KalenderRessourcentermineAnlegen, +UserRightType.KalenderRessourcentermineAendern, +UserRightType.KalenderRessourcentermineAndererAendern, +UserRightType.KalenderInZeiterfassungUebernehmen, +UserRightType.AllowChangeOwnPassword, +UserRightType.TextbausteineAlleAnsehen, +UserRightType.TextbausteineNurEigeneAnsehen, +UserRightType.TextbausteineAlleBearbeiten, +UserRightType.TextbausteineNurEigeneBearbeiten, +UserRightType.BargeldverwaltungAnsehen, +UserRightType.BargeldverwaltungNurEigeneAnsehen, +UserRightType.BargeldverwaltungBearbeiten, +UserRightType.BargeldverwaltungAnlegen, +UserRightType.BargeldverwaltungLoeschen, +UserRightType.SupportConceptAllowReactivation, +UserRightType.CustomerAllowReactivation, +UserRightType.OrganisationAllowReactivation, +UserRightType.PersonAllowReactivation, +UserRightType.EmployeeAllowReactivation, +UserRightType.ServiceRecordAllowRebooking, +UserRightType.CostbearerAllowChange, +UserRightType.ServiceRecordAllowEditAfterMindays, +UserRightType.DocumentsAllowViewAll, +UserRightType.DocumentsDownloadAll, +UserRightType.DocumentsEditFolders, +UserRightType.DocumentsUploadAll, +UserRightType.DocumentsDeleteAll, +UserRightType.Customer_ViewMedication, +UserRightType.Customer_ViewDiagnosis, +UserRightType.Customer_ViewNotizen, +UserRightType.Customer_EditNotizen, +UserRightType.Customer_DeleteNotizen, +UserRightType.WohnheimView_View, +UserRightType.WohnheimView_Edit, +UserRightType.WohnheimView_Create, +UserRightType.WohnheimView_Delete, +UserRightType.Wohnheim_AllowArchiving, +UserRightType.Betreuungsschluessel_View, +UserRightType.Betreuungsschluessel_Edit, +UserRightType.Betreuungsschluessel_Delete, +UserRightType.Betreuungsschluessel_Create, +UserRightType.Jahresbericht, +UserRightType.DokumenteFinanzen, +UserRightType.DokumenteKlienten, +UserRightType.DokumenteMitarbeiter, +UserRightType.DokumenteOrganisationen, +UserRightType.DokumentePersonen, +UserRightType.DokumenteHilfeplaene, +UserRightType.DokumenteTeams, +UserRightType.BargeldverwaltungFinanzenAnsehen, +UserRightType.BargeldverwaltungFinanzenAnlegen, +UserRightType.BargeldverwaltungFinanzenBearbeiten, +UserRightType.BargeldverwaltungFinanzenLoeschen, +UserRightType.ChatSettings, +UserRightType.ChatAdminSettings, +UserRightType.Kilometerauswertung_View, +UserRightType.BewertungAuswertung_View, +UserRightType.BewertenInZeiterfassung, +UserRightType.PivotTabelleAnsehen, +UserRightType.DienstplanungAnsehen, +UserRightType.AbwesenheitsPlanungAnsehen, +UserRightType.KilometerauswertungEigene_View, +UserRightType.VertretungenView_View, +UserRightType.CustomerTeam_View, +UserRightType.CustomerTeam_Edit, +UserRightType.CustomerTeam_Delete, +UserRightType.CustomerTeam_Create, +UserRightType.Person_FamilyView, +UserRightType.Customer_Anonymization, +UserRightType.Customer_Full_Delete, +UserRightType.Person_Full_Delete, +UserRightType.Employee_Full_Delete, +UserRightType.Employee_Anonymization, +UserRightType.Termine_IntervalDelete, +UserRightType.ServiceRecord_AllowCreateAfterEmployeeSignature, +UserRightType.ServiceRecord_AllowEditAfterEmployeeSignature, +UserRightType.ServiceRecord_AllowDeleteAfterEmployeeSignature, +UserRightType.ConfirmationReceiptSignatures_Delete, +UserRightType.Signature_ProvideSingleSignature, +UserRightType.Signature_ProvideMonthlySignature, +UserRightType.Signature_ProvideMonthlySignatureByProxy, + }; + } + + [TestMethod] + public void DictionaryCreation() + { + var values = new Dictionary(); + foreach (UserRightType item in Enum.GetValues(typeof(UserRightType))) + { + var value = (long)item; + + if (values.ContainsKey(value)) + Assert.Fail($"\"{item}\" und \"{values[value]}\" haben den gleichen Wert \"{value}\""); + + values.Add(value, item); + } + } + + [TestMethod] + public void DictionaryComplete() + { + Dict = EnumTranslations.UserRightType2Translations; + + foreach (UserRightType item in Enum.GetValues(typeof(UserRightType))) + { + if (item != UserRightType.None && !Dict.ContainsKey(item)) + Assert.Fail($"UserRight \"{item}\" hat keine Übersetzung in {nameof(EnumTranslations.UserRightType2Translations)}"); + } + } + + [TestMethod] + public void UserRightHelperComplete() + { + foreach (UserRightType item in Enum.GetValues(typeof(UserRightType))) + { + var has_special_version = UserRightHelper.GetRightVersion(item) != UserRightHelper.BASE_VERSION; + + if (has_special_version) + continue; + + var is_base_version = UserRightTypesVersion1dot0.Contains(item); + + if (is_base_version) + continue; + + Assert.Fail($"UserRight \"{item}\" hat keine Versionierung in {nameof(UserRightHelper.GetRightVersion)} ({nameof(UserRightHelper)})"); + } + } + } +} diff --git a/TranslationUnitTest/Properties/AssemblyInfo.cs b/TranslationUnitTest/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..a63558a99 --- /dev/null +++ b/TranslationUnitTest/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("TranslationUnitTest")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("TranslationUnitTest")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] + +[assembly: Guid("83c43fec-233d-49ef-bd23-bf842a3ebdf5")] + +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/TranslationUnitTest/TranslationUnitTest.csproj b/TranslationUnitTest/TranslationUnitTest.csproj new file mode 100644 index 000000000..2512f3ca2 --- /dev/null +++ b/TranslationUnitTest/TranslationUnitTest.csproj @@ -0,0 +1,78 @@ + + + + + + Debug + AnyCPU + {83C43FEC-233D-49EF-BD23-BF842A3EBDF5} + Library + Properties + TranslationUnitTest + TranslationUnitTest + v4.7.2 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + + + ..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + + + + + + + + + + + + + {B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE} + Data + + + {2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4} + Shared + + + + + + + Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". + + + + + + \ No newline at end of file diff --git a/TranslationUnitTest/packages.config b/TranslationUnitTest/packages.config new file mode 100644 index 000000000..f84cb1064 --- /dev/null +++ b/TranslationUnitTest/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/WohneinheitUnitTest/Properties/AssemblyInfo.cs b/WohneinheitUnitTest/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..71fcba43c --- /dev/null +++ b/WohneinheitUnitTest/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("WohneinheitUnitTest")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WohneinheitUnitTest")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] + +[assembly: Guid("7630915f-dfe4-45a4-a7b1-b6d19b0126c1")] + +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/WohneinheitUnitTest/WohneinheitUnitTest.csproj b/WohneinheitUnitTest/WohneinheitUnitTest.csproj new file mode 100644 index 000000000..93879d9c5 --- /dev/null +++ b/WohneinheitUnitTest/WohneinheitUnitTest.csproj @@ -0,0 +1,78 @@ + + + + + + Debug + AnyCPU + {7630915F-DFE4-45A4-A7B1-B6D19B0126C1} + Library + Properties + WohneinheitUnitTest + WohneinheitUnitTest + v4.7.2 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + + + ..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + + + + + + + + + + + + + {B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE} + Data + + + {2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4} + Shared + + + + + + + Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". + + + + + + \ No newline at end of file diff --git a/WohneinheitUnitTest/WohneinheitUnitTest1.cs b/WohneinheitUnitTest/WohneinheitUnitTest1.cs new file mode 100644 index 000000000..9c2544ebc --- /dev/null +++ b/WohneinheitUnitTest/WohneinheitUnitTest1.cs @@ -0,0 +1,18 @@ +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BS.Shared.DataContracts; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; + +namespace WohneinheitUnitTest +{ + [TestClass] + public class WohneinheitUnitTest1 + { + [TestMethod] + public void TestMethod1() + { + Assert.IsTrue(true); + } + } +} diff --git a/WohneinheitUnitTest/packages.config b/WohneinheitUnitTest/packages.config new file mode 100644 index 000000000..f84cb1064 --- /dev/null +++ b/WohneinheitUnitTest/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file