diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index 34edd92b4..eb2832461 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -104,11 +104,13 @@ + + @@ -182,6 +184,10 @@ Designer MSBuild:Compile + + MSBuild:Compile + Designer + Designer MSBuild:Compile @@ -444,7 +450,7 @@ MSBuild:Compile Designer - + MSBuild:Compile Designer @@ -546,6 +552,9 @@ ProxyLoginView.xaml + + SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml + KrankheitsZeitraumView.xaml @@ -640,7 +649,9 @@ - + + + @@ -848,8 +859,8 @@ EmployeeArbeitszeitView.xaml - - SchulbegleitenderDienstCustomer.xaml + + SchulbegleitenderDienst.xaml SchulbegleitenderDienstMasterView.xaml diff --git a/BeWo/Properties/licenses.licx b/BeWo/Properties/licenses.licx index e69de29bb..27ee5eef5 100644 --- a/BeWo/Properties/licenses.licx +++ b/BeWo/Properties/licenses.licx @@ -0,0 +1 @@ +DevExpress.Xpf.RichEdit.RichEditControl, DevExpress.Xpf.RichEdit.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml index 8665850bb..ffe109fa6 100644 --- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml +++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml @@ -59,19 +59,19 @@ - + - + - + - + @@ -263,7 +263,7 @@ - + @@ -278,13 +278,17 @@ - + + - + - + + + + @@ -371,14 +375,19 @@ + - - - + + + + + - + + + @@ -386,7 +395,7 @@ - + @@ -416,7 +425,7 @@ - + @@ -446,7 +455,7 @@ - + @@ -476,7 +485,7 @@ - + @@ -506,7 +515,7 @@ - + @@ -536,7 +545,7 @@ - + @@ -766,70 +775,7 @@ - - - - - - - - - + diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs index e242d8649..08a1fab38 100644 --- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs +++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs @@ -60,13 +60,16 @@ namespace BeWo.SchulbegleitenderDienst private SchulbegleitenderDienstBearbeitungsView _view = null; + private SchulbegleitenderDienstMitarbeiterBearbeitungsView _viewMitarbeiter = null; + private KrankheitsZeitraumView _krankView = null; private string _mitarbeiterVertretungWocheninfo = ""; private string _deletVertretungsWeek = ""; - + private List _mitarbeiterwochen = new List(); + public NewSchulbegleitenderDienstView() { InitializeComponent(); @@ -74,7 +77,7 @@ namespace BeWo.SchulbegleitenderDienst GridDataControlTagesansicht.ItemsSource = _items; GridDataControlKlientenWochenansicht.ItemsSource = _itemsWochen; - GridDataControlMitarbeiterWochenansicht.ItemsSource = _itemsWochen; + GridDataControlMitarbeiterWochenansicht.ItemsSource = _mitarbeiterwochen; setAktDate(); SetAbwesenheiten(); @@ -157,6 +160,29 @@ namespace BeWo.SchulbegleitenderDienst }); } + private void GetAllVertretungsFreieMitarbeiter(DateTime startDatum, DateTime endDatum) + { + ServiceFacade.DoOperationsServiceAsync(s => s.VertretungsMitarbeiterListeWoechentlich(startDatum, endDatum), r => + { + _mitarbeiterwochen.Clear(); + + foreach (var item in r) + { + AddMitarbeiterItemsToGrid(item,startDatum); + } + + // gib dem grid die VrtMiList mit + #region Dispatcher Refresh Grid + this.Dispatch(delegate + { + //GetWochenDienstFromItems(startDatum); + GridDataControlMitarbeiterWochenansicht.RefreshData(); + GridDataControlMitarbeiterWochenansicht.RefreshUI(); + }); + #endregion + }); + } + private void AddItemsToGrid(VertretungsListeItemsDC item) { int i = 0, y = 0; @@ -265,6 +291,157 @@ namespace BeWo.SchulbegleitenderDienst } } + private void AddMitarbeiterItemsToGrid(VertretungsListeMitarbeiterItemsDC item, DateTime time) + { + + var compactEmployee = ServiceFacade.DoEmployeeServiceSync(r => r.GetActiveCompactEmployeeWithOid(item.EmployeeOid.Value)); + + MitarbeiterWochenansicht x = new MitarbeiterWochenansicht() + { + Employee = item.Employee, + EmployeeDc = compactEmployee + }; + + + DateTime dt = time; + + DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear()); + + DateTime anfangDt; + DateTime endeDt; + + if (item.AbsenceStartDate != null && item.AbsenceEndDate != null) + { + anfangDt = item.AbsenceStartDate.Value; + endeDt = item.AbsenceEndDate.Value; + + DateTime montagDt = startdt.Date; + DateTime dienstagDt = startdt.Date.AddDays(1); + DateTime mittwochDt = startdt.Date.AddDays(2); + DateTime donnerstagDt = startdt.Date.AddDays(3); + DateTime freitagDt = startdt.Date.AddDays(4); + DateTime samstagDt = startdt.Date.AddDays(5); + + //Bereich für Eingesetzt bei übernehmen von unterem code + // + + // Montag | 0 + x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, montagDt,item ,x,"EingesetztBeiMo", 0); + // Dienstag | 1 + x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, dienstagDt, item, x, "EingesetztBeiDi", 1); + // Mittwoch | 2 + x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, mittwochDt, item, x, "EingesetztBeiMi", 2); + //Donnerstag | 3 + x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, donnerstagDt, item, x, "EingesetztBeiDo", 3); + //Freitag | 4 + x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, freitagDt, item, x, "EingesetztBeiFr", 4); + // Samstag | 5 + x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, samstagDt, item, x, "EingesetztBeiSa", 5); + + } + + _mitarbeiterwochen.Add(x); + } + + public MitarbeiterWochenansicht WochentageMitarbeiterVerarbeitung(DateTime startDt, DateTime endDt, DateTime wochenTag, VertretungsListeMitarbeiterItemsDC item, MitarbeiterWochenansicht wwk, string eingesetztBei, int wochenTagZahl) + { + // mach colles zeug + if (startDt.Date <= wochenTag && wochenTag <= endDt.Date) + { + if (item != null && item.Customer != null) + { + + //------------------------------------------------------------------------------------------ + if (item.AbsenceStartDate <= wochenTag && + item.AbsenceEndDate >= wochenTag) + { + switch (wochenTagZahl) + { + case 0: + wwk.EingesetztBeiMo = item.Customer.FullName; + break; + case 1: + wwk.EingesetztBeiDi = item.Customer.FullName; + //wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 2: + wwk.EingesetztBeiMi = item.Customer.FullName; + //wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 3: + wwk.EingesetztBeiDo = item.Customer.FullName; + //wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 4: + wwk.EingesetztBeiFr = item.Customer.FullName; + //wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 5: + wwk.EingesetztBeiSa = item.Customer.FullName; + //wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + } + } + else + { + switch (wochenTagZahl) + { + case 0: + wwk.EingesetztBeiMo = ""; + break; + case 1: + wwk.EingesetztBeiDi = ""; + break; + case 2: + wwk.EingesetztBeiMi = ""; + break; + case 3: + wwk.EingesetztBeiDo = ""; + break; + case 4: + wwk.EingesetztBeiFr = ""; + break; + case 5: + wwk.EingesetztBeiSa = ""; + break; + } + } + + //-------------------------------------------------------------------------------------------------------- + } + } + else + { + switch (wochenTagZahl) + { + case 0: + wwk.EingesetztBeiMo = " "; + break; + case 1: + wwk.EingesetztBeiDi = " "; + break; + case 2: + wwk.EingesetztBeiMi = " "; + break; + case 3: + wwk.EingesetztBeiDo = " "; + break; + case 4: + wwk.EingesetztBeiFr = " "; + break; + case 5: + wwk.EingesetztBeiSa = " "; + break; + } + } + + return wwk; + } + + private Dictionary> a; + + private Dictionary> klientb; + private void GetWochenDienstFromItems(DateTime time) { _itemsWochen.Clear(); @@ -275,9 +452,13 @@ namespace BeWo.SchulbegleitenderDienst foreach (var item in _items) { - Dictionary> a = new Dictionary>(); + //Dictionary> a = new Dictionary>(); - Dictionary> klientb = new Dictionary>(); + //Dictionary> klientb = new Dictionary>(); + + a = new Dictionary>(); + + klientb = new Dictionary>(); DateTime anfangDt; DateTime endeDt; @@ -292,6 +473,7 @@ namespace BeWo.SchulbegleitenderDienst DateTime freitagDt = startdt.Date.AddDays(4); DateTime samstagDt = startdt.Date.AddDays(5); + Wochenansichten wwk = new Wochenansichten() { MaKrank = item.KrankerMitarbeiter, @@ -299,287 +481,24 @@ namespace BeWo.SchulbegleitenderDienst MaFrei = item.Vertretung }; - - #region Wochenansicht Mo - Sa - - if (anfangDt.Date <= montagDt && montagDt <= endeDt.Date ) - { - if (item.VertretungsDC != null) - { - if (item.VertretungsDC.VertretungsZeitraumVon <= montagDt && - item.VertretungsDC.VertretungsZeitraumBis >= montagDt) - { - //########## Original ################## - Dictionary mo = new Dictionary(); - mo.Add(montagDt, item); - - a.Add("VertretungMo", mo); - - klientb.Add("EingesetztBeiMo", mo); - - wwk.VertretungMo = item.Vertretung; - wwk.EingesetztBeiMo = item.Kunde; - - wwk.Mo = WochenanzeigeHinzufügen(montagDt, item.Wochentagsarbeitszeit); - //###################################### - } - else - { - wwk.VertretungMo = ""; - wwk.EingesetztBeiMo = ""; - } - } - else - { - Dictionary mo = new Dictionary(); - mo.Add(montagDt, item); - - a.Add("VertretungMo", mo); - - klientb.Add("EingesetztBeiMo", mo); - - wwk.VertretungMo = item.Vertretung; - wwk.EingesetztBeiMo = item.Kunde; - - wwk.Mo = WochenanzeigeHinzufügen(montagDt, item.Wochentagsarbeitszeit); - } //bis hierhin nicht original - } - else - { - //###Original - wwk.VertretungMo = " "; - wwk.EingesetztBeiMo = " "; - //####### - } - - if (anfangDt.Date <= dienstagDt && dienstagDt <= endeDt.Date) - { - if (item.VertretungsDC != null) - { - if (item.VertretungsDC.VertretungsZeitraumVon <= mittwochDt && - item.VertretungsDC.VertretungsZeitraumBis >= mittwochDt) - { - Dictionary di = new Dictionary(); - di.Add(dienstagDt, item); - - a.Add("VertretungDi", di); - - klientb.Add("EingesetztBeiDi", di); - - wwk.VertretungDi = item.Vertretung; - wwk.EingesetztBeiDi = item.Kunde; - - wwk.Di = WochenanzeigeHinzufügen(dienstagDt, item.Wochentagsarbeitszeit); - } - else - { - wwk.VertretungDi = ""; - wwk.EingesetztBeiDi = ""; - } - } - else - { - Dictionary di = new Dictionary(); - di.Add(dienstagDt, item); - - a.Add("VertretungDi", di); - - klientb.Add("EingesetztBeiDi", di); - - wwk.VertretungDi = item.Vertretung; - wwk.EingesetztBeiDi = item.Kunde; - - wwk.Di = WochenanzeigeHinzufügen(dienstagDt, item.Wochentagsarbeitszeit); - } - } - else - { - wwk.VertretungDi = " "; - wwk.EingesetztBeiDi = " "; - } - - if (anfangDt.Date <= mittwochDt && mittwochDt <= endeDt.Date) - { - if (item.VertretungsDC != null) - { - if (item.VertretungsDC.VertretungsZeitraumVon <= mittwochDt && - item.VertretungsDC.VertretungsZeitraumBis >= mittwochDt) - { - Dictionary mi = new Dictionary(); - mi.Add(mittwochDt, item); - - a.Add("VertretungMi", mi); - klientb.Add("EingesetztBeiMi", mi); - - wwk.VertretungMi = item.Vertretung; - wwk.EingesetztBeiMi = item.Kunde; - - wwk.Mi = WochenanzeigeHinzufügen(mittwochDt, item.Wochentagsarbeitszeit); - } - else - { - wwk.VertretungMi = ""; - wwk.EingesetztBeiMi = ""; - } - } - else - { - Dictionary mi = new Dictionary(); - mi.Add(mittwochDt, item); - - a.Add("VertretungMi", mi); - klientb.Add("EingesetztBeiMi", mi); - - wwk.VertretungMi = item.Vertretung; - wwk.EingesetztBeiMi = item.Kunde; - - wwk.Mi = WochenanzeigeHinzufügen(mittwochDt, item.Wochentagsarbeitszeit); - } - } - else - { - wwk.VertretungMi = " "; - wwk.EingesetztBeiMi = " "; - } - - - if (anfangDt.Date <= donnerstagDt && donnerstagDt <= endeDt.Date) - { - if (item.VertretungsDC != null) - { - if (item.VertretungsDC.VertretungsZeitraumVon <= donnerstagDt && - item.VertretungsDC.VertretungsZeitraumBis >= donnerstagDt) - { - Dictionary Do = new Dictionary(); - Do.Add(donnerstagDt, item); - - a.Add("VertretungDo", Do); - klientb.Add("EingesetztBeiDo", Do); - - wwk.VertretungDo = item.Vertretung; - wwk.EingesetztBeiDo = item.Kunde; - - wwk.Do = WochenanzeigeHinzufügen(donnerstagDt, item.Wochentagsarbeitszeit); - } - else - { - wwk.VertretungDo = ""; - wwk.EingesetztBeiDo = ""; - } - } - else - { - Dictionary Do = new Dictionary(); - Do.Add(donnerstagDt, item); - - a.Add("VertretungDo", Do); - klientb.Add("EingesetztBeiDo", Do); - - wwk.VertretungDo = item.Vertretung; - wwk.EingesetztBeiDo = item.Kunde; - - wwk.Do = WochenanzeigeHinzufügen(donnerstagDt, item.Wochentagsarbeitszeit); - } - } - else - { - wwk.VertretungDo = " "; - wwk.EingesetztBeiDo = " "; - } - - if (anfangDt.Date <= freitagDt && freitagDt <= endeDt.Date) - { - if (item.VertretungsDC != null) - { - if (item.VertretungsDC.VertretungsZeitraumVon <= freitagDt && - item.VertretungsDC.VertretungsZeitraumBis >= freitagDt) - { - Dictionary fr = new Dictionary(); - fr.Add(freitagDt, item); - - a.Add("VertretungFr", fr); - klientb.Add("EingesetztBeiFr", fr); - - wwk.VertretungFr = item.Vertretung; - wwk.EingesetztBeiFr = item.Kunde; - - wwk.Fr = WochenanzeigeHinzufügen(freitagDt, item.Wochentagsarbeitszeit); - } - else - { - wwk.VertretungFr = ""; - wwk.EingesetztBeiFr = ""; - } - } - else - { - //###Origianl### - Dictionary fr = new Dictionary(); - fr.Add(freitagDt, item); - - a.Add("VertretungFr", fr); - klientb.Add("EingesetztBeiFr", fr); - - wwk.VertretungFr = item.Vertretung; - wwk.EingesetztBeiFr = item.Kunde; - - wwk.Fr = WochenanzeigeHinzufügen(freitagDt, item.Wochentagsarbeitszeit); - //###Original### - } - } - else - { - wwk.VertretungFr = " "; - wwk.EingesetztBeiFr = " "; - } - - if (anfangDt.Date <= samstagDt && samstagDt <= endeDt.Date) - { - if (item.VertretungsDC != null) - { - if (item.VertretungsDC.VertretungsZeitraumVon <= samstagDt && - item.VertretungsDC.VertretungsZeitraumBis >= samstagDt) - { - Dictionary sa = new Dictionary(); - sa.Add(samstagDt, item); // item.vertreteroid - - a.Add("VertretungSa", sa); - klientb.Add("EingesetztBeiSa", sa); - - wwk.VertretungSa = item.Vertretung; - wwk.EingesetztBeiSa = item.Kunde; - - wwk.Sa = WochenanzeigeHinzufügen(samstagDt, item.Wochentagsarbeitszeit); - - } - else - { - wwk.VertretungSa = ""; - wwk.EingesetztBeiSa = ""; - } - } - else - { - Dictionary sa = new Dictionary(); - sa.Add(samstagDt, item); // item.vertreteroid - - a.Add("VertretungSa", sa); - klientb.Add("EingesetztBeiSa", sa); - - wwk.VertretungSa = item.Vertretung; - wwk.EingesetztBeiSa = item.Kunde; - - wwk.Sa = WochenanzeigeHinzufügen(samstagDt, item.Wochentagsarbeitszeit); - } - } - else - { - wwk.VertretungSa = " "; - wwk.EingesetztBeiSa = " "; - } - - #endregion - + + // Montag | 0 + wwk = WochentagVerarbeitung(anfangDt, endeDt, montagDt, item, "VertretungMo", "EingesetztBeiMo",wwk,0); + + //Dienstag | 1 + wwk = WochentagVerarbeitung(anfangDt, endeDt, dienstagDt, item, "VertretungDi", "EingesetztBeiDi",wwk,1); + + //Mittwoch | 2 + wwk = WochentagVerarbeitung(anfangDt, endeDt, mittwochDt, item, "VertretungMi", "EingesetztBeiMi",wwk,2); + + //Donnerstag | 3 + wwk = WochentagVerarbeitung(anfangDt, endeDt, donnerstagDt, item, "VertretungDo", "EingesetztBeiDo",wwk,3); + + //Freitag | 4 + wwk = WochentagVerarbeitung(anfangDt, endeDt, freitagDt, item, "VertretungFr", "EingesetztBeiFr",wwk,4); + + //Samstag | 5 + wwk = WochentagVerarbeitung(anfangDt, endeDt, samstagDt, item, "VertretungSa", "EingesetztBeiSa",wwk,5); wwk.VertretungsWoche = a; @@ -590,15 +509,17 @@ namespace BeWo.SchulbegleitenderDienst } - GridDataControlMitarbeiterWochenansicht.RefreshData(); - GridDataControlMitarbeiterWochenansicht.RefreshUI(); + // GridDataControlMitarbeiterWochenansicht.RefreshData(); + // GridDataControlMitarbeiterWochenansicht.RefreshUI(); GridDataControlKlientenWochenansicht.RefreshData(); GridDataControlKlientenWochenansicht.RefreshUI(); } - //--- Behelfs Methoden - private string WochenanzeigeHinzufügen(DateTime dayOfWeekDateTime, Dictionary wochentagsarbeitszeit) + +#region BehelfsMethoden + + private string WochenanzeigeHinzufügen(DateTime dayOfWeekDateTime, Dictionary wochentagsarbeitszeit) { if (wochentagsarbeitszeit.Count != 0) { @@ -614,6 +535,167 @@ namespace BeWo.SchulbegleitenderDienst return ""; } + private Wochenansichten WochentagVerarbeitung(DateTime anfangDt, DateTime endeDt, DateTime wochentagDt, SchulbegleitenderDienst item,string vertretungstag, string einsetzungstag,Wochenansichten wwk ,int i) + { + if (anfangDt.Date <= wochentagDt && wochentagDt <= endeDt.Date) + { + if (item.VertretungsDC != null) + { + if (item.VertretungsDC.VertretungsZeitraumVon <= wochentagDt && + item.VertretungsDC.VertretungsZeitraumBis >= wochentagDt) + { + Dictionary sa = new Dictionary(); + sa.Add(wochentagDt, item); // item.vertreteroid + + a.Add(vertretungstag, sa); + klientb.Add(einsetzungstag, sa); + + switch (i) + { + case 0: + wwk.VertretungMo = item.Vertretung; + // wwk.EingesetztBeiMo = item.Kunde; + wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 1: + wwk.VertretungDi = item.Vertretung; + // wwk.EingesetztBeiDi = item.Kunde; + wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 2: + wwk.VertretungMi = item.Vertretung; + // wwk.EingesetztBeiMi = item.Kunde; + wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 3: + wwk.VertretungDo = item.Vertretung; + // wwk.EingesetztBeiDo = item.Kunde; + wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 4: + wwk.VertretungFr = item.Vertretung; + // wwk.EingesetztBeiFr = item.Kunde; + wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 5: + wwk.VertretungSa = item.Vertretung; + // wwk.EingesetztBeiSa = item.Kunde; + wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + } + + } + else + { + switch (i) + { + case 0: + wwk.VertretungMo = ""; + // wwk.EingesetztBeiMo = ""; + break; + case 1: + wwk.VertretungDi = ""; + // wwk.EingesetztBeiDi = ""; + break; + case 2: + wwk.VertretungMi = ""; + // wwk.EingesetztBeiMi = ""; + break; + case 3: + wwk.VertretungDo = ""; + //wwk.EingesetztBeiDo = ""; + break; + case 4: + wwk.VertretungFr = ""; + // wwk.EingesetztBeiFr = ""; + break; + case 5: + wwk.VertretungSa = ""; + // wwk.EingesetztBeiSa = ""; + break; + } + } + } + else + { + Dictionary sa = new Dictionary(); + sa.Add(wochentagDt, item); // item.vertreteroid + + a.Add(vertretungstag, sa); + klientb.Add(einsetzungstag, sa); + + switch (i) + { + case 0: + wwk.VertretungMo = item.Vertretung; + // wwk.EingesetztBeiMo = item.Kunde; + wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 1: + wwk.VertretungDi = item.Vertretung; + // wwk.EingesetztBeiDi = item.Kunde; + wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 2: + wwk.VertretungMi = item.Vertretung; + // wwk.EingesetztBeiMi = item.Kunde; + wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 3: + wwk.VertretungDo = item.Vertretung; + // wwk.EingesetztBeiDo = item.Kunde; + wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 4: + wwk.VertretungFr = item.Vertretung; + // wwk.EingesetztBeiFr = item.Kunde; + wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + case 5: + wwk.VertretungSa = item.Vertretung; + // wwk.EingesetztBeiSa = item.Kunde; + wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); + break; + } + } + } + else + { + switch (i) + { + case 0: + wwk.VertretungMo = " "; + // wwk.EingesetztBeiMo = " "; + break; + case 1: + wwk.VertretungDi = " "; + // wwk.EingesetztBeiDi = " "; + break; + case 2: + wwk.VertretungMi = " "; + // wwk.EingesetztBeiMi = " "; + break; + case 3: + wwk.VertretungDo = " "; + // wwk.EingesetztBeiDo = " "; + break; + case 4: + wwk.VertretungFr = " "; + // wwk.EingesetztBeiFr = " "; + break; + case 5: + wwk.VertretungSa = " "; + // wwk.EingesetztBeiSa = " "; + break; + } + + } + + return wwk; + + + } + private SchulbegleitenderDienst Vertretungsgedoense(SchulbegleitenderDienst xyc, VertretungsListeItemsDC item,int i) { if (item.Vertretung.VertretungsZeitraumVon.Date != item.Vertretung.VertretungsZeitraumBis.Date) @@ -683,6 +765,7 @@ namespace BeWo.SchulbegleitenderDienst } +#endregion #region Mitarbeiter Vertretungs Datum von - bis @@ -707,8 +790,7 @@ namespace BeWo.SchulbegleitenderDienst } #endregion - - + #region Klienten Vertretungs Datum von - bis private void KVDatepickerVon_OnEditValueChanged(object sender, EditValueChangedEventArgs e) @@ -730,8 +812,7 @@ namespace BeWo.SchulbegleitenderDienst } #endregion - - + #region Mitarbeiter Vertretung private CompactEmployeeDC currentEmployee; @@ -793,7 +874,7 @@ namespace BeWo.SchulbegleitenderDienst { bool xsf = false; - if (!popupedit_MitarbeiterVertretungSearch.Text.Equals("") && ComboBoxMitarbeiterVertretung.SelectedValue != null ) //zusätzliche abfragen hinzufügen + if (!popupedit_MitarbeiterVertretungSearch.Text.Equals("") && ComboBoxMitarbeiterVertretung.SelectedValue != null ) { if (MVCheckBox.IsChecked.Value ) @@ -802,9 +883,43 @@ namespace BeWo.SchulbegleitenderDienst } else { - if (!MVDatepicker_UhrzeitVon.Text.Equals("") && !MVDatepicker_UhrzeitBis.Text.Equals("")) - { - xsf = true; + if (!MVDatepicker_UhrzeitVon.Text.Equals("") && !MVDatepicker_UhrzeitBis.Text.Equals("")) + { + string uVon=""; + string uBis=""; + + if (MVDatepicker_UhrzeitVon.Text.Length < 5) + { + uVon = "0" + MVDatepicker_UhrzeitVon.Text; + } + else + { + uVon = MVDatepicker_UhrzeitVon.Text; + } + + if (MVDatepicker_UhrzeitBis.Text.Length < 5) + { + uBis = "0" + MVDatepicker_UhrzeitBis.Text; + } + else + { + uBis = MVDatepicker_UhrzeitBis.Text; + } + + var von = DateTime.ParseExact(uVon, "HH:mm", CultureInfo.CurrentCulture); + + var bis = DateTime.ParseExact(uBis, "HH:mm", CultureInfo.CurrentCulture); + + + if (von <= bis) + { + xsf = true; + } + else + { + MessageBox.Show("Die Startzeit muss kleiner als die Endzeit sein."); + } + } else { @@ -855,10 +970,28 @@ namespace BeWo.SchulbegleitenderDienst } else { - var xvon = MVDatepicker_UhrzeitVon.Text; + string xvon = ""; + string yvon = ""; + + if (MVDatepicker_UhrzeitVon.Text.Length < 5){ + xvon = "0" + MVDatepicker_UhrzeitVon.Text; + } + else + { + xvon = MVDatepicker_UhrzeitVon.Text; + } + + if (MVDatepicker_UhrzeitBis.Text.Length < 5) + { + yvon = "0" + MVDatepicker_UhrzeitBis.Text; + } + else + { + yvon = MVDatepicker_UhrzeitBis.Text; + } + DateTime dateTimeStart = DateTime.ParseExact(xvon, "HH:mm", CultureInfo.CurrentCulture); - - var yvon = MVDatepicker_UhrzeitBis.Text; + DateTime dateTimeEnd = DateTime.ParseExact(yvon, "HH:mm", CultureInfo.CurrentCulture); var start = new DateTime(MVDatepickerVon.DateTime.Date.Year, MVDatepickerVon.DateTime.Date.Month, MVDatepickerVon.DateTime.Date.Day, dateTimeStart.Hour, dateTimeStart.Minute, dateTimeStart.Second); @@ -879,7 +1012,6 @@ namespace BeWo.SchulbegleitenderDienst } #endregion - #region Klient Vertretung private CompactCustomerDC currentKlient; @@ -946,7 +1078,7 @@ namespace BeWo.SchulbegleitenderDienst { bool xsf = false; - if (!popupedit_KlientVertretungSearch.Text.Equals("") && ComboBoxKlientVertretung.SelectedValue != null) + if (!popupedit_KlientVertretungSearch.Text.Equals("") && ComboBoxKlientVertretung.SelectedValue != null) { if (KVCheckBox.IsChecked.Value) { @@ -954,9 +1086,42 @@ namespace BeWo.SchulbegleitenderDienst } else { - if (!KVDatepicker_UhrzeitVon.Text.Equals("") && !KVDatepicker_UhrzeitBis.Text.Equals("")) + if (!KVDatepicker_UhrzeitVon.Text.Equals("") && !KVDatepicker_UhrzeitBis.Text.Equals("")) { - xsf = true; + string uVon=""; + string uBis=""; + + if (KVDatepicker_UhrzeitVon.Text.Length < 5) + { + uVon = "0" + KVDatepicker_UhrzeitVon.Text; + } + else + { + uVon = KVDatepicker_UhrzeitVon.Text; + } + + if (KVDatepicker_UhrzeitBis.Text.Length < 5) + { + uBis = "0" + KVDatepicker_UhrzeitBis.Text; + } + else + { + uBis = KVDatepicker_UhrzeitBis.Text; + } + + var von = DateTime.ParseExact(uVon, "HH:mm", CultureInfo.CurrentCulture); + + var bis = DateTime.ParseExact(uBis, "HH:mm", CultureInfo.CurrentCulture); + + + if (von <= bis) + { + xsf = true; + } + else + { + MessageBox.Show("Die Startzeit muss kleiner als die Endzeit sein."); + } } else { @@ -1006,10 +1171,29 @@ namespace BeWo.SchulbegleitenderDienst } else { - var xvon = KVDatepicker_UhrzeitVon.Text; + string xvon = ""; + string yvon = ""; + + if (KVDatepicker_UhrzeitVon.Text.Length < 5) + { + xvon = "0" + KVDatepicker_UhrzeitVon.Text; + } + else + { + xvon = KVDatepicker_UhrzeitVon.Text; + } + + if (KVDatepicker_UhrzeitBis.Text.Length < 5) + { + yvon = "0" + KVDatepicker_UhrzeitBis.Text; + } + else + { + yvon = KVDatepicker_UhrzeitBis.Text; + } + DateTime dateTimeStart = DateTime.ParseExact(xvon, "HH:mm", CultureInfo.CurrentCulture); - var yvon = KVDatepicker_UhrzeitBis.Text; DateTime dateTimeEnd = DateTime.ParseExact(yvon, "HH:mm", CultureInfo.CurrentCulture); var start = new DateTime(KVDatepickerVon.DateTime.Date.Year, KVDatepickerVon.DateTime.Date.Month, KVDatepickerVon.DateTime.Date.Day, dateTimeStart.Hour, dateTimeStart.Minute, dateTimeStart.Second); @@ -1030,7 +1214,7 @@ namespace BeWo.SchulbegleitenderDienst #endregion - //######################### Action Event Listener ########################### + //######################### Action Event Bereich ########################### private void Datepicker_OnEditValueChanged(object sender, EditValueChangedEventArgs e) { @@ -1047,7 +1231,15 @@ namespace BeWo.SchulbegleitenderDienst DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear()); DateTime enddt = startdt.AddDays(5); - GetAllVertrungenFromWeekRange(startdt,enddt); + if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible) + { + GetAllVertrungenFromWeekRange(startdt,enddt); + } + else if (GridDataControlMitarbeiterWochenansicht.Visibility == Visibility.Visible) + { + GetAllVertretungsFreieMitarbeiter(startdt,enddt); + } + RenameColumnHeader(dt); Datelbl.Content = "KW " + dt.GetIso8601WeekOfYear() + " / " + startdt.ToString("dd.MM.yyyy") + " - " + enddt.ToString("dd.MM.yyyy"); @@ -1056,29 +1248,120 @@ namespace BeWo.SchulbegleitenderDienst } - //Fertig Bug Button anclickbar obwohl nicht sichtbar - private void KlientenWochenAnzeigeSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e) +#region Tages / Wochen Vertretungsanzeige + + #region Mitarbeiter Wochen Vertretung verarbeitung + + private void AddKlientToMitarbeiter_OnClick(object sender, RoutedEventArgs e) + { + var mitarbeiterView = (MitarbeiterWochenansicht)GridDataControlMitarbeiterWochenansicht.SelectedItem; + + CompactEmployeeDC employee = mitarbeiterView.EmployeeDc; + + if (_viewMitarbeiter == null) + { + _viewMitarbeiter = new SchulbegleitenderDienstMitarbeiterBearbeitungsView(DateTime.Now, DateTime.Now, DateTime.Now, employee.EmployeeOid); + + _viewMitarbeiter.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomMitarbeiterEvent); + _viewMitarbeiter.ShowDialog(); + } + else + { + _viewMitarbeiter.Close(); + _viewMitarbeiter = new SchulbegleitenderDienstMitarbeiterBearbeitungsView(DateTime.Now, DateTime.Now, DateTime.Now, employee.EmployeeOid); + + _viewMitarbeiter.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomMitarbeiterEvent); + _viewMitarbeiter.ShowDialog(); + } + } + + private void newWindow_RaiseCustomMitarbeiterEvent(object sender, CustomKlientEventArgs e) + { + UpdateKlientToVertretendenMitarbeiter(e.Message, e.StartDate, e.EndDate); + + _viewMitarbeiter.Close(); + } + + //Anpassen Weil nicht funktionsfähig + private void UpdateKlientToVertretendenMitarbeiter(CompactCustomerDC customer, DateTime? start, DateTime? ende) + { + var a = (MitarbeiterWochenansicht)GridDataControlMitarbeiterWochenansicht.SelectedItem; + + var tag = GridDataControlMitarbeiterWochenansicht.CurrentColumn.FieldName; + + //bereich das heute fertig gestellt wird + + //VertretungDC vert = new VertretungDC() + //{ + // CustomerOid = customer.CustomerOid, + // EmployeeOid = a.mitarbeiteroid, // ?? das muss wahrscheinlich vom kustomer ermittelt werden + // VertretungsZeitraumVon = start.Value, + // VertretungsZeitraumBis = ende.Value, + // AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid, // hmm wie wird das gehandelt ?? + // VertretenderMitarbeiterOid = a.EmployeeDc.EmployeeOid // Oid Vom Mitarbeiter + //}; + + //abfrage wegen update oder create | dazu die Verfügbare Vertretung bei Mitarbeiter wochenansicht bearbeiten + //if () + //{ + // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert)); + //} + //else + //{ + // ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert)); + //} + + + //Schabernack das keiner braucht + //foreach (var woche in a.KlientvertretungsWoche) + //{ + //if (woche.Key.Equals(tag)) + //{ + // foreach (var item in woche.Value) + // { + //VertretungDC vert = new VertretungDC(); + //if (item.Value.VertretungsDC != null) + //{ + // vert = item.Value.VertretungsDC; + // vert.EmployeeOid = item.Value.Mitarbeiteroid; + // vert.AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value; + // vert.Notice = item.Value.Beschreibung; + + // vert.VertretungsZeitraumVon = item.Key; + // vert.VertretungsZeitraumBis = item.Key; + + // vert.CustomerOid = customer.CustomerOid; + + + // ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert)); + //} + //else + //{ + // vert.EmployeeOid = item.Value.Mitarbeiteroid; + // vert.AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value; + // vert.Notice = item.Value.Beschreibung; + + // vert.VertretungsZeitraumVon = item.Key; + // vert.VertretungsZeitraumBis = item.Key; + + // vert.CustomerOid = customer.CustomerOid; + + // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert)); + //} + //} + //} + } + + #endregion + + #region Klient Wochen Vertretung verarbeiten + + private void KlientenWochenAnzeigeSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e) { - //Es gibt noch probleme -> Button anclickbar obwohl nicht sichtbar - //Rufe hier ein Neues Fenster auf das VErschiedenste Settings bearbeitet - - //Button ifo =(Button) sender; - var ifo = sender; - - - //if (CheckColumnIfFocused()) - //{ - - // MessageBox.Show("Ist fokusiert oder so."); - - //} - var a = (Wochenansichten)GridDataControlKlientenWochenansicht.SelectedItem; - var tag = GridDataControlKlientenWochenansicht.CurrentColumn.FieldName; - VertretungDC vertretung = new VertretungDC(); AbsenceTimeDC absenceTime = new AbsenceTimeDC(); foreach (var vert in a.KlientvertretungsWoche) @@ -1099,17 +1382,17 @@ namespace BeWo.SchulbegleitenderDienst //if(vertretung.EmployeeOid != 0){ if (_view == null) { - _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, Datepicker.DateTime); + _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, Datepicker.DateTime,vertretung.CustomerOid ); - _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent); + _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent); _view.ShowDialog(); } else { _view.Close(); - _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, Datepicker.DateTime); + _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, Datepicker.DateTime, vertretung.CustomerOid); - _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent); + _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent); _view.ShowDialog(); } //} @@ -1122,146 +1405,16 @@ namespace BeWo.SchulbegleitenderDienst { MessageBox.Show("Fehler"); } - } - - - //private bool CheckColumnIfFocused() - //{ - // //Check die Column if Vertretung ist Selected - // //dann true else False - - // //get Selected Column und farge ob diese sich in der Vertrtung befindet - - // foreach (var col in GridDataControlTagesansicht.Columns) - // { - // if (col.FieldName.Equals("Vertretung")) - // { - // //hier muss kram hin - - // //if () - // //{ - // // return true; - // //} - // } - // } - - // return false; - //} - - - private void TagesansichtSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e) - { - //if (istFocus) - //{ - // MessageBox.Show("Ist fokusiert oder so."); - //} - //Button i = (Button) sender; - - //if (i.Visibility == Visibility.Collapsed) - //{ - // MessageBox.Show("Ist fokusiert oder so."); - //} - - var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem; - - if (a.Mitarbeiteroid != 0) - { - - if (_view == null) - { - _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime); - - _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent); - _view.ShowDialog(); - } - else - { - _view.Close(); - _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime); - - _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent); - _view.ShowDialog(); - } - - - }else - { - MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen."); - } - - } - - private void newWindow_RaiseCustomEvent(object sender, CustomEventArgs e) + + private void KlientenWochen_RaiseCustomEvent(object sender, CustomEventArgs e) { - if (GridDataControlTagesansicht.Visibility == Visibility.Visible) - { - UpdateMitarbeiterToVertretung(e.Message,e.StartDate,e.EndDate); - } - else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible) - { - UpdateMitarbeiterToVertretungKlientenWochenansicht(e.Message,e.StartDate,e.EndDate); - } - else - { - _view.Close(); - } + UpdateMitarbeiterToVertretungKlientenWochenansicht(e.Message, e.StartDate, e.EndDate); + + _view.Close(); } - - private void newWindowKlient_RaiseCustomEvent(object sender, CustomKlientEventArgs e) - { - UpdateKlientToVertretungMitarbeiterWochenansicht(e.Message); - } - - private void UpdateMitarbeiterToVertretung(CompactEmployeeDC employee,DateTime? startDate, DateTime? endDate) - { - var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem; - - VertretungDC vert = new VertretungDC() - { - CustomerOid = a.Klientoid, - EmployeeOid = a.Mitarbeiteroid, - VertretungsZeitraumVon = startDate.Value, - VertretungsZeitraumBis = endDate.Value, - AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid, - VertretenderMitarbeiterOid = employee.EmployeeOid, - Notice = a.Beschreibung - }; - - AbsenceTimeDC abstime = new AbsenceTimeDC() - { - AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid, - Start = a.StartD, - End = a.EndD, - Reason = a.AbwesenheitsKategorie, - KrankheitsMeldung = a.KrankheitsMeldung - }; - - if (a.VertretungsDC != null) - { - vert.VertretungOid = a.VertretungsDC.VertretungOid; - ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert)); - } - else - { - ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert)); - //if (a.vertreteroid != 0) - //{ - // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert)); - //} - //else - //{ - // ServiceFacade.DoOperationsServiceSync(s => s.UpdateAbsenceTime(abstime)); - //} - } - - _view.Close(); - - GetAllVertretungenOnLoad(Datepicker.DateTime.Date); - - } - - private void UpdateMitarbeiterToVertretungKlientenWochenansicht(CompactEmployeeDC employee, DateTime? startDate, DateTime? endDate) + + private void UpdateMitarbeiterToVertretungKlientenWochenansicht(CompactEmployeeDC employee, DateTime? startDate, DateTime? endDate) { var a = (Wochenansichten) GridDataControlKlientenWochenansicht.SelectedItem; @@ -1307,14 +1460,11 @@ namespace BeWo.SchulbegleitenderDienst ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert)); } else - { - - - + { + //ggf. ermöglichen das nicht der ganze zeitraum gesetzt wird. + //zur zeit wird hier die Gesamte Krankheitszeit ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert)); } - - } _view.Close(); @@ -1324,68 +1474,100 @@ namespace BeWo.SchulbegleitenderDienst } } - //wird zurzeit nicht genutzt - private void UpdateKlientToVertretungMitarbeiterWochenansicht(CompactCustomerDC customer) + #endregion + + #region Tages Klient Vertretung verarbeiten + + private void TagesansichtSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e) + { + var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem; + + if (a.Mitarbeiteroid != 0) + { + if (_view == null) + { + _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime, a.Klientoid); + + _view.RaiseCustomEvent += new EventHandler(Tagesansicht_RaiseCustomEvent); + _view.ShowDialog(); + } + else + { + _view.Close(); + _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime, a.Klientoid); + + _view.RaiseCustomEvent += new EventHandler(Tagesansicht_RaiseCustomEvent); + _view.ShowDialog(); + } + } + else + { + MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen."); + } + } + + private void Tagesansicht_RaiseCustomEvent(object sender, CustomEventArgs e) + { + UpdateMitarbeiterToVertretung(e.Message, e.StartDate, e.EndDate); + + _view.Close(); + } + + private void UpdateMitarbeiterToVertretung(CompactEmployeeDC employee,DateTime? startDate, DateTime? endDate) { - var a = (Wochenansichten)GridDataControlMitarbeiterWochenansicht.SelectedItem; + var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem; - var tag = GridDataControlMitarbeiterWochenansicht.CurrentColumn.FieldName; - //bereich das heute fertig gestellt wird - - //VertretungDC vert = new VertretungDC() - //{ - // CustomerOid = a.klientoid, - // EmployeeOid = a.mitarbeiteroid, - // VertretungsZeitraumVon = a.startD, - // VertretungsZeitraumBis = a.endD, - // AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid, - // VertretenderMitarbeiterOid = a.vertreteroid - //}; - - foreach (var woche in a.KlientvertretungsWoche) + VertretungDC vert = new VertretungDC() { - if (woche.Key.Equals(tag)) - { - foreach (var item in woche.Value) - { - VertretungDC vert = new VertretungDC(); - if (item.Value.VertretungsDC != null) - { - vert = item.Value.VertretungsDC; - vert.EmployeeOid = item.Value.Mitarbeiteroid; - vert.AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value; - vert.Notice = item.Value.Beschreibung; + CustomerOid = a.Klientoid, + EmployeeOid = a.Mitarbeiteroid, + VertretungsZeitraumVon = startDate.Value, + VertretungsZeitraumBis = endDate.Value, + AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid, + VertretenderMitarbeiterOid = employee.EmployeeOid, + Notice = a.Beschreibung + }; + + //rausnehmen + //AbsenceTimeDC abstime = new AbsenceTimeDC() + //{ + // AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid, + // Start = a.StartD, + // End = a.EndD, + // Reason = a.AbwesenheitsKategorie, + // KrankheitsMeldung = a.KrankheitsMeldung + //}; - vert.VertretungsZeitraumVon = item.Key; - vert.VertretungsZeitraumBis = item.Key; - - vert.CustomerOid = customer.CustomerOid; - - - ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert)); - } - else - { - vert.EmployeeOid = item.Value.Mitarbeiteroid; - vert.AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value; - vert.Notice = item.Value.Beschreibung; - - vert.VertretungsZeitraumVon = item.Key; - vert.VertretungsZeitraumBis = item.Key; - - vert.CustomerOid = customer.CustomerOid; - - ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert)); - } - } - } + if (a.VertretungsDC != null) + { + vert.VertretungOid = a.VertretungsDC.VertretungOid; + ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert)); } - - //MessageBox.Show("Diese Funktion ist derzeitig nicht verfügbar"); - //zudem müssen alle anderen mitarbeiter auch in die Liste + else + { + ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert)); + //if (a.vertreteroid != 0) + //{ + // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert)); + //} + //else + //{ + // ServiceFacade.DoOperationsServiceSync(s => s.UpdateAbsenceTime(abstime)); + //} + } + + GetAllVertretungenOnLoad(Datepicker.DateTime.Date); } - private void DataViewBase_OnShowGridMenu(object sender, GridMenuEventArgs e) + #endregion + +#endregion + + + +#region Popup Menue Bereich + + private void DataViewBase_OnShowGridMenu(object sender, GridMenuEventArgs e) { if (GridDataControlTagesansicht.Visibility == Visibility.Visible) { @@ -1637,7 +1819,8 @@ namespace BeWo.SchulbegleitenderDienst } } - // Zurzeit nur für KlientenWochenansicht +#endregion + // Zurzeit nur für KlientenWochenansicht || Auch Für Mitarbeiter Wochenansicht verfügbar machen private void MitarbeiterVertretunginfoWochenanzeige_OnClick(object sender, RoutedEventArgs e) { var x = (Wochenansichten)GridDataControlKlientenWochenansicht.SelectedItem; @@ -1813,8 +1996,8 @@ namespace BeWo.SchulbegleitenderDienst GetAllVertretungenOnLoad(Datepicker.DateTime.Date); } - - //Arbeiten verrichten + + //den gegebenheiten Anpassen private void GridViewBase_OnRowUpdated(object sender, RowEventArgs e) { var a = (SchulbegleitenderDienst) GridDataControlTagesansicht.SelectedItem; @@ -1838,6 +2021,7 @@ namespace BeWo.SchulbegleitenderDienst Notice = a.Beschreibung }; + //?? villeicht nur Vertretungszeitraum wenn Mitarbeiter ist geadded //if (a.Vertreteroid != 0) //{ vert.VertretungsZeitraumVon = a.StartD; @@ -1872,11 +2056,11 @@ namespace BeWo.SchulbegleitenderDienst private void ButtonWorkWeekView_Click(object sender, RoutedEventArgs e) { - if (GridDataControlKlientenWochenansicht.Visibility != Visibility.Visible && - GridDataControlMitarbeiterWochenansicht.Visibility != Visibility.Visible) - { - KwWochenAnzeigen(); - } + //if (GridDataControlKlientenWochenansicht.Visibility != Visibility.Visible && + // GridDataControlMitarbeiterWochenansicht.Visibility != Visibility.Visible) + //{ + // KwWochenAnzeigen(); + //} if (GridDataControlTagesansicht.Visibility == Visibility.Visible) { @@ -1884,14 +2068,20 @@ namespace BeWo.SchulbegleitenderDienst GridDataControlKlientenWochenansicht.Visibility = Visibility.Visible; }else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible) - { + { GridDataControlKlientenWochenansicht.Visibility = Visibility.Collapsed; GridDataControlMitarbeiterWochenansicht.Visibility = Visibility.Visible; + + KwWochenAnzeigen(); + }else if (GridDataControlMitarbeiterWochenansicht.Visibility == Visibility.Visible) { GridDataControlMitarbeiterWochenansicht.Visibility = Visibility.Collapsed; GridDataControlKlientenWochenansicht.Visibility = Visibility.Visible; + + KwWochenAnzeigen(); + } } @@ -1904,8 +2094,16 @@ namespace BeWo.SchulbegleitenderDienst DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear()); DateTime enddt = startdt.AddDays(5); - GetAllVertrungenFromWeekRange(startdt,enddt); + if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible) + { + GetAllVertrungenFromWeekRange(startdt,enddt); + } + else if (GridDataControlMitarbeiterWochenansicht.Visibility == Visibility.Visible) + { + GetAllVertretungsFreieMitarbeiter(startdt, enddt); + } + Datelbl.Content = "KW " + dt.GetIso8601WeekOfYear() + " / " + startdt.ToString("dd.MM.yyyy") + " - " + enddt.ToString("dd.MM.yyyy"); } @@ -1941,6 +2139,11 @@ namespace BeWo.SchulbegleitenderDienst GetAllVertrungenFromWeekRange(x,x.AddDays(5)); } + else if (GridDataControlMitarbeiterWochenansicht.Visibility == Visibility.Visible) + { + var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear()); + GetAllVertretungsFreieMitarbeiter(x, x.AddDays(5)); + } } private void PfeilLinksDatumRunter_OnClick(object sender, RoutedEventArgs e) @@ -2089,14 +2292,6 @@ namespace BeWo.SchulbegleitenderDienst public string VertretungFr { get; set; } public string VertretungSa { get; set; } - //Fürs WPF Employee Wochenanzeige - public string EingesetztBeiMo { get; set; } - public string EingesetztBeiDi { get; set; } - public string EingesetztBeiMi { get; set; } - public string EingesetztBeiDo { get; set; } - public string EingesetztBeiFr { get; set; } - public string EingesetztBeiSa { get; set; } - public string Mo { get; set; } public string Di { get; set; } public string Mi { get; set; } @@ -2106,6 +2301,14 @@ namespace BeWo.SchulbegleitenderDienst public string So { get; set; } + //Fürs WPF Employee Wochenanzeige + public string EingesetztBeiMo { get; set; } + public string EingesetztBeiDi { get; set; } + public string EingesetztBeiMi { get; set; } + public string EingesetztBeiDo { get; set; } + public string EingesetztBeiFr { get; set; } + public string EingesetztBeiSa { get; set; } + //KlientenView public Dictionary> VertretungsWoche { get; set; } @@ -2114,5 +2317,28 @@ namespace BeWo.SchulbegleitenderDienst } + //weg damit + public class MitarbeiterWochenansicht + { + public string Employee { get; set; } + + public CompactEmployeeDC EmployeeDc { get; set; } + + //Fürs WPF Employee Wochenanzeige + public string EingesetztBeiMo { get; set; } + public string EingesetztBeiDi { get; set; } + public string EingesetztBeiMi { get; set; } + public string EingesetztBeiDo { get; set; } + public string EingesetztBeiFr { get; set; } + public string EingesetztBeiSa { get; set; } + + public string Mo { get; set; } + public string Di { get; set; } + public string Mi { get; set; } + public string Do { get; set; } + public string Fr { get; set; } + public string Sa { get; set; } + public string So { get; set; } + } #endregion } diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml index df7d51738..050bcd486 100644 --- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml +++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml @@ -6,7 +6,7 @@ xmlns:search="clr-namespace:BeWo.View.Search" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" - Title="Vertretung auswählen" Height="600" Width="600" WindowStartupLocation="CenterScreen" + Title="Vertretung auswählen" Height="650" Width="750" WindowStartupLocation="CenterScreen" ResizeMode="CanResizeWithGrip" WindowStyle="None" Background="Transparent"> @@ -18,54 +18,175 @@ - - - - - + + + + + - + + - + - - - + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -107,7 +228,7 @@ @@ -136,8 +257,14 @@ - - + + + + + + + + @@ -147,12 +274,12 @@ - + - +