diff --git a/BeWo/Styles/OrangeBlack.xaml b/BeWo/Styles/OrangeBlack.xaml index 31543827e..296b2ec32 100644 --- a/BeWo/Styles/OrangeBlack.xaml +++ b/BeWo/Styles/OrangeBlack.xaml @@ -2792,11 +2792,12 @@ + - + @@ -2806,7 +2807,8 @@ - + + @@ -2818,7 +2820,7 @@ Anonymisieren - + @@ -2830,7 +2832,7 @@ Endgültig löschen - + @@ -2842,7 +2844,7 @@ Reaktivieren - + Drucken diff --git a/BeWo/View/Navigation/CustomerNavigationView.xaml b/BeWo/View/Navigation/CustomerNavigationView.xaml index b94e3644b..88b755846 100644 --- a/BeWo/View/Navigation/CustomerNavigationView.xaml +++ b/BeWo/View/Navigation/CustomerNavigationView.xaml @@ -42,7 +42,9 @@ + + diff --git a/Service/Plugins/CustomerService.cs b/Service/Plugins/CustomerService.cs index 1d55e22ba..275736310 100644 --- a/Service/Plugins/CustomerService.cs +++ b/Service/Plugins/CustomerService.cs @@ -73,6 +73,9 @@ namespace BeWo.Service.Plugins { var result = new List(); + var es = new EmployeeService(); + var teams = es.GetAllTeamsCompact(); + var cProcessed = new Dictionary(); var customers = DAOFactory.SearchDAO.GetAllCustomersWithRelatedEmployee(); @@ -89,6 +92,24 @@ namespace BeWo.Service.Plugins { CompactCustomerDC dc = CreateCompactCustomerDCWithEmployeeRelation(customer, fetchReferenceNumbers, true, currentEmployeeOid, teamOids); + // Alle zugehörigen Teamnamen setzen + if (dc.RelatedTeamOids != null) + { + foreach (var oid in dc.RelatedTeamOids) + { + var team = teams.FirstOrDefault(t => t.TeamOid == oid); + if (team != null) + { + if (dc.RelatedTeams == null) + dc.RelatedTeams = " | Teams: " + team.Name + ", "; + else + dc.RelatedTeams += team.Name + ", "; + } + } + if (dc.RelatedTeams != null && dc.RelatedTeams.Length > 0) + dc.RelatedTeams = dc.RelatedTeams.Remove(dc.RelatedTeams.Length - 2, 1); + } + result.Add(dc); cProcessed.Add(customer.Oid.Value, true); diff --git a/Service/Plugins/EmployeeService.cs b/Service/Plugins/EmployeeService.cs index ea3cd1ff2..3029e2eb0 100644 --- a/Service/Plugins/EmployeeService.cs +++ b/Service/Plugins/EmployeeService.cs @@ -59,8 +59,50 @@ namespace BeWo.Service.Plugins public virtual List GetAllCompactEmployees() { var employees = DAOFactory.GenericDAO.GetAll(); + + var dcs = MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(employees); + var teams = GetAllTeamsCompact(); + + var teamDCs = new List(); + foreach (var ct in teams) + teamDCs.Add(MapperFactory.TeamDC_Team.MapToNewDC(DAOFactory.GenericDAO.GetByID(ct.TeamOid))); + + foreach (var dc in dcs) + { + foreach (var tDC in teamDCs) + { + if (tDC.Member.Contains(dc)) + { + if (dc.TeamOids == null) + dc.TeamOids = new List(); + + if (!dc.TeamOids.Contains(tDC.TeamOid.Value)) + dc.TeamOids.Add(tDC.TeamOid.Value); + } + } + + if (dc.TeamOids != null) + { + foreach (var oid in dc.TeamOids) + { + var team = teamDCs.FirstOrDefault(t => t.TeamOid == oid); + if (team != null) + { + + + if (dc.RelatedTeams == null) + dc.RelatedTeams = "Teams: " + team.Name + ", "; + else + dc.RelatedTeams += team.Name + ", "; + } + } + if (dc.RelatedTeams != null && dc.RelatedTeams.Length > 0) + dc.RelatedTeams = dc.RelatedTeams.Remove(dc.RelatedTeams.Length - 2, 1); + } + } - return MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(employees); + + return dcs; } } } diff --git a/Service/Plugins/PluginLoader.cs b/Service/Plugins/PluginLoader.cs index bc3a36f60..a4cfc9014 100644 --- a/Service/Plugins/PluginLoader.cs +++ b/Service/Plugins/PluginLoader.cs @@ -317,7 +317,7 @@ namespace BeWo.Service.Plugins //t = "4858885375"; // BewoTrio //t = "9734214365"; // Wegfinder Rhein-Ruhr //t = "1011478760"; // Autismus Köln/Bonn e.V. - t = "8184278271"; // Ambulant Betreutes Wohnen Stephan Schillings + //t = "8184278271"; // Ambulant Betreutes Wohnen Stephan Schillings return t; #else diff --git a/Shared/DataContracts/Compact/ClientPartials/CompactCustomerDC.cs b/Shared/DataContracts/Compact/ClientPartials/CompactCustomerDC.cs index 3cd04c360..f48ccd6a5 100644 --- a/Shared/DataContracts/Compact/ClientPartials/CompactCustomerDC.cs +++ b/Shared/DataContracts/Compact/ClientPartials/CompactCustomerDC.cs @@ -129,6 +129,14 @@ namespace BS.Shared.DataContracts.Compact } } + public string Teams + { + get + { + return this.RelatedTeams; + } + } + public bool SupportsActivationType { get diff --git a/Shared/DataContracts/Compact/ClientPartials/CompactEmployeeDC.cs b/Shared/DataContracts/Compact/ClientPartials/CompactEmployeeDC.cs index 76439fc01..bd3e0ab6b 100644 --- a/Shared/DataContracts/Compact/ClientPartials/CompactEmployeeDC.cs +++ b/Shared/DataContracts/Compact/ClientPartials/CompactEmployeeDC.cs @@ -26,6 +26,8 @@ namespace BS.Shared.DataContracts.Compact public string SimpleDescription => LastName + ", " + FirstName; + public string Teams => this.RelatedTeams; + public bool SupportsActivationType => true; public long Version diff --git a/Shared/DataContracts/Compact/CompactCustomerDC.cs b/Shared/DataContracts/Compact/CompactCustomerDC.cs index 222e1804f..63c9e49f9 100644 --- a/Shared/DataContracts/Compact/CompactCustomerDC.cs +++ b/Shared/DataContracts/Compact/CompactCustomerDC.cs @@ -120,6 +120,9 @@ namespace BS.Shared.DataContracts.Compact [DataMember] public List RelatedTeamOids { get; set; } + [DataMember] + public string RelatedTeams { get; set; } + [DataMember] public String CustomerAlias { get; set; } diff --git a/Shared/DataContracts/Compact/CompactEmployeeDC.cs b/Shared/DataContracts/Compact/CompactEmployeeDC.cs index f2ddb71de..18c651ab9 100644 --- a/Shared/DataContracts/Compact/CompactEmployeeDC.cs +++ b/Shared/DataContracts/Compact/CompactEmployeeDC.cs @@ -39,6 +39,9 @@ namespace BS.Shared.DataContracts.Compact [DataMember] public List TeamOids { get; set; } + [DataMember] + public string RelatedTeams { get; set; } + [DataMember] public List AllTeamMemberOids { get; set; }