diff --git a/.gitignore b/.gitignore index 2aa02fc2a..a2b92df9f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ /BeWoPlanerAndroid/obj /BeWoPlanerMobil/bin /BeWoPlanerMobil/obj -/BeWoPlanerMobil/node_modules /Host/bin /Host/obj /Controls/bin @@ -416,4 +415,47 @@ /ReportImp/KuhringBetreuung/obj/Release /ReportImp/LebenshilfeFrankfurtOder/obj/Debug /ReportImp/LebenshilfeFrankfurtOder/obj/Release -/BeWoPlanerMobil/delete_and_ignore_file.txt +/ReportImp/AbwKlassen/bin/Debug +/ReportImp/AbwKlassen/bin/Release +/ReportImp/AbwKlassen/obj/Debug +/ReportImp/AbwKlassen/obj/Release +/ReportImp/DiakonischesWerkMuelheimTwg/bin/Debug +/ReportImp/DiakonischesWerkMuelheimTwg/obj/Debug +/ReportImp/DiakonischesWerkMuelheimTwg/obj/Release +/ReportImp/Inkomm/obj/Debug +/ReportImp/Inkomm/obj/Release +/ReportImp/LebenshilfeDorsten/obj/Debug +/ReportImp/LebenshilfeDorsten/obj/Release +/ReportImp/QuerFaelltEin/obj/Debug +/ReportImp/QuerFaelltEin/obj/Release +/ReportImp/AsbRuhr/obj/Debug +/ReportImp/AsbRuhr/obj/Release +/ReportImp/DiePerspektive/obj/Debug +/ReportImp/DiePerspektive/obj/Release +/ReportImp/PhoenixBeWo/obj/Debug +/ReportImp/PhoenixBeWo/obj/Release +/ReportImp/EvangelischeKirchengemeindeBottrop/obj/Debug +/ReportImp/EvangelischeKirchengemeindeBottrop/obj/Release +/ReportImp/InputFamilienhilfe/obj/Debug +/ReportImp/InputFamilienhilfe/obj/Release +/ReportImp/LebenshilfeWolfsburg/obj/Debug +/ReportImp/LebenshilfeWolfsburg/obj/Release +/ReportImp/SichtWeise/obj/Debug +/ReportImp/SichtWeise/obj/Release +/packages +/ReportImp/BfpDus/obj/Debug +/ReportImp/BfpDus/obj/Release +/ReportImp/DiakonischesWerkWesel/obj/Debug +/ReportImp/DiakonischesWerkWesel/obj/Release +/ReportImp/KcmGmbH/obj/Debug +/ReportImp/KcmGmbH/obj/Release +/ReportImp/LebenshilfeRodenkirchen2Reports/obj/Debug +/ReportImp/LebenshilfeRodenkirchen2Reports/obj/Release +/ReportImp/PraunheimerWerkstaetten3/obj/Debug +/ReportImp/PraunheimerWerkstaetten3/obj/Release +/ReportImp/PraunheimerWerkstaetten2/obj/Release +/ReportImp/PraunheimerWerkstaetten2/obj/Debug +/ReportImp/RosegGmbH/obj/Debug +/ReportImp/RosegGmbH/obj/Release +/ReportImp/VkmHamm2/obj/Debug +/ReportImp/VkmHamm2/obj/Release diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index 91d05c396..4884438c6 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -19,7 +19,7 @@ false - D9ACF3EBC5E47956B8D786361F7061E3F6D6F286 + D7D02C6BE66C484058796E17BD368F3C81B4AA88 true false 3.0.1927.0 @@ -39,16 +39,16 @@ false true false - http://app.beyondsoft.de/dev/ + http://app.beyondsoft.de/sbdtest/ de-DE BeWoPlaner beyondSoft GmbH - 2.0.1.172 + 2.0.1.184 true publish.htm false true - 173 + 185 2.0.1.%2a false true @@ -290,6 +290,18 @@ MSBuild:Compile Designer + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + MSBuild:Compile Designer @@ -306,6 +318,10 @@ MSBuild:Compile Designer + + MSBuild:Compile + Designer + MSBuild:Compile Designer @@ -346,6 +362,14 @@ MSBuild:Compile Designer + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + MSBuild:Compile Designer @@ -354,6 +378,10 @@ Designer MSBuild:Compile + + MSBuild:Compile + Designer + MSBuild:Compile Designer @@ -798,8 +826,14 @@ + + + + + + @@ -822,6 +856,8 @@ + + @@ -889,6 +925,15 @@ ValueListEntryEditControl.xaml + + RatingTypeView.xaml + + + DienstView.xaml + + + GoalImportControl.xaml + NotizenKategorieView.xaml @@ -898,6 +943,9 @@ AbsenceTimesView.xaml + + Dienstplaner.xaml + AbwesenheitstabelleView.xaml @@ -934,12 +982,21 @@ TimeSheetMailView.xaml + + RatingEditView.xaml + + + SupportConceptGoalRatingView.xaml + HomeView.xaml KilometerauslastungsView.xaml + + + RatingReportView.xaml StundenplanView.xaml @@ -2778,7 +2835,13 @@ - + + + + + + + diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs index e243629d1..cb7497b17 100644 --- a/BeWo/BeWoApp.xaml.cs +++ b/BeWo/BeWoApp.xaml.cs @@ -44,7 +44,7 @@ namespace BeWo public static MainControl MainControl; - public static string Version = "Version 2.4.6 TEST"; + public static string Version = "Version 2.4.7 Test"; public static int RenderTier = 0; @@ -500,16 +500,15 @@ namespace BeWo { int i; - if (url.IndexOf("fortis") < 0) - { - if (Int32.TryParse(url, out i)) - url = "app" + url; + + if (Int32.TryParse(url, out i)) + url = "app" + url; - if (url.IndexOf('.') < 0) - { - url += ".bewoplaner.de"; - } + if (url.IndexOf('.') < 0) + { + url += ".bewoplaner.de"; } + //if (url.IndexOf("/service45") < 0) //{ // url += "/service45"; @@ -519,9 +518,7 @@ namespace BeWo url += "/servicesbd"; } - if (ServerAddress == "10.0.116.4") //LH Würzburg - return new Uri(String.Format("http://{0}", url)); - return new Uri(String.Format("https://{0}", url)); + return new Uri(String.Format("https://{0}", url)); } return new Uri(url); } @@ -1007,8 +1004,7 @@ namespace BeWo callback?.Invoke(chatServerURL); } } - - public static void Cleanup() + public static void Cleanup() { _lockedContent = null; LoginControl = null; diff --git a/BeWo/Converter/CellColorConverter.cs b/BeWo/Converter/CellColorConverter.cs index 528c6e7bf..cc18937d4 100644 --- a/BeWo/Converter/CellColorConverter.cs +++ b/BeWo/Converter/CellColorConverter.cs @@ -5,7 +5,9 @@ using System.Linq; using System.Windows.Data; using System.Windows.Markup; using System.Windows.Media; +using BeWo.View.Detail; using BeWo.ViewModel; +using BS.Shared.DataContracts; using DevExpress.Xpf.Grid; namespace BeWo.Converter @@ -23,9 +25,45 @@ namespace BeWo.Converter var viewTag = cellData.View.Tag as List; var date = int.Parse(value[1].ToString().Split('.')[0], NumberStyles.Integer); + + if (viewTag != null && viewTag.Count > 0 && value.Length > 2 && value[2] is Teilnehmer) + { + var booking = viewTag[0]; + + if (date <= DateTime.DaysInMonth(booking.Date.Year, booking.Date.Month)) + { + + var dt = new DateTime(booking.Date.Year, booking.Date.Month, date); + + if (dt.DayOfWeek == DayOfWeek.Saturday || dt.DayOfWeek == DayOfWeek.Sunday) + { + return Brushes.CornflowerBlue; + } + + var t = (Teilnehmer) value[2]; + + if (IsAbsence(dt, t.Customer.AbsenceTimes)) + { + return Brushes.Red; + } + } + } return viewTag.Any(v => v.Date.Day.Equals(date)) ? Brushes.White : b; } + private bool IsAbsence(DateTime dt, List absenceTimes) + { + foreach (var at in absenceTimes) + { + if ((!at.Start.HasValue || at.Start.Value <= dt) && (!at.End.HasValue || at.End.Value >= dt)) + { + return true; + } + } + + return false; + } + public object[] ConvertBack(object value, Type[] targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } public override object ProvideValue(IServiceProvider serviceProvider) { return this; } diff --git a/BeWo/Core/BeWoUtils.cs b/BeWo/Core/BeWoUtils.cs index 25194354e..3e770800a 100644 --- a/BeWo/Core/BeWoUtils.cs +++ b/BeWo/Core/BeWoUtils.cs @@ -2131,7 +2131,7 @@ namespace BeWo.Core } public static void OwnChatSynchronisationVeranlassen() - { + { if (!BeWoApp.Mandator.Apikey.IsNullOrEmpty()) { try @@ -2167,11 +2167,11 @@ namespace BeWo.Core // response.Close(); // response.Dispose(); - //} + } catch (Exception exception) { - // MessageBox.Show("Die Verbindung konnte nicht aufgebaut werden.", "ownChat Fehler ", MessageBoxButton.OK); + // MessageBox.Show("Die Verbindung konnte nicht aufgebaut werden.", "ownChat Fehler ", MessageBoxButton.OK); } } diff --git a/BeWo/Core/Service/Cache.cs b/BeWo/Core/Service/Cache.cs index 284c9b738..1e7184a8c 100644 --- a/BeWo/Core/Service/Cache.cs +++ b/BeWo/Core/Service/Cache.cs @@ -38,7 +38,9 @@ namespace BeWo.Core.Service private List mTeamMembers; - private Dictionary> mCats2ResInDic; + private List mRatingTypes; + + private Dictionary> mCats2ResInDic; private Cache() { @@ -63,6 +65,7 @@ namespace BeWo.Core.Service this.ClearCustomers(); this.ClearWohnheims(); ClearResources(); + ClearRatingTypes(); } public void ClearAllValueListEntries() @@ -115,7 +118,12 @@ namespace BeWo.Core.Service mCats2ResInDic = null; } - public void GetActiveSupportConceptCostbearer(Action> callback) + public void ClearRatingTypes() + { + mRatingTypes = null; + } + + public void GetActiveSupportConceptCostbearer(Action> callback) { if (this.mActiveSupportConceptCostbearerList == null) { @@ -247,6 +255,16 @@ namespace BeWo.Core.Service } } + public List GetAllRatingTypeList() + { + if(mRatingTypes == null) + { + ServiceFacade.DoOperationsServiceSync(cs => mRatingTypes = cs.GetAllRatingTypes()); + } + + return mRatingTypes; + } + public void GetServiceCategoryDescriptionDict(Action>> callback) { if (this.mServiceCategoryDescriptionDict == null) diff --git a/BeWo/Core/Service/GoalService.cs b/BeWo/Core/Service/GoalService.cs index e5d67061d..93380853a 100644 --- a/BeWo/Core/Service/GoalService.cs +++ b/BeWo/Core/Service/GoalService.cs @@ -302,7 +302,7 @@ namespace BeWo.Core.Service { ValueListEntryDC copyVe = new ValueListEntryDC(); copyVe.Abbreviation = ve.Abbreviation; - copyVe.Rating = copyRating ? ve.Rating : null; + copyVe.RatingTypeOid = copyRating ? ve.RatingTypeOid : null; copyVe.Notice = ve.Notice; copyVe.IsSystemEntry = ve.IsSystemEntry; copyVe.ParentOid = ve.ParentOid; diff --git a/BeWo/Core/Service/SupportConceptService.cs b/BeWo/Core/Service/SupportConceptService.cs index 489ebe8da..2dfff3c29 100644 --- a/BeWo/Core/Service/SupportConceptService.cs +++ b/BeWo/Core/Service/SupportConceptService.cs @@ -91,7 +91,16 @@ namespace BeWo.Core.Service if (existingGoal.Equals(goal.GoalEntryDC)) { goal.IsChecked = true; - goal.GoalEntryDC.Rating = existingGoal.Rating; + goal.GoalEntryDC.RatingTypeOid = existingGoal.RatingTypeOid; + if (existingGoal.RatingTypeOid.HasValue) + { + var rdc = Cache.GetInstance().GetAllRatingTypeList() + .FirstOrDefault(r => r.RatingTypeOid == existingGoal.RatingTypeOid); + if (rdc != null) + { + goal.RatingName = rdc.DisplayName; + } + } } } diff --git a/BeWo/Core/SupportConceptGoalTreeItem.cs b/BeWo/Core/SupportConceptGoalTreeItem.cs index 9bd2ddb80..d42f70d27 100644 --- a/BeWo/Core/SupportConceptGoalTreeItem.cs +++ b/BeWo/Core/SupportConceptGoalTreeItem.cs @@ -36,6 +36,8 @@ namespace BeWo.Core } } + public bool IsHidden { get; set; } + public BindingList Items { get => _Children ?? (_Children = new BindingList()); diff --git a/BeWo/CustomDXLocalizer.cs b/BeWo/CustomDXLocalizer.cs index f81dd21d1..3fdf8cd84 100644 --- a/BeWo/CustomDXLocalizer.cs +++ b/BeWo/CustomDXLocalizer.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using DevExpress.Xpf.Editors; +using DevExpress.Xpf.Grid; using DevExpress.Xpf.Scheduler; namespace BeWo @@ -17,6 +18,22 @@ namespace BeWo } } + //class CustomGridLocalizer : GridControlLocalizer + //{ + // protected override void PopulateStringTable() + // { + // base.PopulateStringTable(); + + // for (int i = 0; i < 10000; i++) + // { + // var enumInt = (GridControlStringId)i; + // AddString(enumInt, enumInt.ToString()); + // } + // ; + // } + //} + + //class CustomSchedulerResXLocalizer : SchedulerControlResXLocalizer //{ // public override string GetLocalizedString(SchedulerControlStringId id) @@ -28,7 +45,7 @@ namespace BeWo // { // base.PopulateStringTable(); - + // } //} diff --git a/BeWo/LoginControl.xaml.cs b/BeWo/LoginControl.xaml.cs index df7469ecd..c051e8d02 100644 --- a/BeWo/LoginControl.xaml.cs +++ b/BeWo/LoginControl.xaml.cs @@ -181,37 +181,7 @@ namespace BeWo { } - - - if (ProfileList.Count == 0 || String.IsNullOrEmpty(ProfileList[0].Tenant)) - { - //LH Würzburg Hack: - if (ApplicationDeployment.IsNetworkDeployed) - { - Uri uri = ApplicationDeployment.CurrentDeployment.ActivationUri; - if (uri == null) - { - uri = ApplicationDeployment.CurrentDeployment.UpdateLocation; - } - if (uri != null) - { - if (uri.Host.IndexOf("10.0.116.4") >= 0 || uri.Host.IndexOf("lebenshilfe-wuerzburg") >= 0) - { - BeWoProfile bp = new BeWoProfile("Lebenshilfe Würzburg", "10.0.116.4", "1"); - ProfileList.Add(bp); - SaveProfileListToFile(); - } - else if (uri.Host.IndexOf("fortis") >= 0) - { - BeWoProfile bp = new BeWoProfile("Fortis", "fortis-bewoplaner.fortis-ev.org.local", "4526293996"); - ProfileList.Add(bp); - SaveProfileListToFile(); - } - } - } - - } - + // IP-Adresse holen try @@ -288,16 +258,17 @@ namespace BeWo Loaded += LoginControl_Loaded; + ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; + + PinCertificate(); + + if (!IsTechSupport) return; linkLine.Margin = new Thickness(linkLine.Margin.Left, linkLine.Margin.Top + 25, linkLine.Margin.Right, linkLine.Margin.Bottom); gridLogin.Height += 25; - - - ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; - - PinCertificate(); + } @@ -350,8 +321,49 @@ namespace BeWo private bool CheckStatusMessage(BeWoProfile profile, String url) { #if DEBUG + + //String message = @"Sehr geehrte Kundin, sehr geehrter Kunde, + + // Ihr BeWoPlaner Nutzungszeitraum endet automatisch am 31.01.2020. + // Bitte wenden Sie sich an den BeWoPlaner - Support, sofern Sie den Nutzungszeitraum verlängern möchten. + + // Vielen Dank. + // Ihr BeWoPlaner-Team;1"; + + //if (!String.IsNullOrWhiteSpace(message) && message.Trim().Length > 2) + //{ + // String ende = message.Substring(message.Length - 2); + + // message = message.Replace("\\n", "\n"); + // message = message.Substring(0, message.Length - 2); + // MessageDialog dlg = new MessageDialog(); + + // if (message.Contains("<") && message.Contains(">")) + // { + // dlg.SetXaml(message); + // } + // else + // { + // dlg.Message = message; + // } + + + // var test = this.GetRootParent() as Window; + // if (test != null) + // { + // dlg.Owner = test; + // dlg.WindowStartupLocation = WindowStartupLocation.CenterOwner; + // } + + // var result = dlg.ShowDialog(); + // if (ende.EndsWith(";0")) + // { + // return false; + // } + + //} return true; -#endif +#else try { using (WebClient client = new WebClient()) @@ -404,6 +416,7 @@ namespace BeWo } return true; +#endif } private BeWoProfile ReadSelectedProfile() @@ -987,8 +1000,13 @@ namespace BeWo private void LoginResult( WaitLayer2 lWaitLayer, UserValidationResult result, String lUserName, String lPassword, String lPIN = "") { + // + // GetState hierhin + // + // if (result == UserValidationResult.UserValid) { + //this.Dispatch(delegate //{ // if (BeWoApp.Tenant == "demo") diff --git a/BeWo/MainControl.xaml.cs b/BeWo/MainControl.xaml.cs index c412fbf98..1d57ba61c 100644 --- a/BeWo/MainControl.xaml.cs +++ b/BeWo/MainControl.xaml.cs @@ -29,6 +29,7 @@ using BS.Shared; using BS.Shared.DataContracts; using BS.Shared.Extensions; using DevExpress.Xpf.Editors; +using DevExpress.Xpf.Grid; using DevExpress.Xpf.Scheduler; using Hyperlink = System.Windows.Documents.Hyperlink; @@ -76,8 +77,10 @@ namespace BeWo KeyDown += MainControl_KeyDown; NavigateToHomeView(); - EditorLocalizer.Active = new CustomDXEditorLocalizer(); - SchedulerControlLocalizer.Active = new CustomSchedulerLocalizer(); + //EditorLocalizer.Active = new CustomDXEditorLocalizer(); + //SchedulerControlLocalizer.Active = new CustomSchedulerLocalizer(); + //GridControlLocalizer.Active = new CustomGridLocalizer(); + OpenedModalViewWindows = new List(); diff --git a/BeWo/MainWindow.xaml.cs b/BeWo/MainWindow.xaml.cs index 3ad24e1a3..a00fa39bf 100644 --- a/BeWo/MainWindow.xaml.cs +++ b/BeWo/MainWindow.xaml.cs @@ -1,5 +1,6 @@ using System; using System.ComponentModel; +using System.Threading; using System.Windows; using BeWo.Core.Config; using BeWo.MultiLanguage; @@ -18,7 +19,6 @@ namespace BeWo InitializeComponent(); ApplicationThemeHelper.ApplicationThemeName = "Office2010Black"; - ShowLoginControl(); } diff --git a/BeWo/Ressources/Icons/Favorites16.png b/BeWo/Ressources/Icons/Favorites16.png new file mode 100644 index 000000000..459af3f89 Binary files /dev/null and b/BeWo/Ressources/Icons/Favorites16.png differ diff --git a/BeWo/Ressources/Icons/Favorites32.png b/BeWo/Ressources/Icons/Favorites32.png new file mode 100644 index 000000000..f169f537b Binary files /dev/null and b/BeWo/Ressources/Icons/Favorites32.png differ diff --git a/BeWo/Ressources/Icons/FavoritesDisabled32.png b/BeWo/Ressources/Icons/FavoritesDisabled32.png new file mode 100644 index 000000000..3ba8055e7 Binary files /dev/null and b/BeWo/Ressources/Icons/FavoritesDisabled32.png differ diff --git a/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs b/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs index eabe2b61a..0c640759d 100644 --- a/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs +++ b/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs @@ -20,7 +20,11 @@ namespace BeWo.SchulbegleitenderDienst.SBDUtils { var substitutionStartingDayCountCondition = SubstitutionStartingDayCountCondition(viewModel); - if (substitutionStartingDayCountCondition || viewModel.Vertretung?.VertretenderMitarbeiterOid != null || viewModel.Customer != null && viewModel.Customer.SubstitutionNeed == SubstitutionNeed.NoSubstitutionWanted) + if (viewModel.VertretungsStatus == VertretungsStatus.KlientUndMitarbeiterKrank || viewModel.VertretungsStatus == VertretungsStatus.MaKrankKeineVertretungBenoetigt) + { + unwantedSubstitutionList.AddIfNotIn(viewModel); + } + else if (substitutionStartingDayCountCondition || viewModel.Vertretung?.VertretenderMitarbeiterOid != null || viewModel.Customer != null && viewModel.Customer.SubstitutionNeed == SubstitutionNeed.NoSubstitutionWanted) { unwantedSubstitutionList.AddIfNotIn(viewModel); } diff --git a/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml b/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml index 56ee9bb64..40c1d4dea 100644 --- a/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml +++ b/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml @@ -211,7 +211,7 @@ - + diff --git a/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml.cs b/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml.cs index 1dc878a45..4086c4cf8 100644 --- a/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml.cs +++ b/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml.cs @@ -621,6 +621,15 @@ namespace BeWo.SchulbegleitenderDienst var barButtonItem2 = new BarButtonItem {Content = "Steckbrief anzeigen"}; barButtonItem2.ItemClick += ShowCharacteristics; e.Customizations.Add(barButtonItem2); + + var selectedViewModel = (TagesansichtVM)GridDataControlTagesansichtMitarbeiter.SelectedItem; + + if (selectedViewModel != null && selectedViewModel.Vertretung != null) + { + var barButtonItem3 = new BarButtonItem {Content = "Vertretung löschen", Tag = e.Source.DataControl.SelectedItem }; + barButtonItem3.ItemClick += DeleteVertretung_OnClick; + e.Customizations.Add(barButtonItem3); + } } private void ShowCharacteristics(object sender, RoutedEventArgs e) @@ -679,6 +688,18 @@ namespace BeWo.SchulbegleitenderDienst } } + //private void DeleteVertretung_OnClick(object sender, RoutedEventArgs e) + //{ + // if (MessageBox.Show("Möchten Sie die Vertretung wirklich löschen?", "Abwesenheit löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) + // { + // var selectedViewModel = (TagesansichtVM)GridDataControlTagesansichtMitarbeiter.SelectedItem; + + // _Tagesvertretung.DeleteVertretung(selectedViewModel); + + // LadeTagesansicht(Datepicker.DateTime.Date); + // } + //} + private void DeleteKlientKrankmeldung_OnClick(object sender, RoutedEventArgs e) { if (MessageBox.Show("Möchten Sie die Abwesenheit wirklich löschen?", "Abwesenheit löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) @@ -693,6 +714,9 @@ namespace BeWo.SchulbegleitenderDienst private static bool? ShowDeletionMessageBox(AbsenceTimeDC absenceTime) { + // erstmal nur ganze Abwesenheit + return true; + if(absenceTime.Start != null && absenceTime.End != null && absenceTime.Start.Value.Date == absenceTime.End.Value.Date) { return true; @@ -1033,8 +1057,16 @@ namespace BeWo.SchulbegleitenderDienst { var barButtonItem = new BarButtonItem {Content = "Abwesenheit löschen", Tag = e.Source.DataControl.SelectedItem}; barButtonItem.ItemClick += DeleteCustomerAbsenceTime_OnClick; - e.Customizations.Add(barButtonItem); + + var selectedTagesansichtVM = (TagesansichtVM)barButtonItem.Tag; + if (selectedTagesansichtVM != null && selectedTagesansichtVM.Vertreter != null) + { + var barButtonItem2 = new BarButtonItem { Content = "Vertretung löschen", Tag = e.Source.DataControl.SelectedItem }; + barButtonItem2.ItemClick += DeleteVertretung_OnClick; + e.Customizations.Add(barButtonItem2); + } + } private void DeleteCustomerAbsenceTime_OnClick(object sender, RoutedEventArgs e) @@ -1049,7 +1081,20 @@ namespace BeWo.SchulbegleitenderDienst LadeTagesansicht(Datepicker.DateTime); } } - + + private void DeleteVertretung_OnClick(object sender, RoutedEventArgs e) + { + var barButtonItem = (BarButtonItem)sender; + var selectedTagesansichtVM = (TagesansichtVM)barButtonItem.Tag; + + if (MessageBox.Show("Möchten Sie die Vertretung wirklich löschen?", "Abwesenheit löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) + { + _Tagesvertretung.DeleteVertretung(selectedTagesansichtVM); + + LadeTagesansicht(Datepicker.DateTime); + } + } + private void GridControlSubUnwanted_OnCellValueChanged(object sender, CellValueChangedEventArgs e) { _Tagesvertretung.UpdateRowData((TagesansichtVM) SubstitutionUnwantedDayViewGridControl.SelectedItem); diff --git a/BeWo/SchulbegleitenderDienst/VertretungsSearchView.xaml b/BeWo/SchulbegleitenderDienst/VertretungsSearchView.xaml index 3c6778905..2ef6a820d 100644 --- a/BeWo/SchulbegleitenderDienst/VertretungsSearchView.xaml +++ b/BeWo/SchulbegleitenderDienst/VertretungsSearchView.xaml @@ -44,34 +44,35 @@ + - -