From c4cc1cf5ecc34483db1eea11a1e05dbd2c2583f6 Mon Sep 17 00:00:00 2001 From: Waldi Date: Wed, 28 Jun 2017 09:05:53 +0200 Subject: [PATCH 1/4] token --- .../OperationsServiceImp.cs | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) diff --git a/Service/ServiceImplementations/OperationsServiceImp.cs b/Service/ServiceImplementations/OperationsServiceImp.cs index 5a5789287..7c1f7ebba 100644 --- a/Service/ServiceImplementations/OperationsServiceImp.cs +++ b/Service/ServiceImplementations/OperationsServiceImp.cs @@ -3721,6 +3721,169 @@ namespace BeWo.Service.ServiceImplementations } + //Token Bereich für Kriterien + public List GetAllTokens(SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp) + { + try + { + var token = DAOFactory.GenericDAO.GetAllActive(); + + IList fToken = new List(); + + if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Klient) + { + var x = GetCustomer2TokenList(); + + foreach (var item in token) + { + foreach (var c2t in x) + { + if (item.Oid == c2t.Token.TokenOid) + { + fToken.Add(item); + } + } + } + } + else if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter) + { + var x = GetEmployee2TokenList(); + + foreach (var item in token) + { + foreach (var c2t in x) + { + if (item.Oid == c2t.Token.TokenOid) + { + fToken.Add(item); + } + } + } + } + + return MapperFactory.TokenDC_Token.MapToNewDCs(fToken); + } + catch (Exception e) + { + throw Utils.CreateBeWoFaultException(e); + } + } + + + public void UpdateToken(TokenDC token) + { + try + { + var t = MapperFactory.TokenDC_Token.MapToNewEntity(token); + + DAOFactory.GenericDAO.Update(t); + } + catch (Exception e) + { + throw Utils.CreateBeWoFaultException(e); + } + } + + public void InsertNewToken(string beschreibung, TokenTyp typ, SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, long? oid) + { + try + { + TokenDC token = new TokenDC() + { + Beschreibung = beschreibung, + TokenTyp = typ + }; + + if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Klient) + { + var x = DAOFactory.GenericDAO.GetByID(oid.Value); + + var xyz = MapperFactory.CustomerDC_Customer.MapToNewDC(x); + + CustomerTokenRelationDC c2t = new CustomerTokenRelationDC() + { + Customer = xyz + }; + + List c2tList = new List(); + c2tList.Add(c2t); + + token.RelatedCustomers = c2tList; + + } + else if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter) + { + var x = DAOFactory.GenericDAO.GetByID(oid.Value); + + var xyz = MapperFactory.EmployeeDC_Employee.MapToNewDC(x); + + EmployeeTokenRelationDC e2t = new EmployeeTokenRelationDC() + { + Employee = xyz + }; + + List e2tList = new List(); + e2tList.Add(e2t); + + token.RelatedEmployees = e2tList; + } + + var t = MapperFactory.TokenDC_Token.MapToNewEntity(token); + + DAOFactory.GenericDAO.Insert(t); + } + catch (Exception e) + { + throw Utils.CreateBeWoFaultException(e); + } + } + + public void DeleteToken(TokenDC token) + { + try + { + var t = MapperFactory.TokenDC_Token.MapToNewEntity(token); + + DAOFactory.GenericDAO.Delete(t); + } + catch (Exception e) + { + throw Utils.CreateBeWoFaultException(e); + } + } + + public List GetCustomer2TokenList() + { + try + { + var x = DAOFactory.GenericDAO.GetAllActive(); + + var y = MapperFactory.CustomerTokenRelationDC_Customer2Token.MapToNewDCs(x); + + return y; + } + catch (Exception e) + { + throw Utils.CreateBeWoFaultException(e); + } + } + + public List GetEmployee2TokenList() + { + try + { + var x = DAOFactory.GenericDAO.GetAllActive(); + + var y = MapperFactory.EmployeeTokenRelationDC_Employee2Token.MapToNewDCs(x); + + return y; + } + catch (Exception e) + { + throw Utils.CreateBeWoFaultException(e); + } + } + //################################################################# From e0b28c6fa32f5a1e397682387c5cef785c919bff Mon Sep 17 00:00:00 2001 From: Waldi Date: Fri, 30 Jun 2017 13:33:49 +0200 Subject: [PATCH 2/4] Schulbegleitende dienste --- BeWo/BeWo.csproj | 9 +- .../NewSchulbegleitenderDienstView.xaml.cs | 16 +- ...hulbegleitenderDienstBearbeitungsView.xaml | 144 ++++- ...begleitenderDienstBearbeitungsView.xaml.cs | 528 +++++++++++++++++- BeWo/ServiceProxy/Generated.cs | 74 +++ BeWo/View/Detail/CustomerView.xaml.cs | 2 +- BeWo/View/Detail/EmployeeView.xaml | 2 + BeWo/View/Detail/EmployeeView.xaml.cs | 8 + BeWo/View/SchulbegleitenderDienst.xaml | 107 ++++ BeWo/View/SchulbegleitenderDienst.xaml.cs | 254 +++++++++ .../View/SchulbegleitenderDienstCustomer.xaml | 59 -- .../SchulbegleitenderDienstCustomer.xaml.cs | 123 ---- BeWo/ViewModel/CustomerTokenRelationVM.cs | 106 ++++ BeWo/ViewModel/EmployeeTokenRelationVM.cs | 108 ++++ BeWo/ViewModel/TokenVM.cs | 47 ++ Data/Data.csproj | 8 + Data/Entities/Customer.cs | 4 +- Data/Entities/Customer2Token.cs | 53 ++ Data/Entities/Employee2Token.cs | 56 ++ Data/Entities/Token.cs | 108 ++++ Data/Entities/Vertretung.cs | 5 + Data/Mappings/Customer2Token.hbm.xml | 22 + Data/Mappings/Employee2Token.hbm.xml | 22 + Data/Mappings/Token.hbm.xml | 32 ++ Model/Changes_2017_06_22.txt | 58 ++ ReportImp/AdikKleve/AdikKleve.csproj | 1 + .../BeWoMobilReports/BeWoMobilReports.csproj | 1 + .../BetreuungsbueroBaak.csproj | 1 + .../CaritasLeverkusen.csproj | 1 + ReportImp/Club74/Club74.csproj | 1 + .../FlingernMobilReports.csproj | 1 + ReportImp/KetteReports/KetteReports.csproj | 1 + .../ProfEggersStiftung.csproj | 1 + ReportImp/SeWo/SeWo.csproj | 1 + .../DCEntityMapper/CompactTokenDC_Token.cs | 34 ++ ...ctVertreterEmployeeDC_VertreterEmployee.cs | 6 +- Service/DCEntityMapper/CustomerDC_Customer.cs | 4 +- .../CustomerTokenRelationDC_Customer2Token.cs | 48 ++ .../EmployeeTokenRelationDC_Employee2Token.cs | 51 ++ Service/DCEntityMapper/MapperFactory.cs | 42 ++ Service/DCEntityMapper/TokenDC_Token.cs | 53 ++ .../SBD/Vertretung/VertretungsAlgorithmus.cs | 27 +- Service/Service.csproj | 4 + Service/ServiceContracts/ICustomerService.cs | 4 + Service/ServiceContracts/IEmployeeService.cs | 4 + .../ServiceContracts/IOperationsService.cs | 23 + .../CustomerServiceImp.cs | 15 + .../EmployeeServiceImp.cs | 16 + .../OperationsServiceImp.cs | 21 +- Shared/BeWoEntityEnums.cs | 18 +- Shared/Core/EnumTranslations.cs | 33 +- .../DataContracts/Compact/CompactTokenDC.cs | 31 + .../Compact/CompactVertreterEmployeeDC.cs | 11 +- .../DataContracts/CustomerTokenRelationDC.cs | 27 + .../DataContracts/EmployeeTokenRelationDC.cs | 27 + Shared/DataContracts/TokenDC.cs | 32 ++ Shared/Shared.csproj | 4 + 57 files changed, 2258 insertions(+), 241 deletions(-) create mode 100644 BeWo/View/SchulbegleitenderDienst.xaml create mode 100644 BeWo/View/SchulbegleitenderDienst.xaml.cs delete mode 100644 BeWo/View/SchulbegleitenderDienstCustomer.xaml delete mode 100644 BeWo/View/SchulbegleitenderDienstCustomer.xaml.cs create mode 100644 BeWo/ViewModel/CustomerTokenRelationVM.cs create mode 100644 BeWo/ViewModel/EmployeeTokenRelationVM.cs create mode 100644 BeWo/ViewModel/TokenVM.cs create mode 100644 Data/Entities/Customer2Token.cs create mode 100644 Data/Entities/Employee2Token.cs create mode 100644 Data/Entities/Token.cs create mode 100644 Data/Mappings/Customer2Token.hbm.xml create mode 100644 Data/Mappings/Employee2Token.hbm.xml create mode 100644 Data/Mappings/Token.hbm.xml create mode 100644 Model/Changes_2017_06_22.txt create mode 100644 Service/DCEntityMapper/CompactTokenDC_Token.cs create mode 100644 Service/DCEntityMapper/CustomerTokenRelationDC_Customer2Token.cs create mode 100644 Service/DCEntityMapper/EmployeeTokenRelationDC_Employee2Token.cs create mode 100644 Service/DCEntityMapper/TokenDC_Token.cs create mode 100644 Shared/DataContracts/Compact/CompactTokenDC.cs create mode 100644 Shared/DataContracts/CustomerTokenRelationDC.cs create mode 100644 Shared/DataContracts/EmployeeTokenRelationDC.cs create mode 100644 Shared/DataContracts/TokenDC.cs diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index 99f7325f3..9b363ba8f 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -444,7 +444,7 @@ MSBuild:Compile Designer - + MSBuild:Compile Designer @@ -640,6 +640,9 @@ + + + @@ -848,8 +851,8 @@ EmployeeArbeitszeitView.xaml - - SchulbegleitenderDienstCustomer.xaml + + SchulbegleitenderDienst.xaml SchulbegleitenderDienstMasterView.xaml diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs index e242d8649..772a8623c 100644 --- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs +++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs @@ -1063,7 +1063,7 @@ namespace BeWo.SchulbegleitenderDienst //Rufe hier ein Neues Fenster auf das VErschiedenste Settings bearbeitet //Button ifo =(Button) sender; - var ifo = sender; + //var ifo = sender; //if (CheckColumnIfFocused()) @@ -1099,7 +1099,7 @@ 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.ShowDialog(); @@ -1107,7 +1107,7 @@ namespace BeWo.SchulbegleitenderDienst 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.ShowDialog(); @@ -1170,7 +1170,7 @@ namespace BeWo.SchulbegleitenderDienst if (_view == null) { - _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime); + _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime,a.Klientoid); _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent); _view.ShowDialog(); @@ -1178,7 +1178,7 @@ namespace BeWo.SchulbegleitenderDienst else { _view.Close(); - _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime); + _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime, a.Klientoid); _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent); _view.ShowDialog(); @@ -1228,6 +1228,7 @@ namespace BeWo.SchulbegleitenderDienst Notice = a.Beschreibung }; + AbsenceTimeDC abstime = new AbsenceTimeDC() { AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid, @@ -1813,8 +1814,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 +1839,7 @@ namespace BeWo.SchulbegleitenderDienst Notice = a.Beschreibung }; + //?? villeicht nur Vertretungszeitraum wenn Mitarbeiter ist geadded //if (a.Vertreteroid != 0) //{ vert.VertretungsZeitraumVon = a.StartD; diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml index df7d51738..8c3ab1fea 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="750" Width="850" WindowStartupLocation="CenterScreen" ResizeMode="CanResizeWithGrip" WindowStyle="None" Background="Transparent"> @@ -33,39 +33,139 @@ - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + - + @@ -107,7 +207,7 @@ @@ -136,8 +236,14 @@ - - + + + + + + + + diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs index 084ed4e0b..379323b45 100644 --- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs +++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs @@ -18,10 +18,13 @@ using System.Collections.Specialized; using System.ComponentModel; using System.Globalization; using System.IO; +using System.Net; using System.Text; using System.Windows.Data; using System.Windows.Documents; +using System.Windows.Forms; using System.Windows.Media.Imaging; +using BeWo.Controls; using BeWo.Core; using BeWo.Core.Service; using BeWo.View.Detail; @@ -36,6 +39,8 @@ using DevExpress.XtraPrinting.Native; using DevExpress.XtraPrinting.XamlExport; using Microsoft.Office.Interop.Word; using Color = System.Drawing.Color; +using MessageBox = System.Windows.MessageBox; +using TextBox = System.Windows.Controls.TextBox; namespace BeWo.SchulbegleitenderDienst { @@ -52,15 +57,34 @@ namespace BeWo.SchulbegleitenderDienst private List _dataListEmployee = new List(); - public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate) + private SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp; + + private readonly long? _klientOid = 10; + + List aktuelleDaten = new List(); + List alleMitarbeiterDaten = new List(); + + + private Dictionary verfuegbareW = new Dictionary(); + private Dictionary gesetzteW = new Dictionary(); + + private Dictionary verfuegbareA = new Dictionary(); + private Dictionary gesetzteA = new Dictionary(); + + + + public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate, long? klientOid) // oid muss mitgegeben werden { InitializeComponent(); + GetAllTokensAndSetAll(); + rootGroupBox.Header += " / " + currentDate.ToString("dddd dd.MM.yyyy"); _startDate = startdate; _endDate = enddate; + //_klientOid = klientOid; if (_startDate != null) KVDatepickerVon.EditValue = _startDate; @@ -87,6 +111,18 @@ namespace BeWo.SchulbegleitenderDienst //rootGroupBoxKlient.Visibility = Visibility.Visible; } + + + + //################ UmkreisErmittler ################ + List woaa = new List { "5 km", "10 km", "15 km", "20 km", "25 km" }; + + + ComboBoxUmkreisExtender.ItemsSource = woaa; + //################################################## + + //typ muss noch übergeben werden + zugehoerigkeitsTyp = SchulbegleitenderZugehörigkeitsTyp.Klient; } @@ -147,6 +183,7 @@ namespace BeWo.SchulbegleitenderDienst private void OrdenerieThings() { + _dataListEmployee.Clear(); //popup_MitarbeiterVertretung.IsOpen = false; //MitarbeiterVertretungsearchview.ItemSelected -= MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected; @@ -160,7 +197,7 @@ namespace BeWo.SchulbegleitenderDienst //popupedit_MitarbeiterVertretungSearch.Focus(); - + foreach (var emp in employeeList) { @@ -176,14 +213,17 @@ namespace BeWo.SchulbegleitenderDienst } } } - + + var geschlecht = emp.Geschlecht == Sex.Male ? "Männlich" : "Weiblich"; + _dataListEmployee.Add( - new SearchViewDaten(emp.FirstName + " " + emp.LastName, emp.PersonAdressInfo, arbeitszeitEintrag, emp)); + new SearchViewDaten(emp.FirstName + " " + emp.LastName, emp.PersonAdressPLZ, emp.PersonAdressStr, emp.PersonAdressStadt, arbeitszeitEintrag, emp, geschlecht)); } GridDataControlMitarbeiterVertretungsearchview.ItemsSource = _dataListEmployee; - + aktuelleDaten = _dataListEmployee; + alleMitarbeiterDaten = _dataListEmployee; } #endregion @@ -305,6 +345,469 @@ namespace BeWo.SchulbegleitenderDienst //####################################################################### + + //######################## Postalcode Range Extender + + 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"); + //PlzKlient mit erweiterter umkreis auswahl. + + //const Erdradius = 6371000; Konstante in metern + // + + //// 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)); + + + // 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; + + //Entfernung := Round( + // 2 * ErdradiusKm * + // arcsin( + // sqrt( + // sqr(x1 - x2) + // + sqr(y1 - y2) + // + sqr(z1 - z2) + // ) / (2 * ErdradiusKm) + // ) + // * 1000 + // ); + } + + } + + //######################################################################## + + private void PlzKlient_OnTextChanged(object sender, TextChangedEventArgs e) + { + // hier der bereich zum neu entwickeln + bool ruecksetzpunkt = false; + + List ndaten = new List(); + + foreach (var daten in alleMitarbeiterDaten) + { + if(daten.Postleitzahl != null){ + if (daten.Postleitzahl.StartsWith(PlzKlient.Text)) + { + ndaten.Add(daten); + } + } + + if (daten.Postleitzahl != null && PlzKlient.Text.Length == 0) + { + if (!ruecksetzpunkt) + ruecksetzpunkt = true; + } + } + + if (ruecksetzpunkt) + { + GridDataControlMitarbeiterVertretungsearchview.ItemsSource = alleMitarbeiterDaten; + //aktuelleDaten = alleMitarbeiterDaten; + } + else + { + GridDataControlMitarbeiterVertretungsearchview.ItemsSource = ndaten; + // aktuelleDaten = ndaten; + } + + GridDataControlMitarbeiterVertretungsearchview.RefreshData(); + GridDataControlMitarbeiterVertretungsearchview.RefreshUI(); + + // 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; + //} + } + + private void ComboBoxUmkreisExtender_OnSelected(object sender, RoutedEventArgs e) + { + var item = sender as NullItemComboBox; + + int umkreis = 0; + + if (item != null && item.SelectedItem != null) + { + string[] ahh = item.SelectedItem.ToString().Split(' '); + + umkreis = Convert.ToInt32(ahh[0]); + } + + ErmittlePlzBereich(PlzKlient.Text, umkreis); + } + + //private void Selector_OnSelected(object sender, RoutedEventArgs e) + //{ + // throw new NotImplementedException(); + //} + + + private void ComboBoxWunschAuswahl_OnSelected(object sender, RoutedEventArgs e) + { + var item = sender as NullItemComboBox; + if (item.SelectedItem != null && !item.SelectedItem.ToString().Equals("")) + { + TBoxWunschAnzeige.Text += item.SelectedItem + "; "; + + ComboBoxWunschAuswahl.SelectedIndex = 0; + + // SortMitarbeiterliste(); + } + + } + + private void ComboBoxAussschlussAuswahl_OnSelected(object sender, RoutedEventArgs e) + { + var item = sender as NullItemComboBox; + if (item.SelectedItem != null && !item.SelectedItem.ToString().Equals("")) + { + TBoxAussschlussAnzeige.Text += item.SelectedItem + "; "; + + ComboBoxAussschlussAuswahl.SelectedIndex = 0; + + // SortMitarbeiterliste(); + } + + } + + public void GetAllTokensAndSetAll() + { + var x = ServiceFacade.DoOperationsServiceSync(r => r.GetAllTokens(SchulbegleitenderZugehörigkeitsTyp.Klient, _klientOid)); + + List wunschliste = new List(); + List ausschlussliste = new List(); + + foreach (var token in x) + { + if(token.MemberOid == _klientOid){ + if (token.TokenTyp == TokenTyp.WunschKriterium) + { + wunschliste.Add(token.Beschreibung); + TBoxWunschAnzeige.Text += token.Beschreibung + "; "; + } + + if (token.TokenTyp == TokenTyp.AusschlussKriterium) + { + ausschlussliste.Add(token.Beschreibung); + TBoxAussschlussAnzeige.Text += token.Beschreibung + "; "; + } + } + } + + LoadMitarbeiterKriterien(); + } + + private void LoadMitarbeiterKriterien() + { + verfuegbareW.Clear(); + gesetzteW.Clear(); + verfuegbareA.Clear(); + gesetzteA.Clear(); + + var x = + ServiceFacade.DoOperationsServiceSync( + r => r.GetAllTokens(SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter, 0)); + + List wunschliste = new List(); + List ausschlussliste = new List(); + + foreach (var token in x) + { + if (token.TokenTyp == TokenTyp.WunschKriterium) + { + if (!verfuegbareW.ContainsKey(token.Beschreibung)) + verfuegbareW.Add(token.Beschreibung,token); + + wunschliste.Add(token.Beschreibung); + } + + if (token.TokenTyp == TokenTyp.AusschlussKriterium) + { + if (!verfuegbareA.ContainsKey(token.Beschreibung)) + verfuegbareA.Add(token.Beschreibung,token); + + ausschlussliste.Add(token.Beschreibung); + } + } + + ComboBoxMitarbeiterWunschAuswahl.ItemsSource = wunschliste; + ComboBoxMitarbeiterAussschlussAuswahl.ItemsSource = ausschlussliste; + } + + + + private void ComboBoxMitarbeiterAussschlussAuswahl_OnSelectionChanged(object sender, SelectionChangedEventArgs e) + { + var token = ComboBoxMitarbeiterAussschlussAuswahl.SelectedItem as string; + + if(token != null) + TBoxMitarbeiterAussschlussAnzeige.Text += token + "; "; + + foreach (var item in verfuegbareA) + { + if (item.Key == token) + { + if(!gesetzteA.ContainsKey(token)) + gesetzteA.Add(token,item.Value); + } + } + + SortMitarbeiterliste(); + } + + private void ComboBoxMitarbeiterWunschAuswahl_OnSelectionChanged(object sender, SelectionChangedEventArgs e) + { + var token = ComboBoxMitarbeiterWunschAuswahl.SelectedItem as string; + + if(token != null) + TBoxMitarbeiterWunschAnzeige.Text += token + "; "; + + foreach (var item in verfuegbareW) + { + if (item.Key == token) + { + if(!gesetzteW.ContainsKey(token)) + gesetzteW.Add(token, item.Value); + } + } + + SortMitarbeiterliste(); + } + + + + public void SortMitarbeiterliste() + { + List nSVD = new List(); + + //hole die liste aller Employee2Token + var x = ServiceFacade.DoOperationsServiceSync(r => r.GetEmployee2TokenList()); + + //bool isAusschluss = false; // rausnehmen sobald das faxen macht + + foreach (var daten in alleMitarbeiterDaten) + { + foreach (var item in x) + { + if (daten.EmployeeDC.EmployeeOid == item.Employee.EmployeeOid) + { + //noch anpassen weil bei ausschluss equal soll der emp nicht übernommen werden oder?? + foreach (var gesA in gesetzteA) + { + if (item.Token.TokenOid == gesA.Value.TokenOid) + { + //if(!nSVD.Contains(daten)) + nSVD.Add(daten); // --> original muss wieder rein + // isAusschluss = true; + } + } + + foreach (var gesW in gesetzteW) + { + if (item.Token.TokenOid == gesW.Value.TokenOid) + { + //if (isAusschluss) + //{ + // isAusschluss = false; + //} + //else + //{ + //if (!nSVD.Contains(daten)) + nSVD.Add(daten); + //} + + } + } + + //if (isAusschluss) + //{ + // isAusschluss = false; + //} + } + } + } + + GridDataControlMitarbeiterVertretungsearchview.ItemsSource = nSVD; + + GridDataControlMitarbeiterVertretungsearchview.RefreshData(); + GridDataControlMitarbeiterVertretungsearchview.RefreshUI(); + + aktuelleDaten = nSVD; + } + + private void RBMaennlich_OnClick(object sender, RoutedEventArgs e) + { + bool isOtherActive = RBWeiblich.IsChecked.Value; + + if (RBMaennlich.IsChecked.Value) + { + GeschlechtsUmwandlung(3, isOtherActive); + } + else + { + GeschlechtsUmwandlung(1, isOtherActive); + } + + } + + private void RBWeiblich_OnClick(object sender, RoutedEventArgs e) + { + bool isOtherActive = RBMaennlich.IsChecked.Value; + + + if (RBWeiblich.IsChecked.Value) + { + GeschlechtsUmwandlung(4, isOtherActive); + } + else + { + GeschlechtsUmwandlung(2, isOtherActive); + } + + } + + + private void GeschlechtsUmwandlung(int i, bool isOtherActive) + { + List newItems = new List(); + + // 1 == entferne jungs | 2 == entferne mädels | 3 füge jungs hinzu | 4 füge mädels hinzu + + if (i == 1) + { + foreach (var item in aktuelleDaten) + { + if (item.Geschlecht.Equals("Weiblich") && isOtherActive) + { + newItems.Add(item); + } + } + } + else if (i == 2) + { + foreach (var item in aktuelleDaten) + { + if (item.Geschlecht.Equals("Männlich") && isOtherActive) + { + newItems.Add(item); + } + } + } + else if (i == 3) + { + foreach (var item in aktuelleDaten) + { + if (!item.Geschlecht.Equals("Weiblich") && isOtherActive == false) + { + newItems.Add(item); + } + else if (isOtherActive) + { + newItems.Add(item); + } + } + } + else if (i == 4) + { + foreach (var item in aktuelleDaten) + { + if (!item.Geschlecht.Equals("Männlich") && isOtherActive == false) + { + newItems.Add(item); + } + else if (isOtherActive) + { + newItems.Add(item); + } + } + } + + GridDataControlMitarbeiterVertretungsearchview.ItemsSource = newItems; + + GridDataControlMitarbeiterVertretungsearchview.RefreshData(); + GridDataControlMitarbeiterVertretungsearchview.RefreshUI(); + } + + + } public class CustomEventArgs : EventArgs @@ -370,16 +873,25 @@ namespace BeWo.SchulbegleitenderDienst public class SearchViewDaten { public string Name { get; set; } - public string Adress { get; set; } + + public string Postleitzahl { get; set; } + public string Straße { get; set; } + public string Stadt { get; set; } + public string Geschlecht { get; set; } + + public string Arbeitszeit { get; set; } public CompactVertreterEmployeeDC EmployeeDC{ get; set; } - public SearchViewDaten(string name, string adresse, string arbeitszeit, CompactVertreterEmployeeDC empdc) + public SearchViewDaten(string name, string postleitzahl, string strasse, string stadt, string arbeitszeit, CompactVertreterEmployeeDC empdc,string geschlecht) { Name = name; - Adress = adresse; + Postleitzahl = postleitzahl; + Straße = strasse; + Stadt = stadt; Arbeitszeit = arbeitszeit; EmployeeDC = empdc; + Geschlecht = geschlecht; } diff --git a/BeWo/ServiceProxy/Generated.cs b/BeWo/ServiceProxy/Generated.cs index 7f1d4913f..c384694b0 100644 --- a/BeWo/ServiceProxy/Generated.cs +++ b/BeWo/ServiceProxy/Generated.cs @@ -522,6 +522,11 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllActiveVertreterEmployeesCompactBeWoFaul" + "tFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] System.Collections.Generic.List GetAllActiveVertreterEmployeesCompact(); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/LoadEmployeeTokenRelationsByOid", ReplyAction="http://tempuri.org/IEmployeeService/LoadEmployeeTokenRelationsByOidResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadEmployeeTokenRelationsByOidBeWoFaultFault" + + "", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + System.Collections.Generic.List LoadEmployeeTokenRelationsByOid(System.Collections.Generic.List pOids); } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] @@ -977,6 +982,11 @@ namespace BeWo.ServiceProxy { return base.Channel.GetAllActiveVertreterEmployeesCompact(); } + + public System.Collections.Generic.List LoadEmployeeTokenRelationsByOid(System.Collections.Generic.List pOids) + { + return base.Channel.LoadEmployeeTokenRelationsByOid(pOids); + } } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] @@ -1289,6 +1299,11 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/GetPersonForOrganisationsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] System.Collections.Generic.List GetPersonForOrganisations(long organisationoid); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/LoadCustomerTokenRelationsByOid", ReplyAction="http://tempuri.org/ICustomerService/LoadCustomerTokenRelationsByOidResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/LoadCustomerTokenRelationsByOidBeWoFaultFault" + + "", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + System.Collections.Generic.List LoadCustomerTokenRelationsByOid(System.Collections.Generic.List pOids); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/ArchiveCustomer", ReplyAction="http://tempuri.org/ICustomerService/ArchiveCustomerResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/ArchiveCustomerBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] void ArchiveCustomer(long pOid, long pVersion); @@ -2048,6 +2063,11 @@ namespace BeWo.ServiceProxy return base.Channel.GetPersonForOrganisations(organisationoid); } + public System.Collections.Generic.List LoadCustomerTokenRelationsByOid(System.Collections.Generic.List pOids) + { + return base.Channel.LoadCustomerTokenRelationsByOid(pOids); + } + public void ArchiveCustomer(long pOid, long pVersion) { base.Channel.ArchiveCustomer(pOid, pVersion); @@ -4205,6 +4225,30 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] void UpdateAbsenceTime(BS.Shared.DataContracts.AbsenceTimeDC abs); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetAllTokens", ReplyAction="http://tempuri.org/IOperationsService/GetAllTokensResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetAllTokensBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + System.Collections.Generic.List GetAllTokens(BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteToken", ReplyAction="http://tempuri.org/IOperationsService/DeleteTokenResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + void DeleteToken(BS.Shared.DataContracts.TokenDC token); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewToken", ReplyAction="http://tempuri.org/IOperationsService/InsertNewTokenResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + void InsertNewToken(string beschreibung, BS.Shared.TokenTyp typ, BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateToken", ReplyAction="http://tempuri.org/IOperationsService/UpdateTokenResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + void UpdateToken(BS.Shared.DataContracts.TokenDC token); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetCustomer2TokenList", ReplyAction="http://tempuri.org/IOperationsService/GetCustomer2TokenListResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetCustomer2TokenListBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + System.Collections.Generic.List GetCustomer2TokenList(); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetEmployee2TokenList", ReplyAction="http://tempuri.org/IOperationsService/GetEmployee2TokenListResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetEmployee2TokenListBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + System.Collections.Generic.List GetEmployee2TokenList(); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeactivateInvoices", ReplyAction="http://tempuri.org/IOperationsService/DeactivateInvoicesResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeactivateInvoicesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] void DeactivateInvoices(System.Collections.Generic.List invoices); @@ -4950,6 +4994,36 @@ namespace BeWo.ServiceProxy base.Channel.UpdateAbsenceTime(abs); } + public System.Collections.Generic.List GetAllTokens(BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid) + { + return base.Channel.GetAllTokens(zugehoerigkeitsTyp, oid); + } + + public void DeleteToken(BS.Shared.DataContracts.TokenDC token) + { + base.Channel.DeleteToken(token); + } + + public void InsertNewToken(string beschreibung, BS.Shared.TokenTyp typ, BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid) + { + base.Channel.InsertNewToken(beschreibung, typ, zugehoerigkeitsTyp, oid); + } + + public void UpdateToken(BS.Shared.DataContracts.TokenDC token) + { + base.Channel.UpdateToken(token); + } + + public System.Collections.Generic.List GetCustomer2TokenList() + { + return base.Channel.GetCustomer2TokenList(); + } + + public System.Collections.Generic.List GetEmployee2TokenList() + { + return base.Channel.GetEmployee2TokenList(); + } + public void DeactivateInvoices(System.Collections.Generic.List invoices) { base.Channel.DeactivateInvoices(invoices); diff --git a/BeWo/View/Detail/CustomerView.xaml.cs b/BeWo/View/Detail/CustomerView.xaml.cs index 593c78b77..427afac97 100644 --- a/BeWo/View/Detail/CustomerView.xaml.cs +++ b/BeWo/View/Detail/CustomerView.xaml.cs @@ -1017,7 +1017,7 @@ namespace BeWo.View.Detail { if (tabitem_schuldienst.Content == null) { - tabitem_schuldienst.Content = new SchulbegleitenderDienstCustomer(TableID.Customer, ViewModel.DataContract.CustomerOid.Value); + tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.CustomerOid.Value,SchulbegleitenderZugehörigkeitsTyp.Klient); } } diff --git a/BeWo/View/Detail/EmployeeView.xaml b/BeWo/View/Detail/EmployeeView.xaml index f675ab7c8..6995b2c48 100644 --- a/BeWo/View/Detail/EmployeeView.xaml +++ b/BeWo/View/Detail/EmployeeView.xaml @@ -692,6 +692,8 @@ + + diff --git a/BeWo/View/Detail/EmployeeView.xaml.cs b/BeWo/View/Detail/EmployeeView.xaml.cs index 926ea593c..5b4ca96cb 100644 --- a/BeWo/View/Detail/EmployeeView.xaml.cs +++ b/BeWo/View/Detail/EmployeeView.xaml.cs @@ -464,6 +464,14 @@ namespace BeWo.View.Detail } } + private void tabitem_SchulDienst_Selected(object sender, RoutedEventArgs e) + { + if (tabitem_schuldienst.Content == null) + { + tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.EmployeeOid.Value,SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter); + } + } + private void button_addContract_Click(object sender, RoutedEventArgs e) { ViewModel.Contracts.AddNewVMToList(); diff --git a/BeWo/View/SchulbegleitenderDienst.xaml b/BeWo/View/SchulbegleitenderDienst.xaml new file mode 100644 index 000000000..6689f6606 --- /dev/null +++ b/BeWo/View/SchulbegleitenderDienst.xaml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +