diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index 8c0767f50..a8881026e 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 @@ -546,6 +552,9 @@ ProxyLoginView.xaml + + SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml + KrankheitsZeitraumView.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 9e3a59314..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,152 @@ 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; @@ -337,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) { @@ -380,32 +554,32 @@ namespace BeWo.SchulbegleitenderDienst { case 0: wwk.VertretungMo = item.Vertretung; - wwk.EingesetztBeiMo = item.Kunde; + // wwk.EingesetztBeiMo = item.Kunde; wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; case 1: wwk.VertretungDi = item.Vertretung; - wwk.EingesetztBeiDi = item.Kunde; + // wwk.EingesetztBeiDi = item.Kunde; wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; case 2: wwk.VertretungMi = item.Vertretung; - wwk.EingesetztBeiMi = item.Kunde; + // wwk.EingesetztBeiMi = item.Kunde; wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; case 3: wwk.VertretungDo = item.Vertretung; - wwk.EingesetztBeiDo = item.Kunde; + // wwk.EingesetztBeiDo = item.Kunde; wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; case 4: wwk.VertretungFr = item.Vertretung; - wwk.EingesetztBeiFr = item.Kunde; + // wwk.EingesetztBeiFr = item.Kunde; wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; case 5: wwk.VertretungSa = item.Vertretung; - wwk.EingesetztBeiSa = item.Kunde; + // wwk.EingesetztBeiSa = item.Kunde; wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; } @@ -417,27 +591,27 @@ namespace BeWo.SchulbegleitenderDienst { case 0: wwk.VertretungMo = ""; - wwk.EingesetztBeiMo = ""; + // wwk.EingesetztBeiMo = ""; break; case 1: wwk.VertretungDi = ""; - wwk.EingesetztBeiDi = ""; + // wwk.EingesetztBeiDi = ""; break; case 2: wwk.VertretungMi = ""; - wwk.EingesetztBeiMi = ""; + // wwk.EingesetztBeiMi = ""; break; case 3: wwk.VertretungDo = ""; - wwk.EingesetztBeiDo = ""; + //wwk.EingesetztBeiDo = ""; break; case 4: wwk.VertretungFr = ""; - wwk.EingesetztBeiFr = ""; + // wwk.EingesetztBeiFr = ""; break; case 5: wwk.VertretungSa = ""; - wwk.EingesetztBeiSa = ""; + // wwk.EingesetztBeiSa = ""; break; } } @@ -454,32 +628,32 @@ namespace BeWo.SchulbegleitenderDienst { case 0: wwk.VertretungMo = item.Vertretung; - wwk.EingesetztBeiMo = item.Kunde; + // wwk.EingesetztBeiMo = item.Kunde; wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; case 1: wwk.VertretungDi = item.Vertretung; - wwk.EingesetztBeiDi = item.Kunde; + // wwk.EingesetztBeiDi = item.Kunde; wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; case 2: wwk.VertretungMi = item.Vertretung; - wwk.EingesetztBeiMi = item.Kunde; + // wwk.EingesetztBeiMi = item.Kunde; wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; case 3: wwk.VertretungDo = item.Vertretung; - wwk.EingesetztBeiDo = item.Kunde; + // wwk.EingesetztBeiDo = item.Kunde; wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; case 4: wwk.VertretungFr = item.Vertretung; - wwk.EingesetztBeiFr = item.Kunde; + // wwk.EingesetztBeiFr = item.Kunde; wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; case 5: wwk.VertretungSa = item.Vertretung; - wwk.EingesetztBeiSa = item.Kunde; + // wwk.EingesetztBeiSa = item.Kunde; wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit); break; } @@ -491,27 +665,27 @@ namespace BeWo.SchulbegleitenderDienst { case 0: wwk.VertretungMo = " "; - wwk.EingesetztBeiMo = " "; + // wwk.EingesetztBeiMo = " "; break; case 1: wwk.VertretungDi = " "; - wwk.EingesetztBeiDi = " "; + // wwk.EingesetztBeiDi = " "; break; case 2: wwk.VertretungMi = " "; - wwk.EingesetztBeiMi = " "; + // wwk.EingesetztBeiMi = " "; break; case 3: wwk.VertretungDo = " "; - wwk.EingesetztBeiDo = " "; + // wwk.EingesetztBeiDo = " "; break; case 4: wwk.VertretungFr = " "; - wwk.EingesetztBeiFr = " "; + // wwk.EingesetztBeiFr = " "; break; case 5: wwk.VertretungSa = " "; - wwk.EingesetztBeiSa = " "; + // wwk.EingesetztBeiSa = " "; break; } @@ -520,9 +694,7 @@ namespace BeWo.SchulbegleitenderDienst return wwk; - } - - + } private SchulbegleitenderDienst Vertretungsgedoense(SchulbegleitenderDienst xyc, VertretungsListeItemsDC item,int i) { @@ -593,6 +765,7 @@ namespace BeWo.SchulbegleitenderDienst } +#endregion #region Mitarbeiter Vertretungs Datum von - bis @@ -617,8 +790,7 @@ namespace BeWo.SchulbegleitenderDienst } #endregion - - + #region Klienten Vertretungs Datum von - bis private void KVDatepickerVon_OnEditValueChanged(object sender, EditValueChangedEventArgs e) @@ -640,8 +812,7 @@ namespace BeWo.SchulbegleitenderDienst } #endregion - - + #region Mitarbeiter Vertretung private CompactEmployeeDC currentEmployee; @@ -841,7 +1012,6 @@ namespace BeWo.SchulbegleitenderDienst } #endregion - #region Klient Vertretung private CompactCustomerDC currentKlient; @@ -1044,7 +1214,7 @@ namespace BeWo.SchulbegleitenderDienst #endregion - //######################### Action Event Listener ########################### + //######################### Action Event Bereich ########################### private void Datepicker_OnEditValueChanged(object sender, EditValueChangedEventArgs e) { @@ -1061,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"); @@ -1070,29 +1248,120 @@ namespace BeWo.SchulbegleitenderDienst } - //Fertig Bug Button anclickbar obwohl nicht sichtbar - 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."); - - //} +#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) + { var a = (Wochenansichten)GridDataControlKlientenWochenansicht.SelectedItem; - var tag = GridDataControlKlientenWochenansicht.CurrentColumn.FieldName; - VertretungDC vertretung = new VertretungDC(); AbsenceTimeDC absenceTime = new AbsenceTimeDC(); foreach (var vert in a.KlientvertretungsWoche) @@ -1115,7 +1384,7 @@ namespace BeWo.SchulbegleitenderDienst { _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 @@ -1123,7 +1392,7 @@ namespace BeWo.SchulbegleitenderDienst _view.Close(); _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(); } //} @@ -1136,145 +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,a.Klientoid); - - _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent); - _view.ShowDialog(); - } - else - { - _view.Close(); - _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime, a.Klientoid); - - _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; @@ -1320,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(); @@ -1337,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) { @@ -1650,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; @@ -1886,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) { @@ -1898,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(); + } } @@ -1918,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"); } @@ -1955,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) @@ -2103,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; } @@ -2120,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; } @@ -2128,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 4ff059503..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="650" Width="700" WindowStartupLocation="CenterScreen" + Title="Vertretung auswählen" Height="650" Width="750" WindowStartupLocation="CenterScreen" ResizeMode="CanResizeWithGrip" WindowStyle="None" Background="Transparent"> @@ -146,49 +146,47 @@ - - + + + + + + - + - - - - - - - - - + - + - - + + + + + + + - - + + - - - - + - + diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs index 84d4219d2..cd5d5f5b1 100644 --- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs +++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs @@ -39,6 +39,7 @@ using DevExpress.XtraPrinting.Native; using DevExpress.XtraPrinting.XamlExport; using Microsoft.Office.Interop.Word; using Color = System.Drawing.Color; +using KeyEventArgs = System.Windows.Input.KeyEventArgs; using MessageBox = System.Windows.MessageBox; using TextBox = System.Windows.Controls.TextBox; @@ -49,8 +50,6 @@ namespace BeWo.SchulbegleitenderDienst public event EventHandler RaiseCustomEvent; - public event EventHandler RaiseKlientCustomEvent; - private DateTime? _startDate; private DateTime? _endDate; @@ -71,7 +70,7 @@ namespace BeWo.SchulbegleitenderDienst - public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate, long? klientOid) // oid muss mitgegeben werden + public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate, long? klientOid) // Klient oid muss mitgegeben werden { InitializeComponent(); @@ -97,7 +96,6 @@ namespace BeWo.SchulbegleitenderDienst OrdenerieThings(); - if (y == 1) { //y == 1 Mitarbeiterauswahl @@ -110,14 +108,7 @@ namespace BeWo.SchulbegleitenderDienst } //setze Ort und olz des Klienten zur ansicht - SetKlientOrtAndPlz(); - - - //################ UmkreisErmittler prototyp status ################ - //List woaa = new List { "5 km", "10 km", "15 km", "20 km", "25 km" }; - // ComboBoxUmkreisExtender.ItemsSource = woaa; - //################################################## - + SetKlientOrtAndPlz(); } @@ -144,21 +135,13 @@ namespace BeWo.SchulbegleitenderDienst } private void SetKlientOrtAndPlz() - { - //Übergebe hier die Plz und den Ort des Klienten zur ansicht - List x = new List(); - x.Add(_klientOid.Value); - - // neue funktion schreiben um die person hinter customer mit customer oid zu holen - var klient = ServiceFacade.DoCustomerServiceSync(r => r.GetCustomersById(x)); - - //Platzhalter Daten - LabelPlzKlient.Content = "53842"; // Übergebe hier die Plz des klienten - LabelOrtKlient.Content = "Troisdorf"; // Übergebe hier den Ort des klienten - - - - + { + var pKlient = ServiceFacade.DoCustomerServiceSync(r => r.GetPersonWithCustomerOid(_klientOid.Value)); + + if(pKlient != null){ + LabelPlzKlient.Content = pKlient.PostalCode; + LabelOrtKlient.Content = pKlient.Town; + } } #region MitarbeiterSearch @@ -196,13 +179,7 @@ namespace BeWo.SchulbegleitenderDienst private void OrdenerieThings() { _dataListEmployee.Clear(); - //popup_MitarbeiterVertretung.IsOpen = false; - //MitarbeiterVertretungsearchview.ItemSelected -= MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected; - - //currentEmployee = e.Data; - //popupedit_MitarbeiterVertretungSearch.Text = currentEmployee.FirstName + " " + currentEmployee.LastName; - - //hole alle mit Service Raus + //var employeeList = ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllActiveVertreterEmployeesCompact(), employeeList => this.Dispatch( delegate @@ -363,71 +340,71 @@ namespace BeWo.SchulbegleitenderDienst } } - //####################################################################### + //#################### Nicht mehr gebrauchter code ################################################### //######################## Postalcode Range Extender - public void ErmittlePlzBereich(string plz, int umkreis) - { - decimal postleitzahl = Convert.ToDecimal(plz); + //public void ErmittlePlzBereich(string plz, int umkreis) + //{ + // decimal postleitzahl = Convert.ToDecimal(plz); - if (umkreis == 0) - { - //Zeige in der liste alle an die genau diese postleitzahl mit den ersten 3 Stellen haben. //villeicht auch ersten 4 mal sehen - MessageBox.Show("Zeige alle Personen mit gleicher plz an"); - } - else - { - MessageBox.Show("Hier kommt nacher eine Berechnung des Umkreises hin"); + // if (umkreis == 0) + // { + // //Zeige in der liste alle an die genau diese postleitzahl mit den ersten 3 Stellen haben. //villeicht auch ersten 4 mal sehen + // MessageBox.Show("Zeige alle Personen mit gleicher plz an"); + // } + // else + // { + // MessageBox.Show("Hier kommt nacher eine Berechnung des Umkreises hin"); - #region Plzklient mit erweiterter umkreis auswahl - //PlzKlient mit erweiterter umkreis auswahl. + // #region Plzklient mit erweiterter umkreis auswahl + // //PlzKlient mit erweiterter umkreis auswahl. - //const Erdradius = 6371000; Konstante in metern - // + // //const Erdradius = 6371000; Konstante in metern + // // - //// Umwandlung der Kugel-Koordinaten ins kathesische Koordinatensystem: - //// Umrechnung ins Bogenmaß - //lambda := geoLaenge * PI / 180; - //phi := geoBreite * PI / 180; + // //// Umwandlung der Kugel-Koordinaten ins kathesische Koordinatensystem: + // //// Umrechnung ins Bogenmaß + // //lambda := geoLaenge * PI / 180; + // //phi := geoBreite * PI / 180; - //geoKoordX := Round(Erdradius * cos(phi) * cos(lambda)); - //geoKoordY := Round(Erdradius * cos(phi) * sin(lambda)); - //geoKoordZ := Round(Erdradius * sin(phi)); + // //geoKoordX := Round(Erdradius * cos(phi) * cos(lambda)); + // //geoKoordY := Round(Erdradius * cos(phi) * sin(lambda)); + // //geoKoordZ := Round(Erdradius * sin(phi)); - // Umrechnung von Meter in Kilometer - // Bei der Berechnung in Metern werden die Zahlen zu groß, - // die Berechnung mit Floats ist allerdings kein Problem... + // // Umrechnung von Meter in Kilometer + // // Bei der Berechnung in Metern werden die Zahlen zu groß, + // // die Berechnung mit Floats ist allerdings kein Problem... - //rd := mysql_fetch_row(re); - //x1 := geoKoordX / 1000; - //y1 := geoKoordY / 1000; - //z1 := geoKoordZ / 1000; - //x2 := geoKoordX2 / 1000; - //y2 := geoKoordY2 / 1000; - //z2 := geoKoordZ2 / 1000; + // //rd := mysql_fetch_row(re); + // //x1 := geoKoordX / 1000; + // //y1 := geoKoordY / 1000; + // //z1 := geoKoordZ / 1000; + // //x2 := geoKoordX2 / 1000; + // //y2 := geoKoordY2 / 1000; + // //z2 := geoKoordZ2 / 1000; - //Entfernung := Round( - // 2 * ErdradiusKm * - // arcsin( - // sqrt( - // sqr(x1 - x2) - // + sqr(y1 - y2) - // + sqr(z1 - z2) - // ) / (2 * ErdradiusKm) - // ) - // * 1000 - // ); - #endregion - } + // //Entfernung := Round( + // // 2 * ErdradiusKm * + // // arcsin( + // // sqrt( + // // sqr(x1 - x2) + // // + sqr(y1 - y2) + // // + sqr(z1 - z2) + // // ) / (2 * ErdradiusKm) + // // ) + // // * 1000 + // // ); + // #endregion + // } - } + //} //######################################################################## - private void PlzKlient_OnTextChanged(object sender, TextChangedEventArgs e) + private void PlzKlient_OnTextChanged(object sender, EditValueChangedEventArgs e) { bool ruecksetzpunkt = false; @@ -452,7 +429,7 @@ namespace BeWo.SchulbegleitenderDienst if (ruecksetzpunkt) { GridDataControlMitarbeiterVertretungsearchview.ItemsSource = alleMitarbeiterDaten; - //aktuelleDaten = alleMitarbeiterDaten; + //aktuelleDaten = alleMitarbeiterDaten; // sollte sich so verhalten wie bei geschlecht } else { @@ -463,75 +440,23 @@ namespace BeWo.SchulbegleitenderDienst GridDataControlMitarbeiterVertretungsearchview.RefreshData(); GridDataControlMitarbeiterVertretungsearchview.RefreshUI(); - - #region PLZRadiusAlgorythmusplanung - - // PlzKlien // AutoCompleteMode.Suggest; - - //testbereiche - //foreach (var item in aktuelleDaten) - //{ - // if (!item.Geschlecht.Equals("Weiblich") && isOtherActive == false) - // { - // newItems.Add(item); - // } - // else if (isOtherActive) - // { - // newItems.Add(item); - // } - //} - - - - //AutoCompleteStringCollection collection = new AutoCompleteStringCollection(); - - ////Bereich der tipp anzeige für die Plz - //foreach (var item in _dataListEmployee) - //{ - // if(item.Adress != null){ - // string[] adressString = item.Adress.Split(' '); - - // var adress = adressString[1]; - - // //if(adressString.Length == 3){ - // if (adress.Contains(PlzKlient.Text)) - // { - // collection.Add(adress); - // } - // // } - // } - - //} - - // BEreich zur anzeige der Combobox - //if (PlzKlient.Text.Length == 5) - //{ - // LabelUmkreis.Visibility = Visibility.Visible; - // ComboBoxUmkreisExtender.Visibility = Visibility.Visible; - //} - //else - //{ - // LabelUmkreis.Visibility = Visibility.Collapsed; - // ComboBoxUmkreisExtender.Visibility = Visibility.Collapsed; - //} - #endregion } - private void ComboBoxUmkreisExtender_OnSelected(object sender, RoutedEventArgs e) - { - var item = sender as NullItemComboBox; + //private void ComboBoxUmkreisExtender_OnSelected(object sender, RoutedEventArgs e) + //{ + // var item = sender as NullItemComboBox; - int umkreis = 0; + // int umkreis = 0; - if (item != null && item.SelectedItem != null) - { - string[] ahh = item.SelectedItem.ToString().Split(' '); + // if (item != null && item.SelectedItem != null) + // { + // string[] ahh = item.SelectedItem.ToString().Split(' '); - umkreis = Convert.ToInt32(ahh[0]); - } + // umkreis = Convert.ToInt32(ahh[0]); + // } - ErmittlePlzBereich(PlzKlient.Text, umkreis); - } + // ErmittlePlzBereich(PlzKlient.Text, umkreis); + //} //private void Selector_OnSelected(object sender, RoutedEventArgs e) //{ @@ -688,7 +613,7 @@ namespace BeWo.SchulbegleitenderDienst //hole die liste aller Employee2Token var x = ServiceFacade.DoOperationsServiceSync(r => r.GetEmployee2TokenList()); // hier ggf. Async aufruf - //bool isAusschluss = false; // erstmal rausnehmen + //bool isAusschluss = false; // zu test zwecke erstmal rausnehmen und später wieder rein foreach (var daten in alleMitarbeiterDaten) { @@ -772,7 +697,6 @@ namespace BeWo.SchulbegleitenderDienst } - private void GeschlechtsUmwandlung(int i, bool isOtherActive) { List newItems = new List(); @@ -834,10 +758,8 @@ namespace BeWo.SchulbegleitenderDienst GridDataControlMitarbeiterVertretungsearchview.RefreshUI(); } - private void OrtKlient_OnTextChanged(object sender, TextChangedEventArgs e) { - //das Gleiche wie bei PLz umkreis suche nur mit Ort bool ruecksetzpunkt = false; List ndaten = new List(); @@ -873,6 +795,7 @@ namespace BeWo.SchulbegleitenderDienst GridDataControlMitarbeiterVertretungsearchview.RefreshData(); GridDataControlMitarbeiterVertretungsearchview.RefreshUI(); } + } public class CustomEventArgs : EventArgs @@ -905,35 +828,7 @@ namespace BeWo.SchulbegleitenderDienst } - public class CustomKlientEventArgs : EventArgs - { - private CompactCustomerDC dc; - private DateTime? startdt; - private DateTime? enddt; - - public CustomKlientEventArgs(CompactCustomerDC s, DateTime? start, DateTime? ende) - { - dc = s; - startdt = start; - enddt = ende; - } - - public CompactCustomerDC Message - { - get { return dc; } - } - - public DateTime? StartDate - { - get { return startdt; } - } - - public DateTime? EndDate - { - get { return enddt; } - } - - } + public class SearchViewDaten { diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml new file mode 100644 index 000000000..d48c23105 --- /dev/null +++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml @@ -0,0 +1,297 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +