From ddc69825c4e5b951f365e5d287fd26c228ff1dd5 Mon Sep 17 00:00:00 2001 From: Lyndon Jetten Date: Mon, 3 Jul 2023 21:05:05 +0200 Subject: [PATCH] FaC: Kalender: ToolTipConverter verbessert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MoK: An Passwort ändern weitergemacht (noch nicht fertig und nur im Debug-Modus sichtbar) --- BeWo/PasswortSecurity/PasswortSicherheit.cs | 19 ++++--- .../Converter/ToolTipTimeConverter.cs | 9 +-- BeWo/Scheduler/View/NewSchedulerView.xaml | 4 +- .../View/SchedulerAppointmentEditForm.xaml.cs | 2 +- .../Scheduler/ViewModel/CustomFieldStorage.cs | 19 ++++--- .../ViewModel/SchedulerAppointmentListVM.cs | 2 +- BeWo/View/PasswortAenderungsView.xaml.cs | 6 +- BeWoPlanerMobil/Views/Main/Main.cshtml | 57 +++++++++++-------- Service/Plugins/PluginLoader.cs | 4 +- 9 files changed, 71 insertions(+), 51 deletions(-) diff --git a/BeWo/PasswortSecurity/PasswortSicherheit.cs b/BeWo/PasswortSecurity/PasswortSicherheit.cs index a1a09e55c..4237566de 100644 --- a/BeWo/PasswortSecurity/PasswortSicherheit.cs +++ b/BeWo/PasswortSecurity/PasswortSicherheit.cs @@ -149,7 +149,7 @@ namespace BeWo.PasswortSecurity return score < 156 ? 3 : 4; } - + // Score, PreivousValue, Schalter, und LetzteWerte werden im Objekt gepeichert. public Label ErmittleUndZeigePasswortStaerke(string passwordToValidate, Label passwordLabel) { if (!passwordToValidate.IsNullOrEmpty()) @@ -157,6 +157,7 @@ namespace BeWo.PasswortSecurity var sx = ""; var passwordStrength = -1; + // Es wird durch jedes Zeichen des Passworts einzeln gegangen foreach (var token in passwordToValidate) { sx += token.ToString(); @@ -212,7 +213,7 @@ namespace BeWo.PasswortSecurity } else { - //Passwort Längen Bonuspunkte + //Passwortlängen Bonuspunkte if (passwordToValidate.Length >= 6 && passwordToValidate.Length < 9) { score += 1; @@ -330,6 +331,7 @@ namespace BeWo.PasswortSecurity } } + // Sonderzeichen 2 if (passwordToValidate.Any(x => specialCharacters2.Contains(x))) { score += 4; @@ -340,7 +342,8 @@ namespace BeWo.PasswortSecurity previousValue = 4; } - if (passwordToValidate.Any(x => specialCharacters3.Contains(x))) + // Sonderzeichen 3 + if(passwordToValidate.Any(x => specialCharacters3.Contains(x))) { score += 4; @@ -354,7 +357,8 @@ namespace BeWo.PasswortSecurity } } - if (passwordToValidate.Any(x => specialCharacters4.Contains(x))) + // Sonderzeichen 4 + if(passwordToValidate.Any(x => specialCharacters4.Contains(x))) { score += 4; @@ -368,7 +372,8 @@ namespace BeWo.PasswortSecurity } } - if (passwordToValidate.Any(x => specialCharacters5.Contains(x))) + // Sonderzeichen 5 + if(passwordToValidate.Any(x => specialCharacters5.Contains(x))) { score += 4; @@ -418,9 +423,9 @@ namespace BeWo.PasswortSecurity return passwordStrength; } - private Label ZeigePwStaerke(int i, Label passwortprüfer) + private Label ZeigePwStaerke(int passwordStrength, Label passwortprüfer) { - switch (i) + switch (passwordStrength) { case -1: passwortprüfer.Visibility = Visibility.Hidden; diff --git a/BeWo/Scheduler/Converter/ToolTipTimeConverter.cs b/BeWo/Scheduler/Converter/ToolTipTimeConverter.cs index 9bcd8d5d8..a154fcae6 100644 --- a/BeWo/Scheduler/Converter/ToolTipTimeConverter.cs +++ b/BeWo/Scheduler/Converter/ToolTipTimeConverter.cs @@ -12,10 +12,6 @@ namespace BeWo.Scheduler.Converter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { - /* - * values[0] -> VisualAppointmentViewInfo - * values[1] -> Intervall - */ if(values is null || values.Length != 2) { return null; @@ -57,6 +53,11 @@ namespace BeWo.Scheduler.Converter return noEnd ? string.Empty : $"bis {end:dd.MM.yyyy HH:mm}"; } + if(start.IsTimeZero() && end.IsTimeZero() && end.AddDays(-1) > start) + { + end = end.AddDays(-1); + } + return start.GetIntervalDescription(end).TrimStart(); } } diff --git a/BeWo/Scheduler/View/NewSchedulerView.xaml b/BeWo/Scheduler/View/NewSchedulerView.xaml index 287cc4288..5e54384d9 100644 --- a/BeWo/Scheduler/View/NewSchedulerView.xaml +++ b/BeWo/Scheduler/View/NewSchedulerView.xaml @@ -348,7 +348,9 @@ - + diff --git a/BeWo/Scheduler/View/SchedulerAppointmentEditForm.xaml.cs b/BeWo/Scheduler/View/SchedulerAppointmentEditForm.xaml.cs index 12f4f593a..b44b5eed3 100644 --- a/BeWo/Scheduler/View/SchedulerAppointmentEditForm.xaml.cs +++ b/BeWo/Scheduler/View/SchedulerAppointmentEditForm.xaml.cs @@ -499,7 +499,7 @@ namespace BeWo.Scheduler.View var customFieldStorage = Appointment.GetCustomFieldStorage(); var serviceRecords = customFieldStorage?.ServiceRecordList ?? new List(); - ViewModel.ApplyChangesToChangedOccurencyCustomFields(employees, customers, resources, originator, isPrivate, Appointment.RecurrenceIndex.ToString(), new Guid(Appointment.RecurrenceInfo.Id.ToString()), isTask, taskDescription, completedDate, dueDate, completedNotice, supportConceptList, Appointment.Subject, Appointment.AllDay, serviceRecords); + ViewModel.ApplyChangesToChangedOccurencyCustomFields(employees, customers, resources, originator, isPrivate, Appointment.RecurrenceIndex.ToString(), new Guid(Appointment.RecurrenceInfo.Id.ToString()), isTask, taskDescription, completedDate, dueDate, completedNotice, supportConceptList, Appointment.Subject, Appointment.AllDay, serviceRecords, start, end); var oldRecurrenceInfo = Appointment.RecurrenceInfo.ToXml(); var newRecurrenceInfo = ViewModel.NewVM.RecurrenceInfo; diff --git a/BeWo/Scheduler/ViewModel/CustomFieldStorage.cs b/BeWo/Scheduler/ViewModel/CustomFieldStorage.cs index 9b34cbffa..f11bd017c 100644 --- a/BeWo/Scheduler/ViewModel/CustomFieldStorage.cs +++ b/BeWo/Scheduler/ViewModel/CustomFieldStorage.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.Diagnostics; using System.Windows; using System.Windows.Media; @@ -20,7 +21,7 @@ namespace BeWo.Scheduler.ViewModel if(IsTask) { - result = result ?? ""; + result = result ?? string.Empty; if(CompletedDate.HasValue) { @@ -39,14 +40,16 @@ namespace BeWo.Scheduler.ViewModel var absenceTimeEnd = _AbsenceTimeEnd; - if(absenceTimeEnd.HasValue) + if(!absenceTimeEnd.HasValue) { - var absenceTimeStart = _AbsenceTimeStart.Value; + return result += _AbsenceTimeStart.Value.GetIntervalDescription(absenceTimeEnd); + } - if(absenceTimeStart.IsTimeZero() && absenceTimeEnd.Value.IsTimeZero() && absenceTimeEnd.Value.AddDays(-1) > absenceTimeStart) - { - absenceTimeEnd = absenceTimeEnd.Value.AddDays(-1); - } + var absenceTimeStart = _AbsenceTimeStart.Value; + + if(absenceTimeStart.IsTimeZero() && absenceTimeEnd.Value.IsTimeZero() && absenceTimeEnd.Value.AddDays(-1) > absenceTimeStart) + { + absenceTimeEnd = absenceTimeEnd.Value.AddDays(-1); } return result += _AbsenceTimeStart.Value.GetIntervalDescription(absenceTimeEnd); @@ -187,7 +190,7 @@ namespace BeWo.Scheduler.ViewModel Subject = pSubject; } - public Visibility ToolTipTimeVisibility => IsTask || IsAbsenceTime || IsAllDay ? Visibility.Collapsed : Visibility.Visible; + public Visibility ToolTipTimeVisibility => IsTask || IsAbsenceTime ? Visibility.Collapsed : Visibility.Visible; public Visibility ToolTipResourcesVisibility => ResourceList?.Count > 0 ? Visibility.Visible : Visibility.Collapsed; diff --git a/BeWo/Scheduler/ViewModel/SchedulerAppointmentListVM.cs b/BeWo/Scheduler/ViewModel/SchedulerAppointmentListVM.cs index 4f76bd6b1..77cf7f097 100644 --- a/BeWo/Scheduler/ViewModel/SchedulerAppointmentListVM.cs +++ b/BeWo/Scheduler/ViewModel/SchedulerAppointmentListVM.cs @@ -435,7 +435,7 @@ namespace BeWo.Scheduler.ViewModel return new SchedulerAppointmentEditForm(this, control, appointment, AllEmployees, AllCustomers, Categories2Resources, isTask); } - public void ApplyChangesToChangedOccurencyCustomFields(ObservableCollection employees, List customers, List resources, CompactEmployeeDC originator, bool isPrivate, string index, Guid id, bool isTask, string taskDescription, DateTime? completedDate, DateTime? dueDate, string completedNotice, List supportConcepts, string subject, bool isAllDay, List serviceRecords) + public void ApplyChangesToChangedOccurencyCustomFields(ObservableCollection employees, List customers, List resources, CompactEmployeeDC originator, bool isPrivate, string index, Guid id, bool isTask, string taskDescription, DateTime? completedDate, DateTime? dueDate, string completedNotice, List supportConcepts, string subject, bool isAllDay, List serviceRecords, DateTime? start, DateTime? end) { if (!_ChangedOccurenceCustomFields.ContainsKey(id) || !_ChangedOccurenceCustomFields[id].ContainsKey(index)) { diff --git a/BeWo/View/PasswortAenderungsView.xaml.cs b/BeWo/View/PasswortAenderungsView.xaml.cs index a489fb2e1..ded3194f2 100644 --- a/BeWo/View/PasswortAenderungsView.xaml.cs +++ b/BeWo/View/PasswortAenderungsView.xaml.cs @@ -112,14 +112,12 @@ namespace BeWo.View textblock_editFailures.Text = string.Empty; } - - - PasswortSicherheit pwS = new PasswortSicherheit(); + private readonly PasswortSicherheit _PasswortSicherheit = new PasswortSicherheit(); private void NeuesPwBox_OnPasswordChanged(object sender, RoutedEventArgs e) { - passwortprüfer = pwS.ErmittleUndZeigePasswortStaerke(NeuesPwBox.Password, passwortprüfer); + passwortprüfer = _PasswortSicherheit.ErmittleUndZeigePasswortStaerke(NeuesPwBox.Password, passwortprüfer); var fehlermeldung = string.Empty; diff --git a/BeWoPlanerMobil/Views/Main/Main.cshtml b/BeWoPlanerMobil/Views/Main/Main.cshtml index 05f9da770..10ca812ac 100644 --- a/BeWoPlanerMobil/Views/Main/Main.cshtml +++ b/BeWoPlanerMobil/Views/Main/Main.cshtml @@ -16,6 +16,7 @@ }