From 313b094e4545c8d97c1f5085a622bfc918f40c38 Mon Sep 17 00:00:00 2001 From: Christian Date: Sun, 3 May 2026 23:57:29 +0200 Subject: [PATCH 1/7] =?UTF-8?q?Team=20Berechtigung=20f=C3=BCr=20Ordner=20e?= =?UTF-8?q?ingef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BeWo/BeWo.csproj | 9 + BeWo/BeWoApp.xaml.cs | 3 +- BeWo/MainControl.xaml.cs | 8 +- BeWo/ServiceProxy/GeneratedEmployeeService.cs | 18 ++ .../GeneratedOperationsService.cs | 227 +++++++++--------- BeWo/View/BeWoFileView.xaml | 6 + BeWo/View/BeWoFileView.xaml.cs | 67 ++++-- .../WohneinheitBelegungSchedulerView.xaml | 2 +- .../WohneinheitBelegungTableView.xaml | 2 +- BeWo/View/Detail/WohnheimView.xaml | 4 +- BeWo/View/Document/DokumentViewHelper.cs | 38 ++- BeWo/View/Document/DokumenteView.xaml.cs | 72 +++--- .../SingleTemplateSelectionView.xaml.cs | 32 ++- BeWo/View/Document/TeamFolderRightView.xaml | 39 +++ .../View/Document/TeamFolderRightView.xaml.cs | 110 +++++++++ .../ListViewModel/TeamFolderRightListVM.cs | 38 +++ BeWo/ViewModel/TeamFolderRightVM.cs | 113 +++++++++ Data/Access/SearchDAO.cs | 26 +- Data/Data.csproj | 2 + Data/Entities/TeamFolderRight.cs | 18 ++ Data/Mappings/TeamFolderRight.hbm.xml | 22 ++ Data/Security/UserRightHelper.cs | 14 +- Model/Changes_2026-04-28 TeamFolderRight.txt | 20 ++ Service/DCEntityMapper/MapperFactory.cs | 3 +- .../TeamFolderRightDC_TeamFolderRight.cs | 44 ++++ Service/Dokumentverwaltung/DokumentManager.cs | 61 ++++- Service/Service.csproj | 1 + Service/ServiceContracts/IEmployeeService.cs | 8 + .../ServiceContracts/IOperationsService.cs | 5 + .../EmployeeServiceImp.cs | 30 +++ Shared/DataContracts/InactivePersonDC.cs | 3 +- Shared/DataContracts/TeamFolderRightDC.cs | 25 ++ Shared/Shared.csproj | 1 + 33 files changed, 881 insertions(+), 190 deletions(-) create mode 100644 BeWo/View/Document/TeamFolderRightView.xaml create mode 100644 BeWo/View/Document/TeamFolderRightView.xaml.cs create mode 100644 BeWo/ViewModel/ListViewModel/TeamFolderRightListVM.cs create mode 100644 BeWo/ViewModel/TeamFolderRightVM.cs create mode 100644 Data/Entities/TeamFolderRight.cs create mode 100644 Data/Mappings/TeamFolderRight.hbm.xml create mode 100644 Model/Changes_2026-04-28 TeamFolderRight.txt create mode 100644 Service/DCEntityMapper/TeamFolderRightDC_TeamFolderRight.cs create mode 100644 Shared/DataContracts/TeamFolderRightDC.cs diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index 26cdfa6fe..8ed9d7433 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -147,6 +147,7 @@ DataTemplates.xaml + @@ -154,6 +155,7 @@ + @@ -206,6 +208,9 @@ DatenbereinigungView.xaml + + TeamFolderRightView.xaml + RtfEditView.xaml @@ -342,6 +347,10 @@ MSBuild:Compile Designer + + MSBuild:Compile + Designer + MSBuild:Compile Designer diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs index 302a615e5..0831c6042 100644 --- a/BeWo/BeWoApp.xaml.cs +++ b/BeWo/BeWoApp.xaml.cs @@ -660,7 +660,8 @@ namespace BeWo AppSettings.ShowAI = true; AppSettings.ShowAIVoice = true; - + AppSettings.ShowVorlagen = true; + AppSettings.ShowWorktime = true; AppSettings.ShowPersehImport = true; AppSettings.ShowWohnhilfe = true; diff --git a/BeWo/MainControl.xaml.cs b/BeWo/MainControl.xaml.cs index 10911d214..305b70604 100644 --- a/BeWo/MainControl.xaml.cs +++ b/BeWo/MainControl.xaml.cs @@ -154,7 +154,7 @@ namespace BeWo AufOffeneTerminePruefen(); - //BeWoApp.InitBlubb(); + //BeWoApp.InitBlubb(); #if !DEBUG if (this.button_Scheduler.Visibility == Visibility.Visible && !BeWoApp.AppSettings.IsSchedulerAllowed) @@ -176,7 +176,7 @@ namespace BeWo } - if (BeWoApp.LoggedOnUser != null && BeWoApp.LoggedOnUser.HasRight(UserRightType.DocumentsAllowViewAll) && BeWoApp.AppSettings.ShowVorlagen) + if (BeWoApp.LoggedOnUser != null && BeWoApp.LoggedOnUser.HasRight(UserRightType.DocumentsAllowViewAll) && BeWoApp.AppSettings.ShowVorlagen && (BeWoApp.LoggedOnUser.HasRight(UserRightType.VorlagenViewAll) || BeWoApp.LoggedOnUser.HasRight(UserRightType.VorlagenViewOwnTeams)) { this.button_Dokumente.Visibility = Visibility.Visible; } @@ -187,10 +187,10 @@ namespace BeWo #endif #if DEBUG - //DebugHelperViewButton.Visibility = Visibility.Visible; + //DebugHelperViewButton.Visibility = Visibility.Visible; #endif - UpdateMandator(); + UpdateMandator(); var controlFactory = new BeWoControlFactory(); var windowFactory = new BeWoWindowFactory(); diff --git a/BeWo/ServiceProxy/GeneratedEmployeeService.cs b/BeWo/ServiceProxy/GeneratedEmployeeService.cs index 3fab36220..a725d4136 100644 --- a/BeWo/ServiceProxy/GeneratedEmployeeService.cs +++ b/BeWo/ServiceProxy/GeneratedEmployeeService.cs @@ -222,6 +222,14 @@ namespace BeWo.ServiceProxy "", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] System.Collections.Generic.List GetActiveCompactEmployeesByOids(System.Collections.Generic.List employeeOids); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetTeamRightsForFolder", ReplyAction="http://tempuri.org/IEmployeeService/GetTeamRightsForFolderResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetTeamRightsForFolderBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] + System.Collections.Generic.List GetTeamRightsForFolder(long folderOid); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/SaveTeamFolderRights", ReplyAction="http://tempuri.org/IEmployeeService/SaveTeamFolderRightsResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/SaveTeamFolderRightsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] + System.Collections.Generic.List SaveTeamFolderRights(System.Collections.Generic.List list); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/ArchiveEmployee", ReplyAction="http://tempuri.org/IEmployeeService/ArchiveEmployeeResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/ArchiveEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] void ArchiveEmployee(long pOid, long pVersion); @@ -848,6 +856,16 @@ namespace BeWo.ServiceProxy return base.Channel.GetActiveCompactEmployeesByOids(employeeOids); } + public System.Collections.Generic.List GetTeamRightsForFolder(long folderOid) + { + return base.Channel.GetTeamRightsForFolder(folderOid); + } + + public System.Collections.Generic.List SaveTeamFolderRights(System.Collections.Generic.List list) + { + return base.Channel.SaveTeamFolderRights(list); + } + public void ArchiveEmployee(long pOid, long pVersion) { base.Channel.ArchiveEmployee(pOid, pVersion); diff --git a/BeWo/ServiceProxy/GeneratedOperationsService.cs b/BeWo/ServiceProxy/GeneratedOperationsService.cs index f4e47b03b..0e8e00812 100644 --- a/BeWo/ServiceProxy/GeneratedOperationsService.cs +++ b/BeWo/ServiceProxy/GeneratedOperationsService.cs @@ -17,6 +17,11 @@ namespace BeWo.ServiceProxy public interface IOperationsService { + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/CreateRtfDocumentFromTemplate", ReplyAction="http://tempuri.org/IOperationsService/CreateRtfDocumentFromTemplateResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/CreateRtfDocumentFromTemplateBeWoFaultFault" + + "", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] + string CreateRtfDocumentFromTemplate(long vorlageOid, BS.Shared.TableID objectTid, System.Collections.Generic.List objectOids); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/StartAIVoice", ReplyAction="http://tempuri.org/IOperationsService/StartAIVoiceResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/StartAIVoiceBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] BS.Shared.DataContracts.AiVoiceDataDC StartAIVoice(); @@ -37,6 +42,10 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteInactivePersonsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] string DeleteInactivePersons(System.Collections.Generic.List persons, bool anonymisieren); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewDienstvertretung2", ReplyAction="http://tempuri.org/IOperationsService/InsertNewDienstvertretung2Response")] + [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewDienstvertretung2BeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] + bool InsertNewDienstvertretung2(BS.Shared.DataContracts.DienstvertretungDC dienstvertretung, System.Collections.Generic.List alleDiensteintraege, System.Collections.Generic.List alleDienstvertretungen, int day, System.DateTime pflichtStart, System.DateTime pflichtEnde); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateDienstEintrag", ReplyAction="http://tempuri.org/IOperationsService/UpdateDienstEintragResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateDienstEintragBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] void UpdateDienstEintrag(BS.Shared.DataContracts.DienstEintragDC dienstEintrag); @@ -378,15 +387,84 @@ namespace BeWo.ServiceProxy [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AuslastungAnalysisEmployeeDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AuslastungAnalysisSupportConceptDC))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.TableID))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ValueListEntryType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ActivationTypeId))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.CostRatePeriodType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AbsenceReasonVisibilityType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Sex))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SubstitutionNeed))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ZeiterfassungsDauer))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AccountingIntervalType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AccountingvisibilityType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ScopeTypeId))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceUnit))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordFormate))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordTypeId))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.CostBearer2SupportConceptStatus))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SystemEntryID))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.FileAttachmentType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SupportConceptApprovalInterval))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Bewilligungsart))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.FamilyStatus))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.PersonType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SettingsType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UserRightType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ControlType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ContactType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AppointmentDayOfWeek))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordValidationResult))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ParticipationAnswer))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.StatementType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureStateType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Zahlungstyp))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SchulbegleitenderZugehoerigkeitsTyp))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.TokenTyp))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Behinderungsart))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.VgaTypeEnum))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Merkzeichen))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Pflegegrad))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.MessageType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.HomeViewPanelType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UiElementType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Auszahlungsintervall))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Priority))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Status))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.VertretungsStatus))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary>))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List>))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary, decimal>))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary>))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AiVoiceDataDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ResourceDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ValueListEntryDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InactivePersonDC))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstEintragDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstvertretungDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstEintragDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordDC))] @@ -553,12 +631,14 @@ namespace BeWo.ServiceProxy [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ReportTemplateDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ReportTypes))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceGroupOfPeopleRelationDC))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceGroupOfPeopleDC))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceRegionDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceBookingDC))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceRegionDC))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceNoticeDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptStatisticsDC))] @@ -623,60 +703,6 @@ namespace BeWo.ServiceProxy [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordPeriodStatisticsInfoDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordHistoryDC))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceGroupOfPeopleRelationDC))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Core.BeWoFault))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Core.BeWoFaultType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Core.DateTimeSpan))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ValueListEntryType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.TableID))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ActivationTypeId))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.CostRatePeriodType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AbsenceReasonVisibilityType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Sex))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SubstitutionNeed))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ZeiterfassungsDauer))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AccountingIntervalType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AccountingvisibilityType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ScopeTypeId))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceUnit))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordFormate))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordTypeId))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.CostBearer2SupportConceptStatus))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SystemEntryID))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.FileAttachmentType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SupportConceptApprovalInterval))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Bewilligungsart))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.FamilyStatus))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.PersonType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SettingsType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UserRightType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ControlType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ContactType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AppointmentDayOfWeek))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordValidationResult))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ParticipationAnswer))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.StatementType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureStateType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Zahlungstyp))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SchulbegleitenderZugehoerigkeitsTyp))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.TokenTyp))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Behinderungsart))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.VgaTypeEnum))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Merkzeichen))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Pflegegrad))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.MessageType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.HomeViewPanelType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UiElementType))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Auszahlungsintervall))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Priority))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Status))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.VertretungsStatus))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactOrganisationDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactCustomerDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactEmployeeDC))] @@ -721,26 +747,9 @@ namespace BeWo.ServiceProxy [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Wohnhilfe.Haushaltsstruktur))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Wohnhilfe.HochsterSchulabschluss))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Wohnhilfe.Staatsangehorigkeit))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary>))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List>))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary, decimal>))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary>))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary>))] - [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Core.BeWoFault))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Core.BeWoFaultType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Core.DateTimeSpan))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Invoicing.BankAccountDC))] string GetDakotaFileFormat(object param); @@ -825,10 +834,9 @@ namespace BeWo.ServiceProxy "loyeeAndCustomerBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] bool HasConfirmationReceiptSignatureByDateAndEmployeeAndCustomer(out System.Collections.Generic.List confirmationReceiptSignatures, long customerOid, long employeeOid, System.DateTime start, System.DateTime end, long costBearer2SupportConceptOid); - [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/CreateRtfDocumentFromTemplate", ReplyAction="http://tempuri.org/IOperationsService/CreateRtfDocumentFromTemplateResponse")] - [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/CreateRtfDocumentFromTemplateBeWoFaultFault" + - "", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] - string CreateRtfDocumentFromTemplate(long vorlageOid, BS.Shared.TableID objectTid, System.Collections.Generic.List objectOids); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/UpdateAbsenceTimeResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] + void UpdateAbsenceTime(BS.Shared.DataContracts.AbsenceTimeDC abs); [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetAllTokens", ReplyAction="http://tempuri.org/IOperationsService/GetAllTokensResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/GetAllTokensBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] @@ -1190,9 +1198,12 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewDienstvertretungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] void InsertNewDienstvertretung(BS.Shared.DataContracts.DienstvertretungDC dienstvertretung); - [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewDienstvertretung2", ReplyAction="http://tempuri.org/IOperationsService/InsertNewDienstvertretung2Response")] - [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewDienstvertretung2BeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] - bool InsertNewDienstvertretung2(BS.Shared.DataContracts.DienstvertretungDC dienstvertretung, System.Collections.Generic.List alleDiensteintraege, System.Collections.Generic.List alleDienstvertretungen, int day, System.DateTime pflichtStart, System.DateTime pflichtEnde); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateAdditionalServiceGroupOfPeopleRelatio" + + "ns", ReplyAction="http://tempuri.org/IOperationsService/UpdateAdditionalServiceGroupOfPeopleRelatio" + + "nsResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateAdditionalServiceGroupOfPeopleRelatio" + + "nsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] + void UpdateAdditionalServiceGroupOfPeopleRelations(System.Collections.Generic.List pAdditionalServiceGroupOfPeopleRelations); [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteAdditionalServiceGroupOfPeopleRelatio" + "n", ReplyAction="http://tempuri.org/IOperationsService/DeleteAdditionalServiceGroupOfPeopleRelatio" + @@ -1588,10 +1599,6 @@ namespace BeWo.ServiceProxy "t", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] void UpdateVertretungAndAbsenceTime(BS.Shared.DataContracts.VertretungDC vert, BS.Shared.DataContracts.AbsenceTimeDC abs); - [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/UpdateAbsenceTimeResponse")] - [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] - void UpdateAbsenceTime(BS.Shared.DataContracts.AbsenceTimeDC abs); - [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeactivateInvoices", ReplyAction="http://tempuri.org/IOperationsService/DeactivateInvoicesResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/DeactivateInvoicesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] void DeactivateInvoices(System.Collections.Generic.List invoices); @@ -1743,6 +1750,10 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/GetFolderTreeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] System.Collections.Generic.List GetFolderTree(BS.Shared.TableID pObjectTid, long pObjectOid); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetFileAttachmentsForFolder", ReplyAction="http://tempuri.org/IOperationsService/GetFileAttachmentsForFolderResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/GetFileAttachmentsForFolderBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] + System.Collections.Generic.List GetFileAttachmentsForFolder(System.Nullable folderOid, BS.Shared.TableID objectTid, long objectOid); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteFolder", ReplyAction="http://tempuri.org/IOperationsService/DeleteFolderResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteFolderBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] void DeleteFolder(long pBeWoFolderOid, long pVersion); @@ -1969,13 +1980,6 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewAdditionalServiceGroupOfPeopleRela" + "tionsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] System.Collections.Generic.List InsertNewAdditionalServiceGroupOfPeopleRelations(System.Collections.Generic.List pAdditionalServiceGroupOfPeopleRelations); - - [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateAdditionalServiceGroupOfPeopleRelatio" + - "ns", ReplyAction="http://tempuri.org/IOperationsService/UpdateAdditionalServiceGroupOfPeopleRelatio" + - "nsResponse")] - [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateAdditionalServiceGroupOfPeopleRelatio" + - "nsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] - void UpdateAdditionalServiceGroupOfPeopleRelations(System.Collections.Generic.List pAdditionalServiceGroupOfPeopleRelations); } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] @@ -2012,6 +2016,11 @@ namespace BeWo.ServiceProxy { } + public string CreateRtfDocumentFromTemplate(long vorlageOid, BS.Shared.TableID objectTid, System.Collections.Generic.List objectOids) + { + return base.Channel.CreateRtfDocumentFromTemplate(vorlageOid, objectTid, objectOids); + } + public BS.Shared.DataContracts.AiVoiceDataDC StartAIVoice() { return base.Channel.StartAIVoice(); @@ -2037,6 +2046,11 @@ namespace BeWo.ServiceProxy return base.Channel.DeleteInactivePersons(persons, anonymisieren); } + public bool InsertNewDienstvertretung2(BS.Shared.DataContracts.DienstvertretungDC dienstvertretung, System.Collections.Generic.List alleDiensteintraege, System.Collections.Generic.List alleDienstvertretungen, int day, System.DateTime pflichtStart, System.DateTime pflichtEnde) + { + return base.Channel.InsertNewDienstvertretung2(dienstvertretung, alleDiensteintraege, alleDienstvertretungen, day, pflichtStart, pflichtEnde); + } + public void UpdateDienstEintrag(BS.Shared.DataContracts.DienstEintragDC dienstEintrag) { base.Channel.UpdateDienstEintrag(dienstEintrag); @@ -2457,9 +2471,9 @@ namespace BeWo.ServiceProxy return base.Channel.HasConfirmationReceiptSignatureByDateAndEmployeeAndCustomer(out confirmationReceiptSignatures, customerOid, employeeOid, start, end, costBearer2SupportConceptOid); } - public string CreateRtfDocumentFromTemplate(long vorlageOid, BS.Shared.TableID objectTid, System.Collections.Generic.List objectOids) + public void UpdateAbsenceTime(BS.Shared.DataContracts.AbsenceTimeDC abs) { - return base.Channel.CreateRtfDocumentFromTemplate(vorlageOid, objectTid, objectOids); + base.Channel.UpdateAbsenceTime(abs); } public System.Collections.Generic.List GetAllTokens(BS.Shared.SchulbegleitenderZugehoerigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid) @@ -2882,9 +2896,9 @@ namespace BeWo.ServiceProxy base.Channel.InsertNewDienstvertretung(dienstvertretung); } - public bool InsertNewDienstvertretung2(BS.Shared.DataContracts.DienstvertretungDC dienstvertretung, System.Collections.Generic.List alleDiensteintraege, System.Collections.Generic.List alleDienstvertretungen, int day, System.DateTime pflichtStart, System.DateTime pflichtEnde) + public void UpdateAdditionalServiceGroupOfPeopleRelations(System.Collections.Generic.List pAdditionalServiceGroupOfPeopleRelations) { - return base.Channel.InsertNewDienstvertretung2(dienstvertretung, alleDiensteintraege, alleDienstvertretungen, day, pflichtStart, pflichtEnde); + base.Channel.UpdateAdditionalServiceGroupOfPeopleRelations(pAdditionalServiceGroupOfPeopleRelations); } public void DeleteAdditionalServiceGroupOfPeopleRelation(long pDeleteAdditionalServiceGroupOfPeopleRelationOid, long pVersion) @@ -3307,11 +3321,6 @@ namespace BeWo.ServiceProxy base.Channel.UpdateVertretungAndAbsenceTime(vert, abs); } - public void UpdateAbsenceTime(BS.Shared.DataContracts.AbsenceTimeDC abs) - { - base.Channel.UpdateAbsenceTime(abs); - } - public void DeactivateInvoices(System.Collections.Generic.List invoices) { base.Channel.DeactivateInvoices(invoices); @@ -3487,6 +3496,11 @@ namespace BeWo.ServiceProxy return base.Channel.GetFolderTree(pObjectTid, pObjectOid); } + public System.Collections.Generic.List GetFileAttachmentsForFolder(System.Nullable folderOid, BS.Shared.TableID objectTid, long objectOid) + { + return base.Channel.GetFileAttachmentsForFolder(folderOid, objectTid, objectOid); + } + public void DeleteFolder(long pBeWoFolderOid, long pVersion) { base.Channel.DeleteFolder(pBeWoFolderOid, pVersion); @@ -3731,10 +3745,5 @@ namespace BeWo.ServiceProxy { return base.Channel.InsertNewAdditionalServiceGroupOfPeopleRelations(pAdditionalServiceGroupOfPeopleRelations); } - - public void UpdateAdditionalServiceGroupOfPeopleRelations(System.Collections.Generic.List pAdditionalServiceGroupOfPeopleRelations) - { - base.Channel.UpdateAdditionalServiceGroupOfPeopleRelations(pAdditionalServiceGroupOfPeopleRelations); - } } } diff --git a/BeWo/View/BeWoFileView.xaml b/BeWo/View/BeWoFileView.xaml index e9f84d867..4b06691b2 100644 --- a/BeWo/View/BeWoFileView.xaml +++ b/BeWo/View/BeWoFileView.xaml @@ -34,6 +34,12 @@ + + + + + + (this._SelectedTreeNode); @@ -562,7 +568,10 @@ namespace BeWo.View bool enabled = false; bool darfBearbeiten = BeWoApp.LoggedOnUser.HasRight(UserRightType.DocumentsEditFolders); - + bool darfVorlagenSehen = BeWoApp.AppSettings.ShowVorlagen && (_ObjectTid == TableID.Customer); +#if DEBUG + darfVorlagenSehen = true; +#endif if (folder != null) { if (folder.ParentFolder != null) @@ -582,6 +591,18 @@ namespace BeWo.View { menuitem.IsEnabled = false; } + if ("Vorlage".Equals(menuitem.Tag) && !darfVorlagenSehen) + { + menuitem.Visibility = Visibility.Collapsed; + } + } + else if (item is Separator) + { + var sep = item as Separator; + if ("Vorlage".Equals(sep.Tag) && !darfVorlagenSehen) + { + sep.Visibility = Visibility.Collapsed; + } } } } @@ -697,6 +718,22 @@ namespace BeWo.View return null; } + private void CreateNewTemplateForFolder(BeWoFolderVM child) + { + DokumentViewHelper.OpenTemplateSelectionDialog(_ObjectOid.Value, _ObjectTid, child.DataContract, UpdateSelectedFolder); + } + + private void UpdateSelectedFolder() + { + BeWoApp.CurrentBeWo.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)delegate + { + var child = this.treeview.SelectedItem as BeWoFolderVM; + + var files = ServiceFacade.DoOperationsServiceSync(s => s.GetFileAttachmentsForFolder(child.DataContract.BeWoFolderOid, _ObjectTid, _ObjectOid.Value)); + child.Files = new BindingList(files.Select(f => new FileAttachmentVM(f)).ToList()); + }); + } + void DocumentWatcher_FileDeleted(long? folderOid, long? objectOid, TableID objectTid, long fileAttachmentOid) { if (objectOid == _ObjectOid && objectTid == _ObjectTid) diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungSchedulerView.xaml b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungSchedulerView.xaml index a867b3209..f4e3afa35 100644 --- a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungSchedulerView.xaml +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungSchedulerView.xaml @@ -80,7 +80,7 @@ diff --git a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungTableView.xaml b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungTableView.xaml index 5cc0ab893..a390a88ba 100644 --- a/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungTableView.xaml +++ b/BeWo/View/Detail/Wohneinheit/WohneinheitBelegungTableView.xaml @@ -22,7 +22,7 @@ diff --git a/BeWo/View/Detail/WohnheimView.xaml b/BeWo/View/Detail/WohnheimView.xaml index 90a9352ca..3aae9eccf 100644 --- a/BeWo/View/Detail/WohnheimView.xaml +++ b/BeWo/View/Detail/WohnheimView.xaml @@ -770,10 +770,10 @@ - + - + diff --git a/BeWo/View/Document/DokumentViewHelper.cs b/BeWo/View/Document/DokumentViewHelper.cs index 78179fecf..f0e3c8e8e 100644 --- a/BeWo/View/Document/DokumentViewHelper.cs +++ b/BeWo/View/Document/DokumentViewHelper.cs @@ -5,6 +5,7 @@ using BeWo.ViewModel; using BS.Shared; using BS.Shared.Core; using BS.Shared.DataContracts; +using BS.Shared.DataContracts.Compact; using BS.Shared.Translation; using DevExpress.Utils; using DevExpress.Xpf.Grid; @@ -15,14 +16,23 @@ using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Media.Imaging; +using System.Windows.Navigation; using System.Windows.Threading; namespace BeWo.View.Document { public class DokumentViewHelper { + public static void OpenTemplateSelectionDialog(long objectOid, TableID tableId, BeWoFolderDC defaultFolderToSave, Action folderSelectedAction) + { + var alleVorlagen = ServiceFacade.DoOperationsServiceSync(s => s.GetDokumentvorlagenForType(tableId)); + if (alleVorlagen.Count > 0) + { + DokumentViewHelper.OpenTemplateSelectionDialog(alleVorlagen, tableId, objectOid, null, defaultFolderToSave, folderSelectedAction); + } + } - public static void OpenTemplateSelectionDialog(List alleVorlagen, TableID objectTid, long objectOid, String originalReportUri) + public static void OpenTemplateSelectionDialog(List alleVorlagen, TableID objectTid, long objectOid, String originalReportUri, BeWoFolderDC defaultFolderToSave, Action folderSelectedAction) { var alleVorlagenTabellen = ServiceFacade.DoOperationsServiceSync(s => s.GetVorlagentabelleDCs()); @@ -34,7 +44,7 @@ namespace BeWo.View.Document var defaultBerichte = ServiceFacade.DoOperationsServiceSync(x => x.GetReportTemplates(String.Format("TemplateSelection?Tid={0}&Oid={1}", objectTid, objectOid))); var templateFolderList = VMFactory.CreateFolderList(TableID.Vorlagentabelle, tabelle.VorlagentabelleOid.Value); - view.InitView(tabelle, alleVorlagen, templateFolderList, null, true, false, "", defaultBerichte); + view.InitView(tabelle, alleVorlagen, templateFolderList, null, true, false, "", defaultBerichte, null); //view.InitView(tabelle, alleVorlagen, templateFolderList, null, true, false, ""); var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Vorlage auswählen"), view, 500, 600); @@ -48,7 +58,7 @@ namespace BeWo.View.Document } else { - PrintTemplate(view.SelectedTemplate, objectTid, objectOid); + PrintTemplate(view.SelectedTemplate, objectTid, objectOid, defaultFolderToSave, folderSelectedAction); } beWoWindow.Close(); @@ -58,7 +68,7 @@ namespace BeWo.View.Document } } - public static BeWoFolderDC OpenAndSelectBeWoFolderSelectionDialog(TableID objectTid, long objectOid, String fileName) + public static BeWoFolderDC OpenAndSelectBeWoFolderSelectionDialog(TableID objectTid, long objectOid, String fileName, BeWoFolderDC defaultFolder) { BeWoFolderDC selectedFolder = null; @@ -70,7 +80,7 @@ namespace BeWo.View.Document //var tabelle = alleVorlagenTabellen.FirstOrDefault(v => v.VorlagentabelleObjectTid.HasValue && v.VorlagentabelleObjectTid.Value == (int)objectTid); //if (tabelle != null) //{ - view.InitView(null, null, null, customerFolderList, false, true, fileName, null); + view.InitView(null, null, null, customerFolderList, false, true, fileName, null, defaultFolder); var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Ordner auswählen"), view, 500, 500); view.ButtonCancelClicked += () => beWoWindow.Close(); @@ -455,7 +465,7 @@ namespace BeWo.View.Document //} - private static void PrintTemplate(DokumentvorlageDC vorlage, TableID objectTid, long objectOid) + private static void PrintTemplate(DokumentvorlageDC vorlage, TableID objectTid, long objectOid, BeWoFolderDC defaultFolder, Action folderSelectedAction) { @@ -472,14 +482,16 @@ namespace BeWo.View.Document control.ButtonSavedClicked += () => { - var selectedFolder = OpenAndSelectBeWoFolderSelectionDialog(objectTid, objectOid, vorlage.Name); + var selectedFolder = OpenAndSelectBeWoFolderSelectionDialog(objectTid, objectOid, vorlage.Name, defaultFolder); + if (selectedFolder != null) { var newRtfText = control.RtfText; var filename = selectedFolder.Name; window.Close(); - SaveRtfInBeWoFolder(selectedFolder, newRtfText, filename, objectTid, objectOid); + SaveRtfInBeWoFolder(defaultFolder, newRtfText, filename, objectTid, objectOid, folderSelectedAction); + } }; @@ -501,7 +513,7 @@ namespace BeWo.View.Document } - private static void SaveRtfInBeWoFolder(BeWoFolderDC selectedFolder, string rtfText, string filename, TableID objectTid, long objectOid) + private static void SaveRtfInBeWoFolder(BeWoFolderDC selectedFolder, string rtfText, string filename, TableID objectTid, long objectOid, Action uploadFinished) { try @@ -517,11 +529,19 @@ namespace BeWo.View.Document { upload.Dispose(); ms.Dispose(); + if (uploadFinished != null) + { + uploadFinished(); + } }, () => { upload.Dispose(); ms.Dispose(); + if (uploadFinished != null) + { + uploadFinished(); + } }); } catch (Exception ex) diff --git a/BeWo/View/Document/DokumenteView.xaml.cs b/BeWo/View/Document/DokumenteView.xaml.cs index 5d106fb34..59c0e61b3 100644 --- a/BeWo/View/Document/DokumenteView.xaml.cs +++ b/BeWo/View/Document/DokumenteView.xaml.cs @@ -1,46 +1,47 @@  +using BeWo.Core; +using BeWo.ServiceProxy; +using BeWo.View.Detail; using BeWo.View.Navigation.Filter; +using BeWo.View.Windows; +using BeWo.ViewModel; using BS.Shared; +using BS.Shared.Core; using BS.Shared.DataContracts; +using BS.Shared.Extensions; +using BS.Shared.Translation; +using DevExpress.Mvvm.UI.Native; +using DevExpress.Utils; +using DevExpress.Xpf.Accordion; +using DevExpress.Xpf.Grid; +using DevExpress.Xpf.Grid.TreeList; +using DevExpress.XtraEditors; +using DevExpress.XtraPrinting.Native; using System; using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Globalization; +using System.IO; using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; using System.Windows; using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Forms; using System.Windows.Input; -using DevExpress.Xpf.Accordion; -using DevExpress.Mvvm.UI.Native; -using BeWo.ViewModel; -using DevExpress.XtraEditors; -using DevExpress.Xpf.Grid.TreeList; -using DevExpress.Xpf.Grid; -using DevExpress.XtraPrinting.Native; -using DevExpress.Utils; -using System.Runtime.CompilerServices; using System.Windows.Media; using System.Windows.Media.Imaging; -using System.Data; -using BeWo.ServiceProxy; -using BeWo.Core; -using System.Windows.Forms; -using MessageBox = System.Windows.MessageBox; -using BS.Shared.Extensions; -using BS.Shared.Core; -using System.IO; -using System.Windows.Threading; -using System.Windows.Documents; using System.Windows.Navigation; +using System.Windows.Threading; using ContextMenu = System.Windows.Controls.ContextMenu; -using MenuItem = System.Windows.Controls.MenuItem; using GroupBox = System.Windows.Controls.GroupBox; -using System.Windows.Controls.Primitives; +using MenuItem = System.Windows.Controls.MenuItem; +using MessageBox = System.Windows.MessageBox; using TextBox = System.Windows.Controls.TextBox; -using BeWo.View.Detail; -using System.Text; -using BS.Shared.Translation; -using System.Windows.Data; -using System.Globalization; -using System.ComponentModel; namespace BeWo.View.Document { @@ -1313,7 +1314,7 @@ namespace BeWo.View.Document //List folderDCs = new List(); if (node.Nodes.Count == 0 && vm.DocTreeItemOid.HasValue) { - var folderDCs = VMFactory.CreateFolderList(TableID.Vorlagentabelle, (long)vm.DocTreeItemOid); + var folderDCs = VMFactory.CreateFolderList(TableID.Vorlagentabelle, (long)vm.DocTreeItemOid * -1); DokumentViewHelper.AddFolderToTreeView(template_treeview_control, folderDCs, false); //GenerateFolderStructureForSelectedNode(node, folderDCs, true); } @@ -1449,7 +1450,7 @@ namespace BeWo.View.Document } else if (twi.Header.Equals("Berechtigungen")) { - this.OpenSelectRightsDialog(); + this.OpenSelectRightsDialog(row); } else if (twi.Header.Equals("Löschen")) { @@ -1572,9 +1573,18 @@ namespace BeWo.View.Document } - private void OpenSelectRightsDialog() + private void OpenSelectRightsDialog(DocumentTreeItemVM item) { - + var teams = VMFactory.CreateTeamList(); + var rights = ServiceFacade.DoEmployeeServiceSync(s => s.GetTeamRightsForFolder(item.DataContract.BeWoFolderDC.BeWoFolderOid.Value)); + + var ctrl = new TeamFolderRightView(new ViewModel.ListViewModel.TeamFolderRightListVM(rights, teams, item.DataContract.BeWoFolderDC)); + + var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Berechtigungen"), ctrl, 500, 800); + + ctrl.CloseButtonClicked += () => beWoWindow.Close(); + + beWoWindow.ShowDialog(); } diff --git a/BeWo/View/Document/SingleTemplateSelectionView.xaml.cs b/BeWo/View/Document/SingleTemplateSelectionView.xaml.cs index 093673bde..e64360e05 100644 --- a/BeWo/View/Document/SingleTemplateSelectionView.xaml.cs +++ b/BeWo/View/Document/SingleTemplateSelectionView.xaml.cs @@ -25,6 +25,9 @@ using System.Linq; using DevExpress.Xpf.Grid; using System.Windows.Media.Imaging; using DevExpress.Utils; +using DevExpress.Mvvm.Native; +using DevExpress.Xpf.Controls.ThemeKeys; +using DevExpress.Web; namespace BeWo.View.Document { @@ -48,7 +51,7 @@ namespace BeWo.View.Document public DocumentTreeItemDC SelectedReportTemplate { get; set; } - public void InitView(VorlagentabelleDC vt, List alleVorlagen, List allTemplateFolder, List allObjectFolder, bool showTemplateTree, bool showDocumentTree, String defaultFileName, IList defaultReports) + public void InitView(VorlagentabelleDC vt, List alleVorlagen, List allTemplateFolder, List allObjectFolder, bool showTemplateTree, bool showDocumentTree, String defaultFileName, IList defaultReports, BeWoFolderDC selectedDefaultFolder) { //tableId = tid; @@ -77,6 +80,7 @@ namespace BeWo.View.Document if (showDocumentTree) { DokumentViewHelper.CreateTemplateTreeViewItems(treelistcontrol_folderStructureForSelection, null, allObjectFolder, true); + SelectFolder(selectedDefaultFolder, treelistcontrol_folderStructureForSelection.View.Nodes); } else { @@ -106,6 +110,32 @@ namespace BeWo.View.Document // ButtonCreateClicked?.Invoke(); //} + public void SelectFolder(BeWoFolderDC folder, TreeListNodeCollection nodes) + { + if (folder != null) + { + foreach (var item in nodes) + { + var vm = item.Content as DocumentTreeItemVM; + var f = vm?.DataContract?.BeWoFolderDC; + + if (f != null && f.Name == folder.Name && (f.BeWoFolderOid == folder.BeWoFolderOid)) + { + var node = treelistcontrol_folderStructureForSelection.View.GetNodeByRowHandle(item.RowHandle); + treelistcontrol_folderStructureForSelection.SelectedItem = vm; + treelistcontrol_folderStructureForSelection.View.FocusedRowHandle = item.RowHandle; + //treelistcontrol_folderStructureForSelection.SelectItem(item); + //treelistcontrol_folderStructureForSelection.Focus(); + } + else + { + SelectFolder(folder, item.Nodes); + } + + } + + } + } private void Button_CreateTemplateForSelection_Click(object sender, RoutedEventArgs e) { diff --git a/BeWo/View/Document/TeamFolderRightView.xaml b/BeWo/View/Document/TeamFolderRightView.xaml new file mode 100644 index 000000000..69540f0c4 --- /dev/null +++ b/BeWo/View/Document/TeamFolderRightView.xaml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + - + --> diff --git a/BeWo/View/Detail/Report/DatenbereinigungView.xaml.cs b/BeWo/View/Detail/Report/DatenbereinigungView.xaml.cs index 5d58f2641..9121a4a5d 100644 --- a/BeWo/View/Detail/Report/DatenbereinigungView.xaml.cs +++ b/BeWo/View/Detail/Report/DatenbereinigungView.xaml.cs @@ -24,6 +24,7 @@ using BS.Shared.Extensions; using BS.Shared.Translation; using DevExpress.Xpf.Editors; using DevExpress.Xpf.Grid; +using DevExpress.XtraEditors.Filtering; using Microsoft.Win32; using Newtonsoft.Json; @@ -44,12 +45,22 @@ namespace BeWo.View.Detail.Report private void CheckRights() { - if (!BeWoApp.AppSettings.AllowStorno) + if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_Full_Delete)) { - ColumnButtons.MinWidth = 67; - } + radioCustomer.IsEnabled = false; + radioEmployee.IsChecked = true; - } + } + if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_Full_Delete)) + { + radioEmployee.IsEnabled = false; + radioPersonen.IsChecked = true; + } + if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Person_Full_Delete)) + { + radioPersonen.IsEnabled = false; + } + } private void RefreshList() { @@ -86,14 +97,45 @@ namespace BeWo.View.Detail.Report RefreshList(); } + private void DeleteSelectedPersons(List persons, bool nurArchivieren) + { + if (persons.Count > 0) + { + String name = String.Format("{0} Personen", persons.Count); + String typ = nurArchivieren ? "archivieren" : "löschen"; + if (persons.Count == 1) + { + name = String.Format("die Person {0}, {1}", persons[0].LastName, persons[0].FirstName); + } + String msg = String.Format(Translator.Translate("Sind Sie sicher, dass Sie {0} {1} möchten?\n\nACHTUNG: Der Vorgang kann nicht rückgängig gemacht werden."), name, typ); + + if (MessageBox.Show(msg, "Person " + typ, MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) + { + var result = ServiceFacade.DoOperationsServiceSync(s => s.DeleteInactivePersons(persons, nurArchivieren)); + + if (!String.IsNullOrEmpty(result)) + { + if (result.StartsWith("Fehler")) + { + MessageBox.Show(result, "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning); + } + else + { + MessageBox.Show(result, "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information); + } + + } + + RefreshList(); + } + } + } + private void btn_delete_Click(object sender, RoutedEventArgs e) { var vm = this.datagrid_inactiveData.GetCurrentValue(); - - if (MessageBox.Show("Sind Sie sicher, dass Sie die gewählte Rechnung löschen möchten?", "Rechnung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) - { - - } + + DeleteSelectedPersons(new List {vm}, false); } @@ -101,11 +143,7 @@ namespace BeWo.View.Detail.Report { var vm = this.datagrid_inactiveData.GetCurrentValue(); - if (MessageBox.Show("Sind Sie sicher, dass Sie die gewählte Rechnung löschen möchten?", "Rechnung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) - { - - } - + DeleteSelectedPersons(new List { vm }, true); } private void gridView_Loaded(object sender, RoutedEventArgs e) @@ -137,12 +175,12 @@ namespace BeWo.View.Detail.Report private void button_deleteAll_Click(object sender, RoutedEventArgs e) { - + DeleteSelectedPersons(GetSelectedVMs(), false); } private void button_anonymisierenAll_Click(object sender, RoutedEventArgs e) { - + DeleteSelectedPersons(GetSelectedVMs(), true); } private IList GetVisibleVMs() @@ -169,5 +207,24 @@ namespace BeWo.View.Detail.Report return list; } - } + private List GetSelectedVMs() + { + var list = new List(); + + var items = datagrid_inactiveData.ItemsSource as IList; + + if (items != null) + { + foreach (var item in items) + { + if (item.IsChecked) + { + list.Add(item); + } + } + } + + return list; + } + } } \ No newline at end of file diff --git a/BeWo/View/Master/ReportView.xaml.cs b/BeWo/View/Master/ReportView.xaml.cs index c5b1e26ff..bb23c0910 100644 --- a/BeWo/View/Master/ReportView.xaml.cs +++ b/BeWo/View/Master/ReportView.xaml.cs @@ -281,28 +281,35 @@ namespace BeWo.View.Master tabitem_flexibleReport.Visibility = Visibility.Collapsed; } + //Datenbereinigung + if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_Full_Delete) || BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_Full_Delete) || BeWoApp.LoggedOnUser.HasRight(UserRightType.Person_Full_Delete)) + { + tabitem_Datenbereinigung.Visibility = Visibility.Visible; + } + else + { + tabitem_Datenbereinigung.Visibility = Visibility.Collapsed; + } + //tabitem_serviceOverview.Visibility = Visibility.Collapsed; + + //if (BeWoApp.Mandator.BeWoClientType == 6 || BeWoApp.Mandator.BeWoClientType == 7 || BeWoApp.Mandator.BeWoClientType == 10 || BeWoApp.AppSettings.ShowAnnualReport) + // { + // //Nur Jahresbericht + IBP + Integra + // tabitem_annualReport.Visibility = Visibility.Visible; + // } - //tabitem_serviceOverview.Visibility = Visibility.Collapsed; - - //if (BeWoApp.Mandator.BeWoClientType == 6 || BeWoApp.Mandator.BeWoClientType == 7 || BeWoApp.Mandator.BeWoClientType == 10 || BeWoApp.AppSettings.ShowAnnualReport) - // { - // //Nur Jahresbericht + IBP + Integra - // tabitem_annualReport.Visibility = Visibility.Visible; - // } - - - // if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_Settlement_View)) - // tabitem_settlement.Visibility = Visibility.Collapsed; + // if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_Settlement_View)) + // tabitem_settlement.Visibility = Visibility.Collapsed; #if DEBUG - //tabitem_flexibleReport.Visibility = Visibility.Visible; - //tabitem_serviceOverview.Visibility = Visibility.Visible; - //tabitem_abwesenheitsTabelle.Visibility = Visibility.Visible; - //tabitem_dienstPlaner.Visibility = Visibility.Visible; + //tabitem_flexibleReport.Visibility = Visibility.Visible; + //tabitem_serviceOverview.Visibility = Visibility.Visible; + //tabitem_abwesenheitsTabelle.Visibility = Visibility.Visible; + //tabitem_dienstPlaner.Visibility = Visibility.Visible; #endif - ignoreSelectTabEvents = false; + ignoreSelectTabEvents = false; } private void InitRightsAlt() diff --git a/BeWo/View/Navigation/CustomerNavigationView.xaml.cs b/BeWo/View/Navigation/CustomerNavigationView.xaml.cs index 25c723d06..25448e574 100644 --- a/BeWo/View/Navigation/CustomerNavigationView.xaml.cs +++ b/BeWo/View/Navigation/CustomerNavigationView.xaml.cs @@ -174,7 +174,7 @@ namespace BeWo.View.Navigation betreuungsartFilterComboBox = new ComboBoxEdit(); betreuungsartFilterComboBox.FontSize = 12; betreuungsartFilterComboBox.Margin = new Thickness(10, 0, 0, 0); - betreuungsartFilterComboBox.Width = 150; + betreuungsartFilterComboBox.Width = 180; betreuungsartFilterComboBox.IsTextEditable = false; betreuungsartFilterComboBox.NullText = Translator.Translate("Nach Betreuungsart filtern"); betreuungsartFilterComboBox.ItemsSource = ServiceFacade.DoValueListServiceSync(s => s.GetAllValueListEntrysByType(ValueListEntryType.CustomerCareType)); @@ -466,7 +466,7 @@ namespace BeWo.View.Navigation { var c = (CompactCustomerDC)((Hyperlink)sender).Tag; - DokumentViewHelper.OpenTemplateSelectionDialog(alleVorlagen, TableID.Customer, c.CustomerOid, ((Hyperlink)sender).NavigateUri.ToString()); + DokumentViewHelper.OpenTemplateSelectionDialog(alleVorlagen, TableID.Customer, c.CustomerOid, ((Hyperlink)sender).NavigateUri.ToString(), null, null); } else { diff --git a/BeWo/View/Navigation/PersonNavigationView.xaml.cs b/BeWo/View/Navigation/PersonNavigationView.xaml.cs index 8b5b1697b..964b05b32 100644 --- a/BeWo/View/Navigation/PersonNavigationView.xaml.cs +++ b/BeWo/View/Navigation/PersonNavigationView.xaml.cs @@ -92,7 +92,7 @@ namespace BeWo.View.Navigation functionFilterComboBox = new ComboBoxEdit(); functionFilterComboBox.FontSize = 12; functionFilterComboBox.Margin = new Thickness(10, 0, 0, 0); - functionFilterComboBox.Width = 150; + functionFilterComboBox.Width = 180; functionFilterComboBox.IsTextEditable = false; functionFilterComboBox.NullText = Translator.Translate("Nach Funktion filtern"); functionFilterComboBox.ItemsSource = ServiceFacade.DoValueListServiceSync(s => s.GetAllValueListEntrysByType(ValueListEntryType.FunctionType)); diff --git a/Data/Access/GenericDAO.cs b/Data/Access/GenericDAO.cs index 3ff68613c..e0f965623 100644 --- a/Data/Access/GenericDAO.cs +++ b/Data/Access/GenericDAO.cs @@ -130,7 +130,12 @@ namespace BeWo.Data.Access return this.CreateCriteria().List(); } - public virtual IList GetAllActive() where T : BeWoEntityBase + public virtual IList GetAllWithoutPermanentlyDeleted() where T : BeWoEntityBase + { + return this.CreateCriteria().Add(Restrictions.Or(Restrictions.IsNull(BeWoEntityBase.PropertyName_SystemEntryID), Restrictions.Not(Restrictions.Eq(BeWoEntityBase.PropertyName_SystemEntryID, SystemEntryID.DeletedPermanently)))).List(); + } + + public virtual IList GetAllActive() where T : BeWoEntityBase { return this.GetAllWithActivationType(ActivationTypeId.Active); } diff --git a/Data/Access/UserDAO.cs b/Data/Access/UserDAO.cs index 699ed428a..42d1fba1c 100644 --- a/Data/Access/UserDAO.cs +++ b/Data/Access/UserDAO.cs @@ -150,7 +150,7 @@ https://support.bewoplaner.de/api/bsadmin.php?k=[KUNDENNUMMER]&EmployeeOID=[EMPL if (isValid && this.ValidBSIp(ip)) { - var list = DAOFactory.GenericDAO.GetAllActive(); + var list = DAOFactory.GenericDAO.GetAllActive().Where(u => u.Employee.IsActive == ActivationTypeId.Active).ToList(); foreach (var iUser in list) { diff --git a/Service/Core/SettingsLogic.cs b/Service/Core/SettingsLogic.cs index 8d96c0149..315f47802 100644 --- a/Service/Core/SettingsLogic.cs +++ b/Service/Core/SettingsLogic.cs @@ -43,8 +43,12 @@ namespace BeWo.Service.Core //if (t.Oid.HasValue) //{ - var ttemp = DAOFactory.GenericDAO.Unproxy(t); + var ttemp = DAOFactory.GenericDAO.Unproxy(t); + if (!ttemp.SystemEntryID.HasValue || ttemp.SystemEntryID.Value != SystemEntryID.DeletedPermanently) + { list.Add(ttemp); + } + //} } catch (Exception) diff --git a/Service/Plugins/CustomerService.cs b/Service/Plugins/CustomerService.cs index 0a650dc66..ed7e56567 100644 --- a/Service/Plugins/CustomerService.cs +++ b/Service/Plugins/CustomerService.cs @@ -105,6 +105,10 @@ namespace BeWo.Service.Plugins foreach (Customer customer in customers) { + if (customer.SystemEntryID.HasValue && customer.SystemEntryID.Value == SystemEntryID.DeletedPermanently) + { + continue; + } if (!cProcessed.ContainsKey(customer.Oid.Value)) { CompactCustomerDC dc = CreateCompactCustomerDCWithEmployeeRelation(customer, fetchReferenceNumbers, true, currentEmployeeOid, teamOids); @@ -492,7 +496,9 @@ namespace BeWo.Service.Plugins } } - IList persons = DAOFactory.GenericDAO.GetAll().Where(p => p.Type == pType).ToList(); + //var test2 = DAOFactory.GenericDAO.GetAll().Where(p => p.Type == pType).ToList(); + + IList persons = DAOFactory.GenericDAO.GetAllWithoutPermanentlyDeleted().Where(p => p.Type == pType).ToList(); Dictionary> person2CustomerOidDict = new Dictionary>(); diff --git a/Service/Plugins/EmployeeService.cs b/Service/Plugins/EmployeeService.cs index a09426504..4be888836 100644 --- a/Service/Plugins/EmployeeService.cs +++ b/Service/Plugins/EmployeeService.cs @@ -76,7 +76,8 @@ namespace BeWo.Service.Plugins //Für Main Navigation View public virtual List GetAllCompactEmployees() { - var employees = DAOFactory.GenericDAO.GetAll(); + //var employees = DAOFactory.GenericDAO.GetAll(); + var employees = DAOFactory.GenericDAO.GetAllWithoutPermanentlyDeleted(); var dcs = MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(employees); var teams = GetAllTeamsCompact(); diff --git a/Service/ServiceImplementations/OperationsServiceImp.cs b/Service/ServiceImplementations/OperationsServiceImp.cs index 177a62af1..2c02d7876 100644 --- a/Service/ServiceImplementations/OperationsServiceImp.cs +++ b/Service/ServiceImplementations/OperationsServiceImp.cs @@ -3,6 +3,8 @@ using BeWo.Data.Access; using BeWo.Data.Entities; using BeWo.Data.ICD10; using BeWo.Data.ICF; +using BeWo.Data.Utils; +using BeWo.Service.AI; using BeWo.Service.Configuration; using BeWo.Service.Core; using BeWo.Service.DCEntityMapper; @@ -14,6 +16,7 @@ using BeWo.Service.PivotTabelle; using BeWo.Service.Plugins; using BeWo.Service.SBD; using BeWo.Service.ServiceContracts; +using BeWo.ServiceUtils.History; using BS.Shared; using BS.Shared.Core; using BS.Shared.DataContracts; @@ -26,22 +29,19 @@ using Newtonsoft.Json; using RestSharp; using System; using System.Collections.Generic; +using System.Collections.Specialized; using System.Configuration; using System.IO; using System.Linq; using System.Net; +using System.Security.Cryptography; using System.ServiceModel; using System.Text; using System.Threading; using System.Web; using System.Windows; -using BeWo.Data.Utils; -using Utils = BeWo.Service.Core.Utils; -using System.Collections.Specialized; -using BeWo.ServiceUtils.History; - using SecurityUtils = BeWo.Service.Security.SecurityUtils; -using BeWo.Service.AI; +using Utils = BeWo.Service.Core.Utils; namespace BeWo.Service.ServiceImplementations { @@ -877,6 +877,18 @@ namespace BeWo.Service.ServiceImplementations } } + public List GetFileAttachmentsForFolder(long? folderOid, TableID objectTid, long objectOid) + { + try + { + return DokumentManager.GetFileAttachmentsForFolder(folderOid, objectTid, objectOid); + } + catch (Exception e) + { + throw Utils.CreateBeWoFaultException(e); + } + } + public void DeleteFolder(long pBeWoFolderOid, long pVersion) { try @@ -9106,7 +9118,53 @@ namespace BeWo.Service.ServiceImplementations { //var resources = DAOFactory.GenericDAO.GetActiveByIDs(resourceOids); var list = new List(); - list.Add(new InactivePersonDC { DateOfBirth = DateTime.Now, FirstName = "test", LastName = "Test" }); + return list; + var sql = @"select null, p.Oid as personoid, p.FirstName, p.LastName, p.DateOfBirth, a.Street as Strasse, a.PostalCode as PLZ, a.Town as Ort, p.insts from person p + left join address a on p.Addressoid = a.Oid + where (p.isactive = 0 or p.isactive = 2) and (p.SystemEntryID is null || p.SystemEntryID != -1) + and p.Type = 3 + and p.insts < DATE_SUB(CURDATE(), INTERVAL yyyy YEAR);"; + + if (tableId == TableID.Customer) + { + sql = @"select c.Oid, p.Oid as personoid, p.FirstName, p.LastName, p.DateOfBirth, a.Street as Strasse, a.PostalCode as PLZ, a.Town as Ort, p.insts from customer c + join person p on c.PersonOid = p.Oid + left join address a on p.Addressoid = a.Oid + where (p.isactive = 0 or p.isactive = 2) and (p.SystemEntryID is null || p.SystemEntryID != -1) + and c.insts < DATE_SUB(CURDATE(), INTERVAL yyyy YEAR);"; + } + else if (tableId == TableID.Employee) + { + sql = @"select e.Oid, p.Oid as personoid, p.FirstName, p.LastName, p.DateOfBirth, a.Street as Strasse, a.PostalCode as PLZ, a.Town as Ort, p.insts from employee e + join person p on e.PersonOid = p.Oid + left join address a on p.Addressoid = a.Oid + where (p.isactive = 0 or p.isactive = 2) and (p.SystemEntryID is null || p.SystemEntryID != -1) + and e.insts < DATE_SUB(CURDATE(), INTERVAL yyyy YEAR)"; + } + + sql = sql.Replace("yyyy", jahreUngenutzt.ToString()); + + var sqlresult = DAOFactory.SearchDAO.GetSqlResult(sql); + + foreach (object[] row in sqlresult) + { + var ip = new InactivePersonDC + { + ObjectOid = (long?)row[0], + PersonOid = (long?)row[1], + FirstName = (String)row[2], + LastName = (String)row[3], + DateOfBirth = (DateTime?)row[4], + Street = (String)row[5], + PostalCode = (String)row[6], + Town = (String)row[7], + InsTs = (DateTime?)row[8], + ObjectTid = tableId + + }; + list.Add(ip); + } + return list; } catch (Exception e) @@ -9119,14 +9177,62 @@ namespace BeWo.Service.ServiceImplementations { try { - - return ""; + + return "Diese Funktion ist zur Zeit noch in Bearbeitung. Wir arbeiten mit Hochdruck daran, die Funktionalität fertigzustellen."; + String msg = "Die gewählten Personen wurden erfolgreich gelöscht."; + TableID tid = TableID.Person; + + if (persons.Count > 0) + { + tid = persons[0].ObjectTid; + } + + var personOids = persons.Select(p => p.PersonOid.Value).ToList(); + var objectOids = persons.Where(p => p.ObjectOid.HasValue).Select(p2 => p2.ObjectOid.Value).ToList(); + + + if (tid == TableID.Customer) + { + var customers = DAOFactory.GenericDAO.LoadByIDs(objectOids); + customers.DoForEach(e => + { + e.IsActive = ActivationTypeId.Deleted; + e.SystemEntryID = SystemEntryID.DeletedPermanently; + }); + + DAOFactory.GenericDAO.Update(customers); + } + else if (tid == TableID.Employee) + { + var employees = DAOFactory.GenericDAO.LoadByIDs(objectOids); + employees.DoForEach(e => + { + e.IsActive = ActivationTypeId.Deleted; + e.SystemEntryID = SystemEntryID.DeletedPermanently; + }); + + DAOFactory.GenericDAO.Update(employees); + } + + var personEntities = DAOFactory.GenericDAO.LoadByIDs(personOids); + + personEntities.DoForEach(e => + { + e.IsActive = ActivationTypeId.Deleted; + e.SystemEntryID = SystemEntryID.DeletedPermanently; + }); + + DAOFactory.GenericDAO.Update(personEntities); + + + return msg; } catch (Exception e) { throw Utils.CreateBeWoFaultException(e); } } - + + } } From 00f8ce83fbe6a5b7f6cf52496f6bcca8c19148f4 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 4 May 2026 00:00:39 +0200 Subject: [PATCH 5/7] LH Frankfurt Oder Neue Kostenstellen Struktur hinterlegt --- .../Export/DatevExporter.cs | 143 ++++++++++++++++-- 1 file changed, 133 insertions(+), 10 deletions(-) diff --git a/ReportImp/LebenshilfeFrankfurtOder/Export/DatevExporter.cs b/ReportImp/LebenshilfeFrankfurtOder/Export/DatevExporter.cs index 06269cbb4..9cba43873 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/Export/DatevExporter.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/Export/DatevExporter.cs @@ -152,7 +152,7 @@ namespace LebenshilfeFrankfurtOder.Export if (row[5] != null) { - sb.Append(GetKostenstelle(row[5].ToString())); + sb.Append(GetKostenstelle2026(row[5].ToString(), date)); } sb.Append(";"); @@ -271,7 +271,7 @@ namespace LebenshilfeFrankfurtOder.Export if (row[5] != null) { - sb.Append(GetKostenstelle(row[5].ToString())); + sb.Append(GetKostenstelle2026(row[5].ToString(), date)); } sb.Append(";"); @@ -435,7 +435,7 @@ namespace LebenshilfeFrankfurtOder.Export if (row[5] != null) { - sb.Append(GetKostenstelle(row[5].ToString())); + sb.Append(GetKostenstelle2026(row[5].ToString(), date)); } sb.Append(";"); @@ -599,7 +599,7 @@ ib.InvoiceId unitDescription = row[11].ToString(); } - var kst = GetKostenstelleFromInvoiceItem(invoiceId, itemAmount, itemDescription, notice, unitCount, unitDescription); + var kst = GetKostenstelleFromInvoiceItem2026(invoiceId, itemAmount, itemDescription, notice, unitCount, unitDescription, date); if (date >= new DateTime(2025, 1, 1)) { @@ -691,7 +691,7 @@ ib.InvoiceId sb.Append(kto); // Konto sb.Append(";"); - var kst = GetKostenstelleFromInvoiceItem(invoiceId, itemAmount, itemDescription, notice, unitCount, unitDescription); + var kst = GetKostenstelleFromInvoiceItem2026(invoiceId, itemAmount, itemDescription, notice, unitCount, unitDescription, date); if (date >= new DateTime(2025, 1, 1)) { @@ -928,7 +928,7 @@ ib.InvoiceId sb.Append(";"); if (row[6] != null) { - sb.Append(GetKostenstelle(row[6].ToString())); + sb.Append(GetKostenstelle2026(row[6].ToString(), date)); } sb.Append(";"); @@ -967,7 +967,32 @@ Bsp. LK Stade - Mustermann, Max - 11.2019 return sb.ToString(); } - private static String GetKostenstelleFromInvoiceItem(String invoiceId, decimal amount, String itemDescription, String notice, decimal unitCount, String unitDescription) + private static String GetKostenstelleFromInvoiceItem2026(String invoiceId, decimal amount, String itemDescription, String notice, decimal unitCount, String unitDescription, DateTime datum) + { + + + var kst = GetKostenstelleFromInvoiceItem2025(invoiceId, amount, itemDescription, notice, unitCount, unitDescription); + + return GetNewKostenstelle(kst, datum); + } + + private static string GetNewKostenstelle(string kst, DateTime datum) + { + var dict = GetKostenstellen2026MappingDict(); + + + if (datum.Year > 2025) //gilt ab 2026 + { + if (dict.ContainsKey(kst)) + { + kst = dict[kst]; + } + } + + return kst; + } + + private static String GetKostenstelleFromInvoiceItem2025(String invoiceId, decimal amount, String itemDescription, String notice, decimal unitCount, String unitDescription) { if (!String.IsNullOrEmpty(notice) && notice.Replace(" ", "").Contains("§42")) { @@ -1062,7 +1087,7 @@ Bsp. LK Stade - Mustermann, Max - 11.2019 return "2204"; } - var kst = GetKostenstelle(invoiceId); + var kst = GetKostenstelle2025(invoiceId); //if (kst == "2212") //{ @@ -1167,10 +1192,108 @@ Bsp. LK Stade - Mustermann, Max - 11.2019 return itemDescription; } - - private static String GetKostenstelle(String id) + private static String GetKostenstelle2026(String id, DateTime datum) { + var kst2025 = GetKostenstelle2025(id); + return GetNewKostenstelle(kst2025, datum); + } + + private static Dictionary GetKostenstellen2026MappingDict() + { + var dict = new Dictionary(); + dict.Add("9102", "1100"); + dict.Add("9103", "1100"); + dict.Add("9104", "1100"); + dict.Add("9107", "1100"); + dict.Add("9502", "1100"); + dict.Add("9503", "1100"); + dict.Add("9505", "1100"); + dict.Add("9504", "1100"); + dict.Add("9202", "1100"); + dict.Add("9203", "1101"); + dict.Add("9204", "1102"); + dict.Add("9206", "1103"); + dict.Add("1102", "3101"); + dict.Add("7811", "3101"); + dict.Add("1202", "3102"); + dict.Add("6102", "3102"); + dict.Add("6202", "3102"); + dict.Add("6302", "3102"); + dict.Add("2102", "3103"); + dict.Add("2202", "3104"); + dict.Add("2204", "3104"); + dict.Add("2206", "3104"); + dict.Add("2212", "3104"); + dict.Add("2214", "3104"); + dict.Add("2215", "3104"); + dict.Add("2302", "3105"); + dict.Add("2402", "3106"); + dict.Add("7807", "3106"); + dict.Add("7812", "3106"); + dict.Add("7813", "3106"); + dict.Add("7817", "3106"); + dict.Add("7821", "3106"); + dict.Add("7822", "3106"); + dict.Add("5102", "3107"); + dict.Add("7815", "3108"); + dict.Add("7816", "3108"); + dict.Add("7818", "3108"); + dict.Add("7820", "3108"); + dict.Add("9407", "3108"); + dict.Add("1303", "3201"); + dict.Add("1304", "3202"); + dict.Add("7814", "3202"); + dict.Add("1313", "3203"); + dict.Add("1352", "3204"); + dict.Add("7809", "3204"); + dict.Add("5202", "3301"); + dict.Add("5302", "3302"); + dict.Add("5502", "3303"); + dict.Add("7702", "3400"); + dict.Add("7808", "3400"); + dict.Add("7803", "3400"); + dict.Add("7810", "3400"); + dict.Add("7804", "3400"); + dict.Add("7819", "3900"); + dict.Add("9319", "3901"); + dict.Add("9320", "3902"); + dict.Add("9323", "3903"); + dict.Add("9325", "3904"); + dict.Add("9327", "3905"); + dict.Add("9328", "3906"); + dict.Add("9332", "3907"); + dict.Add("9404", "3908"); + dict.Add("9405", "3909"); + dict.Add("9331", "3910"); + dict.Add("9310", "3911"); + dict.Add("9318", "3912"); + dict.Add("9322", "3913"); + dict.Add("9403", "3914"); + dict.Add("9603", "3915"); + dict.Add("9606", "3916"); + dict.Add("9406", "3917"); + dict.Add("9408", "3918"); + dict.Add("9317", "3919"); + dict.Add("9409", "3921"); + dict.Add("8102", "4101"); + dict.Add("7806", "4101"); + dict.Add("9399", "4103"); + dict.Add("9605", "4102"); + dict.Add("7002", "9101"); + dict.Add("7102", "9102"); + dict.Add("7202", "9103"); + dict.Add("7302", "9104"); + dict.Add("7402", "9105"); + dict.Add("7502", "9106"); + dict.Add("6602", "9107"); + + return dict; + + } + + private static String GetKostenstelle2025(String id) + { if (id == "RechnungTagesstruktur") { return "2102"; From eeed2c24e247a2adbbb66434cd92fe334dd1e610 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 4 May 2026 00:01:06 +0200 Subject: [PATCH 6/7] Hybrid Lizenzmodell gefixt --- Service/Security/SecurityUtils.cs | 28 +++++++++++++++------------ Shared/DataContracts/LicenseInfoDC.cs | 6 ++++++ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/Service/Security/SecurityUtils.cs b/Service/Security/SecurityUtils.cs index 5b166b28b..e662d88e5 100644 --- a/Service/Security/SecurityUtils.cs +++ b/Service/Security/SecurityUtils.cs @@ -183,7 +183,7 @@ namespace BeWo.Service.Security info.MaxEmployeeCount = 1000; - return info; + //return info; #endif @@ -197,7 +197,7 @@ namespace BeWo.Service.Security #if DEBUG url = ConfigurationManager.AppSettings.Get("LicenseInfoUrl"); - url = url.Replace("[TENANT]", "3522103738"); + url = url.Replace("[TENANT]", "8002913382"); url += "&t=0"; #endif //url = url.Replace("[TENANT]", "1441747891"); @@ -214,12 +214,13 @@ namespace BeWo.Service.Security //} String[] resultArray = result.Split(';'); - int maxLicenses = 0; + int fullLicenses = 0; int midLicenses = 0; + int isHybrid = 0; decimal percentFreeEmployees = 0; if (resultArray.Length > 0) { - Int32.TryParse(resultArray[0], out maxLicenses); + Int32.TryParse(resultArray[0], out fullLicenses); if (resultArray.Length > 1) { Decimal.TryParse(resultArray[1], out percentFreeEmployees); @@ -228,19 +229,22 @@ namespace BeWo.Service.Security { Int32.TryParse(resultArray[2], out midLicenses); } + if (resultArray.Length > 3) + { + Int32.TryParse(resultArray[3], out isHybrid); + } } - if (midLicenses > 0) - { - percentFreeEmployees = 0; - maxLicenses += midLicenses; - } - info.MaxLicenseCount = maxLicenses; - info.PercentFreeEmployee = percentFreeEmployees; + + info.IsHybrid = isHybrid == 1; + info.MaxLicenseCount = info.IsHybrid ? fullLicenses + midLicenses : fullLicenses; // Anzahl max User immer Anzahl voll + Hybrid Lizenzen + info.MaxMidLicenseCount = midLicenses; + info.PercentFreeEmployee = midLicenses > 0 ? 0 : percentFreeEmployees; // Nur für Normale DBs 30 % zusätzlich info.LicenseInUseCount = DAOFactory.GenericDAO.GetAllActive().Count; info.EmployeeCount = DAOFactory.GenericDAO.GetAllActive().Count; - info.MaxEmployeeCount = (int)Math.Ceiling(maxLicenses * ((100 + percentFreeEmployees) / 100)); + info.MaxEmployeeCount = (int)Math.Ceiling((fullLicenses + midLicenses) * ((100 + info.PercentFreeEmployee) / 100)); // Immer voll + Mid/Hybrid + } } catch (Exception) diff --git a/Shared/DataContracts/LicenseInfoDC.cs b/Shared/DataContracts/LicenseInfoDC.cs index 8ca912850..a43572598 100644 --- a/Shared/DataContracts/LicenseInfoDC.cs +++ b/Shared/DataContracts/LicenseInfoDC.cs @@ -18,6 +18,12 @@ namespace BS.Shared.DataContracts [DataMember] public int MaxLicenseCount { get; set; } + [DataMember] + public int MaxMidLicenseCount { get; set; } + + [DataMember] + public bool IsHybrid { get; set; } + [DataMember] public decimal PercentFreeEmployee { get; set; } From d775848a792b6c6afc6bb21600a33ce2ff7f9c3a Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 4 May 2026 00:01:23 +0200 Subject: [PATCH 7/7] Div. Bugfixes --- Service/Plugins/StundenuebersichtAuswertung.cs | 13 ++++++++----- Service/Plugins/TranslationDictionary.cs | 5 +++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Service/Plugins/StundenuebersichtAuswertung.cs b/Service/Plugins/StundenuebersichtAuswertung.cs index f60e3f029..c88e5cc3e 100644 --- a/Service/Plugins/StundenuebersichtAuswertung.cs +++ b/Service/Plugins/StundenuebersichtAuswertung.cs @@ -931,15 +931,18 @@ namespace BeWo.Service.Plugins return true; } - foreach (var v2o in sr.ValueList) + if (sr.ValueList != null) { - if (v2o.Entry.Type == ValueListEntryType.SupportConceptGoalType || v2o.Entry.Type == ValueListEntryType.SupportConceptGoalCategoryType || v2o.Entry.Type == ValueListEntryType.SupportConceptIndividualGoalType || v2o.Entry.Type == ValueListEntryType.SupportConceptIndividualGoalCategoryType) + foreach (var v2o in sr.ValueList) { - foreach (var oid in goalOids) + if (v2o.Entry.Type == ValueListEntryType.SupportConceptGoalType || v2o.Entry.Type == ValueListEntryType.SupportConceptGoalCategoryType || v2o.Entry.Type == ValueListEntryType.SupportConceptIndividualGoalType || v2o.Entry.Type == ValueListEntryType.SupportConceptIndividualGoalCategoryType) { - if (v2o.Entry.Oid.Value == oid) + foreach (var oid in goalOids) { - return true; + if (v2o.Entry.Oid.Value == oid) + { + return true; + } } } } diff --git a/Service/Plugins/TranslationDictionary.cs b/Service/Plugins/TranslationDictionary.cs index e03f4afb7..8784ffc10 100644 --- a/Service/Plugins/TranslationDictionary.cs +++ b/Service/Plugins/TranslationDictionary.cs @@ -145,6 +145,11 @@ namespace BeWo.Service.Plugins AddOrReplaceTranslation(dict, "Module_DisplayName_Wohnhilfe", "Wohnhilfe"); + + + //Hilfe Urls + //AddOrReplaceTranslation(dict, "EndgueltigLoeschenHilfeUrl", "https://hilfe.bewoplaner.de/"); + return dict; }