From bc36b78d624eb7d19fcc14948937298f7230583a Mon Sep 17 00:00:00 2001 From: Lyndon Jetten Date: Tue, 3 Dec 2019 13:00:04 +0100 Subject: [PATCH] Vertretungsmodul Zeit kann jetzt leer sein in der Mobilversion --- .../SBDUtils/SBDUtils.cs | 36 +- .../TagesVertretung.cs | 3 +- .../SchulbegleitenderDienst/TagesansichtVM.cs | 2 + .../VertretungsMainViewV2.xaml | 18 +- .../VertretungsMainViewV2.xaml.cs | 18 +- .../ViewModel/VertretungsansichtBaseVM.cs | 9 +- BeWoPlanerMobil/BeWoPlanerMobil.csproj | 3 + BeWoPlanerMobil/Content/customer.css | 18 + .../Controllers/CustomerController.cs | 61 ++- BeWoPlanerMobil/Models/CustomerModel.cs | 3 +- BeWoPlanerMobil/Scripts/customer.js | 29 +- .../Scripts/serviceRecordValidation.js | 8 + .../Views/Customer/Customer.cshtml | 443 ++++++++++-------- Service/SBD/VertretungsManager.cs | 99 ++-- Shared/DataContracts/VertretungsItemDC.cs | 3 + Shared/Extensions/DateTimeExtensions.cs | 10 + 16 files changed, 458 insertions(+), 305 deletions(-) diff --git a/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs b/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs index 5b0b5197f..1d64eadfe 100644 --- a/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs +++ b/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs @@ -1,6 +1,10 @@ using System; using System.Collections.Generic; +using System.Linq; +using BeWo.ServiceProxy; using BS.Shared; +using BS.Shared.DataContracts; +using BS.Shared.DataContracts.Compact; using BS.Shared.Extensions; namespace BeWo.SchulbegleitenderDienst.SBDUtils @@ -13,6 +17,26 @@ namespace BeWo.SchulbegleitenderDienst.SBDUtils var employeeSubstitutionList = new List(); var customerSubstitutionList = new List(); + var customer2AbsenceTimes = new Dictionary>(); + + viewModels.Where(w => w.VertretungsStatus == VertretungsStatus.KlientKrank && w.Customer != null).DoForEach(vi => + { + customer2AbsenceTimes.AddOrUpdateValueInDictionary(vi.Customer, vi.Absencetime); + }); + + var employeeAbsenceTimes = viewModels.Where(w => w.VertretungsStatus != VertretungsStatus.KlientKrank && w.Customer != null).ToList(); + + var itemsForunwantedSubstitutionList = new List(); + + foreach (var item in employeeAbsenceTimes) + { + if (customer2AbsenceTimes.ContainsKey(item.Customer)) + { + item.KlientStatusColor = "#7FFF7F"; + itemsForunwantedSubstitutionList.AddIfNotIn(item); + } + } + foreach (var viewModel in viewModels) { if(viewModel.VertretungsStatus != VertretungsStatus.KlientKrank) @@ -29,7 +53,7 @@ namespace BeWo.SchulbegleitenderDienst.SBDUtils } } - if (substitutionStartingDayCountCondition || viewModel.Vertretung?.VertretenderMitarbeiterOid != null || viewModel.Customer != null && viewModel.Customer.SubstitutionNeed == SubstitutionNeed.NoSubstitutionWanted) + if (itemsForunwantedSubstitutionList.Contains(viewModel) || substitutionStartingDayCountCondition || viewModel.Vertretung?.VertretenderMitarbeiterOid != null || viewModel.Customer != null && viewModel.Customer.SubstitutionNeed == SubstitutionNeed.NoSubstitutionWanted) { unwantedSubstitutionList.AddIfNotIn(viewModel); } @@ -40,15 +64,7 @@ namespace BeWo.SchulbegleitenderDienst.SBDUtils } else { - //if(viewModel.Customer.SubstitutionNeed == SubstitutionNeed.SubstitutionNeeded || viewModel.Customer.SubstitutionNeed == SubstitutionNeed.SubstitutionWanted) - //{ - - customerSubstitutionList.Add(viewModel); - //} - //else - //{ - // unwantedSubstitutionList.Add(viewModel); - //} + customerSubstitutionList.Add(viewModel); } } diff --git a/BeWo/SchulbegleitenderDienst/TagesVertretung.cs b/BeWo/SchulbegleitenderDienst/TagesVertretung.cs index 9fca1e8d4..0d9cadb03 100644 --- a/BeWo/SchulbegleitenderDienst/TagesVertretung.cs +++ b/BeWo/SchulbegleitenderDienst/TagesVertretung.cs @@ -56,7 +56,8 @@ namespace BeWo.SchulbegleitenderDienst VertretungsStatus = vertretungsItem.VertretungsStatus, WochenansichtBemerkung = vertretungsItem.WochenansichtBemerkung, VertreterInfoString = vertretungsItem.VertreterInfoString, - EmployeeAddressString = vertretungsItem.EmployeeAddressString + EmployeeAddressString = vertretungsItem.EmployeeAddressString, + Id = vertretungsItem.Id }; if (vertretungsItem.Arbeitszeiten != null && vertretungsItem.Arbeitszeiten.Any()) diff --git a/BeWo/SchulbegleitenderDienst/TagesansichtVM.cs b/BeWo/SchulbegleitenderDienst/TagesansichtVM.cs index ac8472246..ae4eed928 100644 --- a/BeWo/SchulbegleitenderDienst/TagesansichtVM.cs +++ b/BeWo/SchulbegleitenderDienst/TagesansichtVM.cs @@ -267,5 +267,7 @@ namespace BeWo.SchulbegleitenderDienst } public new string VertreterInfoString { get; set; } + + public Guid Id { get; set; } } } diff --git a/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml b/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml index 381766960..692889958 100644 --- a/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml +++ b/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml @@ -162,19 +162,19 @@ Margin="3,3,3,3" /> -