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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml.cs b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml.cs
new file mode 100644
index 000000000..3f9176c66
--- /dev/null
+++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml.cs
@@ -0,0 +1,645 @@
+using System;
+using System.Linq;
+using System.Windows;
+using System.Windows.Input;
+using System.Windows.Media;
+
+using BeWo.ServiceProxy;
+using BeWo.ViewModel;
+
+using BS.Shared.Extensions;
+using System.Windows.Controls;
+using System.Net.Sockets;
+using System.Threading;
+using System.Windows.Threading;
+using System.Collections;
+using System.Collections.Generic;
+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;
+using BeWo.ViewModel.ListViewModel;
+using BS.Shared;
+using BS.Shared.Core;
+using BS.Shared.DataContracts;
+using BS.Shared.DataContracts.Compact;
+using DevExpress.Xpf.Core;
+using DevExpress.Xpf.Editors;
+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;
+
+namespace BeWo.SchulbegleitenderDienst
+{
+ public partial class SchulbegleitenderDienstMitarbeiterBearbeitungsView
+ {
+
+ public event EventHandler RaiseCustomEvent;
+
+ //public event EventHandler RaiseKlientCustomEvent;
+
+ private DateTime? _startDate;
+
+ private DateTime? _endDate;
+
+ private List _dataListEmployee = new List();
+
+ private readonly long? _employeeOid = 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 SchulbegleitenderDienstMitarbeiterBearbeitungsView(DateTime? startdate, DateTime? enddate, DateTime currentDate, long? employeeOid)
+ {
+ InitializeComponent();
+ CloseWindow();
+
+ SetMitarbeiterKriteria();
+ SetMitarbeiterInformationen();
+ GetAllKlienttokens();
+ LoadAllKlientenIngridData();
+
+ rootGroupBox.Header += " / " + currentDate.ToString("dddd dd.MM.yyyy");
+
+ _startDate = startdate;
+ _endDate = enddate;
+
+ _employeeOid = employeeOid;
+
+ if (_startDate != null)
+ KVDatepickerVon.EditValue = _startDate;
+
+ if (_endDate != null)
+ KVDatepickerBis.EditValue = _endDate;
+
+
+ //Width = System.Windows.SystemParameters.PrimaryScreenWidth / 2;
+ //Height = System.Windows.SystemParameters.PrimaryScreenWidth / 2;
+ }
+
+
+ private void RootGroupBox_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+ {
+ try
+ {
+ DragMove();
+ }
+ catch (Exception)
+ {
+ }
+ }
+
+ private void CloseWindow()
+ {
+ CommandBindings.Add(
+ new CommandBinding(
+ ApplicationCommands.Close,
+ (s, e) =>
+ {
+ Close();
+ }));
+ }
+
+
+ private void SetMitarbeiterKriteria()
+ {
+ var tokenlist = ServiceFacade.DoOperationsServiceSync(r => r.GetAllTokens(SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter, _employeeOid));
+
+ foreach (var tkList in tokenlist)
+ {
+ if (tkList.TokenTyp == TokenTyp.WunschKriterium)
+ {
+ MitarbeiterWunschAnzeige.Text = tkList.Beschreibung + "; ";
+ }
+ else if (tkList.TokenTyp == TokenTyp.AusschlussKriterium)
+ {
+ MitarbeiterAussschlussAnzeige.Text = tkList.Beschreibung + "; ";
+ }
+ }
+ }
+
+
+ private void GetAllKlienttokens()
+ {
+ verfuegbareW.Clear();
+ gesetzteW.Clear();
+ verfuegbareA.Clear();
+ gesetzteA.Clear();
+
+
+ ServiceFacade.DoOperationsServiceAsync(
+ r => r.GetAllTokens(SchulbegleitenderZugehörigkeitsTyp.Klient, 0), x => this.Dispatch(delegate
+ {
+ 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);
+ }
+ }
+
+ KlientWunschAuswahl.ItemsSource = wunschliste;
+ KlientAussschlussAuswahl.ItemsSource = ausschlussliste;
+
+ }));
+ }
+
+
+ private void KlientWunschAuswahl_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ var item = sender as NullItemComboBox;
+
+ if (item.SelectedItem != null && !item.SelectedItem.ToString().Equals(""))
+ {
+ KlientWunschAnzeige.Text += item.SelectedItem + "; ";
+
+ KlientWunschAuswahl.SelectedIndex = 0;
+
+ SortKlientliste();
+ }
+ }
+
+ private void KlientAussschlussAuswahl_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ var item = sender as NullItemComboBox;
+
+ if (item.SelectedItem != null && !item.SelectedItem.ToString().Equals(""))
+ {
+ KlientAussschlussAnzeige.Text += item.SelectedItem + "; ";
+
+ KlientAussschlussAuswahl.SelectedIndex = 0;
+
+ SortKlientliste();
+ }
+ }
+
+ public void SortKlientliste()
+ {
+ List nSVD = new List();
+
+ var x = ServiceFacade.DoOperationsServiceSync(r => r.GetCustomer2TokenList());
+
+ bool isAusschluss = false;
+
+ foreach (var daten in alleMitarbeiterDaten)
+ {
+ foreach (var item in x)
+ {
+ if (daten.CustomerDC.CustomerOid == item.Customer.CustomerOid)
+ {
+ foreach (var gesA in gesetzteA)
+ {
+ if (item.Token.TokenOid == gesA.Value.TokenOid)
+ {
+ if (!nSVD.Contains(daten))
+ nSVD.Add(daten);
+ 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;
+ }
+ }
+ }
+ }
+
+ GridDataControlKlientVertretungsearchview.ItemsSource = nSVD;
+
+ GridDataControlKlientVertretungsearchview.RefreshData();
+ GridDataControlKlientVertretungsearchview.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);
+ }
+ }
+ }
+
+ GridDataControlKlientVertretungsearchview.ItemsSource = newItems;
+
+ GridDataControlKlientVertretungsearchview.RefreshData();
+ GridDataControlKlientVertretungsearchview.RefreshUI();
+ }
+
+ private void SetMitarbeiterInformationen()
+ {
+ var employee = ServiceFacade.DoEmployeeServiceSync(r => r.GetEmployeeByID(_employeeOid.Value));
+
+ LabelPlzMitarbeiter.Content = employee.PostalCode;
+ LabelOrtMitarbeiter.Content = employee.Town;
+ }
+
+
+ private void PlzMitarbeiter_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
+ {
+ bool ruecksetzpunkt = false;
+
+ List ndaten = new List();
+
+ foreach (var daten in alleMitarbeiterDaten)
+ {
+ if (daten.Postleitzahl != null)
+ {
+ if (daten.Postleitzahl.StartsWith(PlzMitarbeiter.Text))
+ {
+ ndaten.Add(daten);
+ }
+ }
+
+ if (daten.Postleitzahl != null && PlzMitarbeiter.Text.Length == 0)
+ {
+ if (!ruecksetzpunkt)
+ ruecksetzpunkt = true;
+ }
+ }
+
+ if (ruecksetzpunkt)
+ {
+ GridDataControlKlientVertretungsearchview.ItemsSource = alleMitarbeiterDaten;
+ //aktuelleDaten = alleMitarbeiterDaten; // sollte sich so verhalten wie bei geschlecht
+ }
+ else
+ {
+ GridDataControlKlientVertretungsearchview.ItemsSource = ndaten;
+ // aktuelleDaten = ndaten;
+ }
+
+ GridDataControlKlientVertretungsearchview.RefreshData();
+ GridDataControlKlientVertretungsearchview.RefreshUI();
+
+ }
+
+
+ private void OrtMitarbeiter_OnTextChanged(object sender, TextChangedEventArgs e)
+ {
+ bool ruecksetzpunkt = false;
+
+ List ndaten = new List();
+
+ foreach (var daten in alleMitarbeiterDaten)
+ {
+ if (daten.Stadt != null)
+ {
+ if (daten.Stadt.StartsWith(OrtMitarbeiter.Text))
+ {
+ ndaten.Add(daten);
+ }
+ }
+
+ if (daten.Stadt != null && OrtMitarbeiter.Text.Length == 0)
+ {
+ if (!ruecksetzpunkt)
+ ruecksetzpunkt = true;
+ }
+ }
+
+ if (ruecksetzpunkt)
+ {
+ GridDataControlKlientVertretungsearchview.ItemsSource = alleMitarbeiterDaten;
+ //aktuelleDaten = alleMitarbeiterDaten;
+ }
+ else
+ {
+ GridDataControlKlientVertretungsearchview.ItemsSource = ndaten;
+ // aktuelleDaten = ndaten;
+ }
+
+ GridDataControlKlientVertretungsearchview.RefreshData();
+ GridDataControlKlientVertretungsearchview.RefreshUI();
+
+ }
+
+
+ // ################ Vertretungszeitraumswahl ##############################################
+ private void KVCheckBox_OnUnchecked(object sender, RoutedEventArgs e)
+ {
+ KVDatepicker_UhrzeitBis.Text = "";
+ KVDatepicker_UhrzeitBis.Visibility = Visibility.Visible;
+ KVLabelUhrzeitVon.Visibility = Visibility.Visible;
+
+ KVDatepicker_UhrzeitVon.Text = "";
+ KVDatepicker_UhrzeitVon.Visibility = Visibility.Visible;
+ KVLabelUhrzeitBis.Visibility = Visibility.Visible;
+ }
+
+ private void KVCheckBox_OnChecked(object sender, RoutedEventArgs e)
+ {
+ KVDatepicker_UhrzeitBis.Visibility = Visibility.Collapsed;
+ KVLabelUhrzeitVon.Visibility = Visibility.Collapsed;
+
+ KVDatepicker_UhrzeitVon.Visibility = Visibility.Collapsed;
+ KVLabelUhrzeitBis.Visibility = Visibility.Collapsed;
+ }
+
+ private void KVDatepickerVon_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
+ {
+ DateEdit ed = (DateEdit)sender;
+
+ DateTime date = ed.DateTime;
+
+ if (date > _endDate.Value || date < _startDate.Value)
+ {
+ KVDatepickerVon.EditValue = _startDate.Value;
+ }
+ }
+
+ private void KVDatepickerBis_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
+ {
+ DateEdit ed = (DateEdit)sender;
+
+ DateTime date = ed.DateTime;
+
+ if (date < _startDate.Value || date > _endDate.Value)
+ {
+ KVDatepickerBis.EditValue = _endDate.Value;
+ }
+ }
+
+ //################################################################################################
+
+
+ private void LoadAllKlientenIngridData()
+ {
+ ServiceFacade.DoCustomerServiceAsync(s => s.GetAllActiveCompactCustomers(), customerList => this.Dispatch(
+ delegate
+ {
+ foreach (var cus in customerList)
+ {
+ var geschlecht = cus.Sex == Sex.Male ? "Männlich" : "Weiblich";
+
+ _dataListEmployee.Add(
+ new SearchKlientViewDaten(cus.FirstName + " " + cus.LastName, cus.PostalCode, cus.Street, cus.Town, cus, geschlecht));
+
+ }
+
+ GridDataControlKlientVertretungsearchview.ItemsSource = _dataListEmployee;
+ aktuelleDaten = _dataListEmployee;
+ alleMitarbeiterDaten = _dataListEmployee;
+ }));
+ }
+
+
+ private void ButtonClose_OnClick(object sender, RoutedEventArgs e)
+ {
+ Close();
+ }
+
+ private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
+ {
+ //Rückgabe der Daten
+ var item = GridDataControlKlientVertretungsearchview.SelectedItem as SearchKlientViewDaten;
+
+ CompactCustomerDC x = item.CustomerDC;
+
+ if (GridDataControlKlientVertretungsearchview.SelectedItem != null)
+ {
+ if (_startDate.HasValue && _endDate.HasValue && KVCheckBox.IsChecked.Value)
+ {
+ RaiseCustomEvent(this, new CustomKlientEventArgs(x, _startDate, _endDate));
+
+ Close();
+ }
+ else if (!KVDatepickerVon.Text.Equals("") && !KVDatepickerBis.Text.Equals("") && _startDate.HasValue && _endDate.HasValue && !KVDatepicker_UhrzeitVon.Text.Equals("") && !KVDatepicker_UhrzeitBis.Text.Equals(""))
+ {
+ var von = KVDatepicker_UhrzeitVon.Text;
+ var bis = KVDatepicker_UhrzeitBis.Text;
+
+ if (von.Length < 5)
+ {
+ von = "0" + von;
+ }
+
+ if (bis.Length < 5)
+ {
+ bis = "0" + bis;
+ }
+
+ DateTime dateVon = DateTime.ParseExact(von, "HH:mm", CultureInfo.CurrentCulture);
+ DateTime dateBis = DateTime.ParseExact(bis, "HH:mm", CultureInfo.CurrentCulture);
+
+
+ if (dateVon > dateBis)
+ {
+ MessageBox.Show("Die Startzeit darf nicht größer sein als die Endzeit.");
+ }
+ else
+ {
+ DateTime? xVon = new DateTime(_startDate.Value.Year, _startDate.Value.Month, _startDate.Value.Day, dateVon.Hour, dateVon.Minute, dateVon.Second);
+
+ DateTime? xBis = new DateTime(_endDate.Value.Year, _endDate.Value.Month, _endDate.Value.Day, dateBis.Hour, dateBis.Minute, dateBis.Second);
+
+
+ RaiseCustomEvent(this, new CustomKlientEventArgs(x, xVon, xBis));
+
+ Close();
+ }
+ }
+ else
+ {
+ if (_startDate.HasValue && _endDate.HasValue && (KVDatepicker_UhrzeitVon.Text.Equals("") || KVDatepicker_UhrzeitBis.Text.Equals("")) && !KVCheckBox.IsChecked.Value)
+ {
+ MessageBox.Show("Bitte Geben sie eine Start Uhrzeit und eine End Uhrzeit an.");
+ }
+ else
+ {
+ MessageBox.Show("Bitte Geben sie ein Start und ein Enddatum an.");
+ }
+ }
+ }
+ else
+ {
+ MessageBox.Show("Bitte wählen sie zuerst einen Klienten aus.");
+ }
+ }
+ }
+
+ 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 SearchKlientViewDaten
+ {
+ public string Name { get; set; }
+
+ public string Postleitzahl { get; set; }
+ public string Straße { get; set; }
+ public string Stadt { get; set; }
+ public string Geschlecht { get; set; }
+
+ public CompactCustomerDC CustomerDC { get; set; }
+
+ public SearchKlientViewDaten(string name, string postleitzahl, string strasse, string stadt, CompactCustomerDC comcudc, string geschlecht)
+ {
+ Name = name;
+ Postleitzahl = postleitzahl;
+ Straße = strasse;
+ Stadt = stadt;
+ CustomerDC = comcudc;
+ Geschlecht = geschlecht;
+ }
+ }
+
+}
diff --git a/BeWo/ServiceProxy/Generated.cs b/BeWo/ServiceProxy/Generated.cs
index f9890be9d..70379ea1b 100644
--- a/BeWo/ServiceProxy/Generated.cs
+++ b/BeWo/ServiceProxy/Generated.cs
@@ -166,6 +166,10 @@ namespace BeWo.ServiceProxy
public interface IEmployeeService
{
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetEmployeeByID", ReplyAction="http://tempuri.org/IEmployeeService/GetEmployeeByIDResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetEmployeeByIDBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ BS.Shared.DataContracts.EmployeeDC GetEmployeeByID(long employeeOid);
+
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/ArchiveEmployee", ReplyAction="http://tempuri.org/IEmployeeService/ArchiveEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/ArchiveEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void ArchiveEmployee(long pOid, long pVersion);
@@ -563,6 +567,11 @@ namespace BeWo.ServiceProxy
{
}
+ public BS.Shared.DataContracts.EmployeeDC GetEmployeeByID(long employeeOid)
+ {
+ return base.Channel.GetEmployeeByID(employeeOid);
+ }
+
public void ArchiveEmployee(long pOid, long pVersion)
{
base.Channel.ArchiveEmployee(pOid, pVersion);
@@ -1304,6 +1313,13 @@ namespace BeWo.ServiceProxy
"", 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/GetPersonWithCustomerOid", ReplyAction="http://tempuri.org/ICustomerService/GetPersonWithCustomerOidResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/GetPersonWithCustomerOidBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerDC))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.WohnheimDC))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.EmployeeDC))]
+ BS.Shared.DataContracts.PersonDC GetPersonWithCustomerOid(long oid);
+
[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);
@@ -2068,6 +2084,11 @@ namespace BeWo.ServiceProxy
return base.Channel.LoadCustomerTokenRelationsByOid(pOids);
}
+ public BS.Shared.DataContracts.PersonDC GetPersonWithCustomerOid(long oid)
+ {
+ return base.Channel.GetPersonWithCustomerOid(oid);
+ }
+
public void ArchiveCustomer(long pOid, long pVersion)
{
base.Channel.ArchiveCustomer(pOid, pVersion);
@@ -4253,6 +4274,12 @@ namespace BeWo.ServiceProxy
[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/VertretungsMitarbeiterListeWoechentlich", ReplyAction="http://tempuri.org/IOperationsService/VertretungsMitarbeiterListeWoechentlichResp" +
+ "onse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/VertretungsMitarbeiterListeWoechentlichBeWo" +
+ "FaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ System.Collections.Generic.List VertretungsMitarbeiterListeWoechentlich(System.DateTime start, System.DateTime ende);
+
[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);
@@ -5033,6 +5060,11 @@ namespace BeWo.ServiceProxy
return base.Channel.GetEmployee2TokenList();
}
+ public System.Collections.Generic.List VertretungsMitarbeiterListeWoechentlich(System.DateTime start, System.DateTime ende)
+ {
+ return base.Channel.VertretungsMitarbeiterListeWoechentlich(start, ende);
+ }
+
public void DeactivateInvoices(System.Collections.Generic.List invoices)
{
base.Channel.DeactivateInvoices(invoices);
diff --git a/Data/Access/SearchDAO.cs b/Data/Access/SearchDAO.cs
index 2fc7bab51..456f5836d 100644
--- a/Data/Access/SearchDAO.cs
+++ b/Data/Access/SearchDAO.cs
@@ -2067,7 +2067,7 @@ namespace BeWo.Data.Access
}
return a;
- }
+ }
}
}
diff --git a/Service/SBD/Vertretung/VertretungsAlgorithmus.cs b/Service/SBD/Vertretung/VertretungsAlgorithmus.cs
index e8320b31e..5db6554cd 100644
--- a/Service/SBD/Vertretung/VertretungsAlgorithmus.cs
+++ b/Service/SBD/Vertretung/VertretungsAlgorithmus.cs
@@ -4,8 +4,10 @@ using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
+using BeWo.Service.Core;
using BS.Shared;
using BS.Shared.DataContracts;
+using BS.Shared.DataContracts.Compact;
namespace BeWo.Service.SBD.Vertretung
{
@@ -26,6 +28,10 @@ namespace BeWo.Service.SBD.Vertretung
public List vertretungsliste = new List();
+ public List EmployeeListe = new List();
+
+ public List Mitarbeiterliste = new List();
+
private readonly List _vorhandeneCustomerOidListe = new List();
public VertretungsAlgorithmus(VertretungsListeDC sbd , DateTime date)
@@ -49,398 +55,556 @@ namespace BeWo.Service.SBD.Vertretung
ErstelleItemVonWoechentlicherAbsencetimes();
}
+ public VertretungsAlgorithmus(DateTime start, DateTime ende)
+ {
+ _startDate = start;
+ _endDate = ende;
+
+ //erstmal hier hinein und dann mal kuken
+ GetAlleMitarbeiterForWochenanzeige();
+ }
+
public void Hauptbetreuungen()
{
+ try
+ {
+ foreach (var xa in _schulbegleitenderDienst.Employeesliste)
+ {
+ List klientoids = new List();
- foreach (var xa in _schulbegleitenderDienst.Employeesliste)
- {
- List klientoids = new List();
+ Employee e = DAOFactory.GenericDAO.LoadByID(xa.EmployeeOid);
- Employee e = DAOFactory.GenericDAO.LoadByID(xa.EmployeeOid);
+ foreach (var e2c in e.Employee2CustomerList)
+ {
+ foreach (var v2o in e2c.ValueList)
+ {
+ if (v2o.Entry.Type == ValueListEntryType.StaffRoleType && v2o.Entry.SystemEntryID.HasValue &&
+ v2o.Entry.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant)
+ {
+ klientoids.Add(e2c.CustomerOid.Value);
+ }
+ }
+ }
- foreach (var e2c in e.Employee2CustomerList)
- {
- foreach (var v2o in e2c.ValueList)
- {
- if (v2o.Entry.Type == ValueListEntryType.StaffRoleType && v2o.Entry.SystemEntryID.HasValue &&
- v2o.Entry.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant)
- {
- klientoids.Add(e2c.CustomerOid.Value);
- }
- }
- }
+ if (!_employee2CustomerHaupt.ContainsKey(xa.EmployeeOid))
+ _employee2CustomerHaupt.Add(xa.EmployeeOid, klientoids);
- if (!_employee2CustomerHaupt.ContainsKey(xa.EmployeeOid))
- _employee2CustomerHaupt.Add(xa.EmployeeOid, klientoids);
+ }
- }
-
- _schulbegleitenderDienst.Employee2CustomerHauptbetreuung = _employee2CustomerHaupt;
+ _schulbegleitenderDienst.Employee2CustomerHauptbetreuung = _employee2CustomerHaupt;
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
}
- //----- Tages Vertretung
- private void ErstelleItemVonVertretungen()
+ //----- Tages Vertretung // ggf noch anpassen
+ #region Tagesanzeige
+ private void ErstelleItemVonVertretungen()
{
- _vorhandeneCustomerOidListe.Clear();
- VertretungsListeItemsDC item = new VertretungsListeItemsDC();
+ try
+ {
+ _vorhandeneCustomerOidListe.Clear();
+ VertretungsListeItemsDC item = new VertretungsListeItemsDC();
- foreach (var vertritt in _schulbegleitenderDienst.Vertretungsliste)
- {
- item = BuildVertertungslisteItems();
+ foreach (var vertritt in _schulbegleitenderDienst.Vertretungsliste)
+ {
+ item = BuildVertertungslisteItems();
- //Vertretungsdc wird übergeben
- item.Vertretung = vertritt;
+ //Vertretungsdc wird übergeben
+ item.Vertretung = vertritt;
- if (vertritt.VertretungsZeitraumVon.Date <= _absenceTime.Date && vertritt.VertretungsZeitraumBis.Date >= _absenceTime.Date)
- {
- foreach (var mit in _schulbegleitenderDienst.Employeesliste)
- {
- if (vertritt.EmployeeOid == mit.EmployeeOid)
- {
- item.EmployeeName = mit.FirstName + " " + mit.LastName;
+ if (vertritt.VertretungsZeitraumVon.Date <= _absenceTime.Date && vertritt.VertretungsZeitraumBis.Date >= _absenceTime.Date)
+ {
+ foreach (var mit in _schulbegleitenderDienst.Employeesliste)
+ {
+ if (vertritt.EmployeeOid == mit.EmployeeOid)
+ {
+ item.EmployeeName = mit.FirstName + " " + mit.LastName;
- item.EmployeeOid = mit.EmployeeOid;
- }
+ item.EmployeeOid = mit.EmployeeOid;
+ }
- if (vertritt.VertretenderMitarbeiterOid == mit.EmployeeOid)
- {
- item.VertretenderMitarbeiter = mit.FirstName + " " + mit.LastName;
+ if (vertritt.VertretenderMitarbeiterOid == mit.EmployeeOid)
+ {
+ item.VertretenderMitarbeiter = mit.FirstName + " " + mit.LastName;
- item.VertetenderMit = mit.EmployeeOid;
- }
+ item.VertetenderMit = mit.EmployeeOid;
+ }
- foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
- {
- if (hauptbetreuung.Key == vertritt.EmployeeOid && vertritt.EmployeeOid == mit.EmployeeOid)
- {
- foreach (var cust in _schulbegleitenderDienst.Customersliste)
- {
- foreach (var val in hauptbetreuung.Value)
- {
- if (val == cust.CustomerOid)
- {
- if (cust.CustomerOid == vertritt.CustomerOid)
- {
- _vorhandeneCustomerOidListe.Add(cust.CustomerOid);
- item.Customer.Add(cust.CustomerOid, cust.FullName);
- }
- }
- }
- }
- }
- }
- }
+ foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
+ {
+ if (hauptbetreuung.Key == vertritt.EmployeeOid && vertritt.EmployeeOid == mit.EmployeeOid)
+ {
+ foreach (var cust in _schulbegleitenderDienst.Customersliste)
+ {
+ foreach (var val in hauptbetreuung.Value)
+ {
+ if (val == cust.CustomerOid)
+ {
+ if (cust.CustomerOid == vertritt.CustomerOid)
+ {
+ _vorhandeneCustomerOidListe.Add(cust.CustomerOid);
+ item.Customer.Add(cust.CustomerOid, cust.FullName);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
- foreach (var ab in _schulbegleitenderDienst.AbsenceTimeliste)
- {
- if (vertritt.AbsenceTimeOid == ab.AbsenceTimeOid)
- {
- item.Abwesenheitskategorie = ab.Reason;
+ foreach (var ab in _schulbegleitenderDienst.AbsenceTimeliste)
+ {
+ if (vertritt.AbsenceTimeOid == ab.AbsenceTimeOid)
+ {
+ item.Abwesenheitskategorie = ab.Reason;
- AddKrankheitsZeitraumAndMeldungToItem(item, ab);
+ AddKrankheitsZeitraumAndMeldungToItem(item, ab);
- item.Absencetime = ab;
+ item.Absencetime = ab;
- AddArbeitszeitToItem(item, vertritt.EmployeeOid,1);
+ AddArbeitszeitToItem(item, vertritt.EmployeeOid,1);
- if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
- {
- foreach (var emp in _schulbegleitenderDienst.Employeesliste)
- {
- if (emp.EmployeeOid == ab.EmployeeOid)
- {
- item.EmployeeOid = ab.EmployeeOid.Value;
- item.EmployeeName = emp.FirstName + " " + emp.LastName;
- }
- }
- }
- }
+ if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
+ {
+ foreach (var emp in _schulbegleitenderDienst.Employeesliste)
+ {
+ if (emp.EmployeeOid == ab.EmployeeOid)
+ {
+ item.EmployeeOid = ab.EmployeeOid.Value;
+ item.EmployeeName = emp.FirstName + " " + emp.LastName;
+ }
+ }
+ }
+ }
+
+ }
-
- }
-
-
- //überprüfung durchführen und ggf mehrere Davon anlegen. wegen vertretungszeiten bei krankheitszeiträumen
+ //überprüfung durchführen und ggf mehrere Davon anlegen. wegen vertretungszeiten bei krankheitszeiträumen
- //Abfragen ob überhaupt ein Employee Vorhanden ist.
- vertretungsliste.Add(item);
+ //Abfragen ob überhaupt ein Employee Vorhanden ist.
+ vertretungsliste.Add(item);
- //if (vertritt.VertretungsZeitraumVon != ab.Start.Value && vertritt.VertretungsZeitraumBis != ab.End.Value) für die zeiten inerghalb eines tages
- //{
+ //if (vertritt.VertretungsZeitraumVon != ab.Start.Value && vertritt.VertretungsZeitraumBis != ab.End.Value) für die zeiten inerghalb eines tages
+ //{
- // add der vertretungsliste einen Weiteren Tag der nicht
- // allerdings müsste da wieder ne neue vertretung erstellt werden.
- // desweiteren müsste die range der Stunden ermittelt werden.
- // vertretungsliste.Add(item);
+ // add der vertretungsliste einen Weiteren Tag der nicht
+ // allerdings müsste da wieder ne neue vertretung erstellt werden.
+ // desweiteren müsste die range der Stunden ermittelt werden.
+ // vertretungsliste.Add(item);
- //}
- }
-
- }
+ //}
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
}
private void ErstelleItemVonAbsencetimes()
{
- VertretungsListeItemsDC item = new VertretungsListeItemsDC();
+ try
+ {
+ VertretungsListeItemsDC item = new VertretungsListeItemsDC();
- foreach (var ars in _schulbegleitenderDienst.AbsenceTimeliste)
- {
- item = BuildVertertungslisteItems();
+ foreach (var ars in _schulbegleitenderDienst.AbsenceTimeliste)
+ {
+ item = BuildVertertungslisteItems();
- item.Abwesenheitskategorie = ars.Reason;
- item.Absencetime = ars;
+ item.Abwesenheitskategorie = ars.Reason;
+ item.Absencetime = ars;
- AddKrankheitsZeitraumAndMeldungToItem(item, ars);
+ AddKrankheitsZeitraumAndMeldungToItem(item, ars);
- if (ars.Start.Value.Date <= _absenceTime.Date && ars.End.Value.Date >= _absenceTime.Date)
- {
- foreach (var emp in _schulbegleitenderDienst.Employeesliste)
- {
- if (ars.EmployeeOid == emp.EmployeeOid)
- {
- item.EmployeeName = emp.FirstName + " " + emp.LastName;
- item.EmployeeOid = emp.EmployeeOid;
- }
+ if (ars.Start.Value.Date <= _absenceTime.Date && ars.End.Value.Date >= _absenceTime.Date)
+ {
+ foreach (var emp in _schulbegleitenderDienst.Employeesliste)
+ {
+ if (ars.EmployeeOid == emp.EmployeeOid)
+ {
+ item.EmployeeName = emp.FirstName + " " + emp.LastName;
+ item.EmployeeOid = emp.EmployeeOid;
+ }
- foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
- {
- if (hauptbetreuung.Key == emp.EmployeeOid && emp.EmployeeOid == ars.EmployeeOid)
- {
- foreach (var cust in _schulbegleitenderDienst.Customersliste)
- {
- foreach (var val in hauptbetreuung.Value)
- {
- if (val == cust.CustomerOid)
- {
- if (!_vorhandeneCustomerOidListe.Contains(cust.CustomerOid))
- item.Customer.Add(cust.CustomerOid, cust.FullName);
- }
- }
- }
- }
- }
- }
+ foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
+ {
+ if (hauptbetreuung.Key == emp.EmployeeOid && emp.EmployeeOid == ars.EmployeeOid)
+ {
+ foreach (var cust in _schulbegleitenderDienst.Customersliste)
+ {
+ foreach (var val in hauptbetreuung.Value)
+ {
+ if (val == cust.CustomerOid)
+ {
+ if (!_vorhandeneCustomerOidListe.Contains(cust.CustomerOid))
+ item.Customer.Add(cust.CustomerOid, cust.FullName);
+ }
+ }
+ }
+ }
+ }
+ }
- if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
- {
- foreach (var emp in _schulbegleitenderDienst.Employeesliste)
- {
- if (emp.EmployeeOid == ars.EmployeeOid)
- {
- item.EmployeeOid = ars.EmployeeOid.Value;
- item.EmployeeName = emp.FirstName + " " + emp.LastName;
+ if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
+ {
+ foreach (var emp in _schulbegleitenderDienst.Employeesliste)
+ {
+ if (emp.EmployeeOid == ars.EmployeeOid)
+ {
+ item.EmployeeOid = ars.EmployeeOid.Value;
+ item.EmployeeName = emp.FirstName + " " + emp.LastName;
- AddArbeitszeitToItem(item, emp.EmployeeOid,1);
- }
- }
- }
+ AddArbeitszeitToItem(item, emp.EmployeeOid,1);
+ }
+ }
+ }
- //Sonderfall wenn keine vertertung verfügbar und employee nicht gegeben aber absence eine customer oid besitzt
- if (item.Customer.Count == 0 && item.EmployeeOid == 0 && ars.CustomerOid.Value != 0)
- {
- foreach (var cust in _schulbegleitenderDienst.Customersliste)
- {
- if (ars.CustomerOid.Value == cust.CustomerOid)
- {
- item.Customer.Add(cust.CustomerOid, cust.FullName);
- }
- }
- }
+ //Sonderfall wenn keine vertertung verfügbar und employee nicht gegeben aber absence eine customer oid besitzt
+ if (item.Customer.Count == 0 && item.EmployeeOid == 0 && ars.CustomerOid.Value != 0)
+ {
+ foreach (var cust in _schulbegleitenderDienst.Customersliste)
+ {
+ if (ars.CustomerOid.Value == cust.CustomerOid)
+ {
+ item.Customer.Add(cust.CustomerOid, cust.FullName);
+ }
+ }
+ }
- //if (item.Customer.Count != 0 && item.EmployeeOid != 0 )//hier auch employee ob vorhanden abfragen // bearbeiten
- //{
- vertretungsliste.Add(item);
- //}
+ //if (item.Customer.Count != 0 && item.EmployeeOid != 0 )//hier auch employee ob vorhanden abfragen // bearbeiten
+ //{
+ vertretungsliste.Add(item);
+ //}
- }
- }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
}
- //---------
+ #endregion
+ //---------
+ //----- Bearbeiten --------------------------------------------------------------------------------------------
+ //----- Woechentliche Vertretungen, Die anzeige jeweiliger tage muss angepasst werden wenn zum beispiel eine
+ //krabkmeldung mehrere vertretungen zugewiesen bekomment hat. Die müssen dann richtig angezeigt werden.
- //----- Wochentliche Vertretungen date abfrage muss hier gerichtet werden ?? habe ich das nicht bereits erledigt
- private void ErstelleItemVonWoechentlicherVertretungen()
+ #region Klienten Wochenanzeige
+
+ private void ErstelleItemVonWoechentlicherVertretungen()
{
- _vorhandeneCustomerOidListe.Clear();
- VertretungsListeItemsDC item = new VertretungsListeItemsDC();
+ try
+ {
+ _vorhandeneCustomerOidListe.Clear();
+ VertretungsListeItemsDC item = new VertretungsListeItemsDC();
- foreach (var vertritt in _schulbegleitenderDienst.Vertretungsliste)
- {
- item = BuildVertertungslisteItems();
+ foreach (var vertritt in _schulbegleitenderDienst.Vertretungsliste)
+ {
+ item = BuildVertertungslisteItems();
- //Vertretungsdc wird übergeben
- item.Vertretung = vertritt;
+ //Vertretungsdc wird übergeben
+ item.Vertretung = vertritt;
- if (vertritt.VertretungsZeitraumVon.Date <= _endDate.Date && vertritt.VertretungsZeitraumBis.Date >= _startDate.Date)
- {
- foreach (var mit in _schulbegleitenderDienst.Employeesliste)
- {
- if (vertritt.EmployeeOid == mit.EmployeeOid)
- {
- item.EmployeeName = mit.FirstName + " " + mit.LastName;
+ if (vertritt.VertretungsZeitraumVon.Date <= _endDate.Date && vertritt.VertretungsZeitraumBis.Date >= _startDate.Date)
+ {
+ foreach (var mit in _schulbegleitenderDienst.Employeesliste)
+ {
+ if (vertritt.EmployeeOid == mit.EmployeeOid)
+ {
+ item.EmployeeName = mit.FirstName + " " + mit.LastName;
- item.EmployeeOid = mit.EmployeeOid;
- }
+ item.EmployeeOid = mit.EmployeeOid;
+ }
- if (vertritt.VertretenderMitarbeiterOid == mit.EmployeeOid)
- {
- item.VertretenderMitarbeiter = mit.FirstName + " " + mit.LastName;
+ if (vertritt.VertretenderMitarbeiterOid == mit.EmployeeOid)
+ {
+ item.VertretenderMitarbeiter = mit.FirstName + " " + mit.LastName;
- item.VertetenderMit = mit.EmployeeOid;
- }
+ item.VertetenderMit = mit.EmployeeOid;
+ }
- foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
- {
- if (hauptbetreuung.Key == vertritt.EmployeeOid && vertritt.EmployeeOid == mit.EmployeeOid)
- {
- foreach (var cust in _schulbegleitenderDienst.Customersliste)
- {
- foreach (var val in hauptbetreuung.Value)
- {
- if (val == cust.CustomerOid)
- {
- if (cust.CustomerOid == vertritt.CustomerOid)
- {
- _vorhandeneCustomerOidListe.Add(cust.CustomerOid);
- item.Customer.Add(cust.CustomerOid, cust.FullName);
- }
- }
- }
- }
- }
- }
- }
+ foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
+ {
+ if (hauptbetreuung.Key == vertritt.EmployeeOid && vertritt.EmployeeOid == mit.EmployeeOid)
+ {
+ foreach (var cust in _schulbegleitenderDienst.Customersliste)
+ {
+ foreach (var val in hauptbetreuung.Value)
+ {
+ if (val == cust.CustomerOid)
+ {
+ if (cust.CustomerOid == vertritt.CustomerOid)
+ {
+ _vorhandeneCustomerOidListe.Add(cust.CustomerOid);
+ item.Customer.Add(cust.CustomerOid, cust.FullName);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
- foreach (var ab in _schulbegleitenderDienst.AbsenceTimeliste)
- {
- if (vertritt.AbsenceTimeOid == ab.AbsenceTimeOid)
- {
- item.Abwesenheitskategorie = ab.Reason;
+ foreach (var ab in _schulbegleitenderDienst.AbsenceTimeliste)
+ {
+ if (vertritt.AbsenceTimeOid == ab.AbsenceTimeOid)
+ {
+ item.Abwesenheitskategorie = ab.Reason;
- AddKrankheitsZeitraumAndMeldungToItem(item, ab);
+ AddKrankheitsZeitraumAndMeldungToItem(item, ab);
- item.Absencetime = ab;
+ item.Absencetime = ab;
- AddArbeitszeitToItem(item, vertritt.EmployeeOid,2);
+ AddArbeitszeitToItem(item, vertritt.EmployeeOid,2);
- if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
- {
- foreach (var emp in _schulbegleitenderDienst.Employeesliste)
- {
- if (emp.EmployeeOid == ab.EmployeeOid)
- {
- item.EmployeeOid = ab.EmployeeOid.Value;
- item.EmployeeName = emp.FirstName + " " + emp.LastName;
- }
- }
- }
- }
- }
+ if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
+ {
+ foreach (var emp in _schulbegleitenderDienst.Employeesliste)
+ {
+ if (emp.EmployeeOid == ab.EmployeeOid)
+ {
+ item.EmployeeOid = ab.EmployeeOid.Value;
+ item.EmployeeName = emp.FirstName + " " + emp.LastName;
+ }
+ }
+ }
+ }
+ }
- //Abfragen ob Employee vorhanden
- vertretungsliste.Add(item);
- }
+ //Abfragen ob Employee vorhanden
+ vertretungsliste.Add(item);
+ }
- }
+ }
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
}
private void ErstelleItemVonWoechentlicherAbsencetimes()
{
- VertretungsListeItemsDC item = new VertretungsListeItemsDC();
+ try
+ {
+ VertretungsListeItemsDC item = new VertretungsListeItemsDC();
- foreach (var ars in _schulbegleitenderDienst.AbsenceTimeliste)
- {
- item = BuildVertertungslisteItems();
+ foreach (var ars in _schulbegleitenderDienst.AbsenceTimeliste)
+ {
+ item = BuildVertertungslisteItems();
- item.Abwesenheitskategorie = ars.Reason;
- item.Absencetime = ars;
+ item.Abwesenheitskategorie = ars.Reason;
+ item.Absencetime = ars;
- AddKrankheitsZeitraumAndMeldungToItem(item, ars);
+ AddKrankheitsZeitraumAndMeldungToItem(item, ars);
- if (ars.Start.Value.Date <= _endDate.Date && ars.End.Value.Date >= _startDate.Date )
- {
- foreach (var emp in _schulbegleitenderDienst.Employeesliste)
- {
- if (ars.EmployeeOid == emp.EmployeeOid)
- {
- item.EmployeeName = emp.FirstName + " " + emp.LastName;
- item.EmployeeOid = emp.EmployeeOid;
- }
+ if (ars.Start.Value.Date <= _endDate.Date && ars.End.Value.Date >= _startDate.Date )
+ {
+ foreach (var emp in _schulbegleitenderDienst.Employeesliste)
+ {
+ if (ars.EmployeeOid == emp.EmployeeOid)
+ {
+ item.EmployeeName = emp.FirstName + " " + emp.LastName;
+ item.EmployeeOid = emp.EmployeeOid;
+ }
- foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
- {
- if (hauptbetreuung.Key == emp.EmployeeOid && emp.EmployeeOid == ars.EmployeeOid)
- {
- foreach (var cust in _schulbegleitenderDienst.Customersliste)
- {
- foreach (var val in hauptbetreuung.Value)
- {
- if (val == cust.CustomerOid)
- {
- if (!_vorhandeneCustomerOidListe.Contains(cust.CustomerOid))
- item.Customer.Add(cust.CustomerOid, cust.FullName);
- }
- }
- }
- }
- }
- }
+ foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
+ {
+ if (hauptbetreuung.Key == emp.EmployeeOid && emp.EmployeeOid == ars.EmployeeOid)
+ {
+ foreach (var cust in _schulbegleitenderDienst.Customersliste)
+ {
+ foreach (var val in hauptbetreuung.Value)
+ {
+ if (val == cust.CustomerOid)
+ {
+ if (!_vorhandeneCustomerOidListe.Contains(cust.CustomerOid))
+ item.Customer.Add(cust.CustomerOid, cust.FullName);
+ }
+ }
+ }
+ }
+ }
+ }
- if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
- {
- foreach (var emp in _schulbegleitenderDienst.Employeesliste)
- {
- if (emp.EmployeeOid == ars.EmployeeOid)
- {
- item.EmployeeOid = ars.EmployeeOid.Value;
- item.EmployeeName = emp.FirstName + " " + emp.LastName;
+ if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
+ {
+ foreach (var emp in _schulbegleitenderDienst.Employeesliste)
+ {
+ if (emp.EmployeeOid == ars.EmployeeOid)
+ {
+ item.EmployeeOid = ars.EmployeeOid.Value;
+ item.EmployeeName = emp.FirstName + " " + emp.LastName;
- AddArbeitszeitToItem(item, emp.EmployeeOid,2);
- }
- }
- }
+ AddArbeitszeitToItem(item, emp.EmployeeOid,2);
+ }
+ }
+ }
- //Sonderfall wenn keine vertertung verfügbar und employee nicht gegeben aber absence eine customer oid besitzt
- if (item.Customer.Count == 0 && item.EmployeeOid == 0 && ars.CustomerOid.Value != 0)
- {
- foreach (var cust in _schulbegleitenderDienst.Customersliste)
- {
- if (ars.CustomerOid.Value == cust.CustomerOid)
- {
- item.Customer.Add(cust.CustomerOid, cust.FullName);
- }
- }
- }
+ //Sonderfall wenn keine vertertung verfügbar und employee nicht gegeben aber absence eine customer oid besitzt
+ if (item.Customer.Count == 0 && item.EmployeeOid == 0 && ars.CustomerOid.Value != 0)
+ {
+ foreach (var cust in _schulbegleitenderDienst.Customersliste)
+ {
+ if (ars.CustomerOid.Value == cust.CustomerOid)
+ {
+ item.Customer.Add(cust.CustomerOid, cust.FullName);
+ }
+ }
+ }
- // if (item.Customer.Count != 0 item.EmployeeOid != 0)//hier auch employee ob vorhanden abfragen // bearbeiten
- // {
- vertretungsliste.Add(item);
- // }
+ // if (item.Customer.Count != 0 item.EmployeeOid != 0)//hier auch employee ob vorhanden abfragen // bearbeiten
+ // {
+ vertretungsliste.Add(item);
+ // }
-
- }
- }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
}
- //----
+
+ #endregion
+ //-------------------------------------------------------------------------------------------------------------
- //########## Neuer bereich der ausprobiert werden soll
- private void ErmittleTimeRange(DateTime start, DateTime end, DateTime VertretStart, DateTime VertretEnd)
+
+ //-------------- Vorhandene Mitarbeiter die Keiner Vertretung zugewiesen sind.
+ #region Mitarbeiter Wochenanzeige
+
+ public void GetAlleMitarbeiterForWochenanzeige()
+ {
+ try
+ {
+ var x = DAOFactory.GenericDAO.GetAllActive();
+
+ var y = DCEntityMapper.MapperFactory.EmployeeDC_Employee.MapToNewDCs(x);
+
+ EmployeeListe = y;
+
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
+
+ public List ErstelleItemVonWoechentlicherVorhandenerMitarbeiterVertretungen()
+ {
+ try
+ {
+ //Code Für die Mitarbeiter ansicht
+
+ foreach (var employee in EmployeeListe)
+ {
+ // eine für die Mitarbeiter Wochenanzeige angepasste Liste Zurück liefern
+ Dictionary dict = new Dictionary();
+
+
+ //mit vertretung vergleichen ?? && nur mitarbeiter mitnehmen die noch einen freien tag in der vertretung haben ??
+
+ //foreach (var abs in employee.AbsenceTimes)
+ //{
+ // if (_startDate >= abs.Start.Value && _endDate <= abs.End.Value)
+ // {
+
+
+ // }
+ //}
+
+
+ //foreach (var rel in employee.RelatedCustomers)
+ //{
+ // if (!dict.ContainsKey(DateTime.Now))
+ // dict.Add(DateTime.Now, rel.Customer);
+ //}
+
+
+ VertretungsListeMitarbeiterItemsDC mVert = new VertretungsListeMitarbeiterItemsDC()
+ {
+ Employee = employee.FirstName +" "+ employee.LastName,
+ EmployeeOid = employee.EmployeeOid,
+ WochenPlan = dict,
+
+ };
+
+ if (employee.AbsenceTimes != null && employee.AbsenceTimes.Count > 0)
+ {
+ mVert.AbsenceStartDate = employee.AbsenceTimes[0].Start;
+ mVert.AbsenceEndDate = employee.AbsenceTimes[0].End;
+ }
+
+ if (employee.RelatedCustomers != null && employee.RelatedCustomers.Count > 0)
+ {
+ mVert.Customer = employee.RelatedCustomers[0].Customer;
+ }
+
+
+
+
+
+ Mitarbeiterliste.Add(mVert);
+
+ }
+
+ return Mitarbeiterliste;
+
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
+ private void ErstelleItemVonWoechentklicherVorhandenerMitarbeiterAbsencetimes()
+ {
+ try
+ {
+ //Mall sehen ob das gebraucht wird.
+
+
+
+
+
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+ #endregion
+ //---------------------------------------------------------------------------
+
+ //########## Neuer bereich der ausprobiert werden soll #########################################################################
+ #region Ermittle time Range ,Erstelle neue Vertretung
+
+
+ private void ErmittleTimeRange(DateTime start, DateTime end, DateTime vertretStart, DateTime vertretEnd)
{
var startzeit = start.TimeOfDay;
var endzeit = end.TimeOfDay;
// der Zeitraum der Vertretung muss auch überprüft werden.
- if (startzeit > VertretEnd.TimeOfDay && endzeit < VertretStart.TimeOfDay)
+ if (startzeit > vertretEnd.TimeOfDay && endzeit < vertretStart.TimeOfDay)
{
// Haben wir eine Zeitraum überschneidung, dann muss noch überprüft werden ob die Zeit sich überschneidet
// denn wenn nicht, dann soll eine Weitere Vertretung erstellt werden die die Ausstehende Zeit anzeigt oer so.
@@ -470,10 +634,12 @@ namespace BeWo.Service.SBD.Vertretung
DAOFactory.GenericDAO.Insert(x);
}
+ #endregion
+ //############################# ende Probe ####################################################################################
- //############################# ende Probe
+ #region Behilfsmethoden
- private void AddKrankheitsZeitraumAndMeldungToItem(VertretungsListeItemsDC item, AbsenceTimeDC ars)
+ private void AddKrankheitsZeitraumAndMeldungToItem(VertretungsListeItemsDC item, AbsenceTimeDC ars)
{
if (ars.Start.Value.Date != ars.End.Value.Date)
{
@@ -586,5 +752,11 @@ namespace BeWo.Service.SBD.Vertretung
return item;
}
- }
+ //neu Für Mitarbeiter Woche
+ //private
+
+
+ }
+
+ #endregion
}
diff --git a/Service/ServiceContracts/ICustomerService.cs b/Service/ServiceContracts/ICustomerService.cs
index 1c777abdd..04f7f268f 100644
--- a/Service/ServiceContracts/ICustomerService.cs
+++ b/Service/ServiceContracts/ICustomerService.cs
@@ -640,5 +640,9 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List LoadCustomerTokenRelationsByOid(IEnumerable pOids);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ PersonDC GetPersonWithCustomerOid(long oid);
}
}
\ No newline at end of file
diff --git a/Service/ServiceContracts/IEmployeeService.cs b/Service/ServiceContracts/IEmployeeService.cs
index 367d85d2b..42991949f 100644
--- a/Service/ServiceContracts/IEmployeeService.cs
+++ b/Service/ServiceContracts/IEmployeeService.cs
@@ -351,5 +351,9 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List LoadEmployeeTokenRelationsByOid(IEnumerable pOids);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ EmployeeDC GetEmployeeByID(long employeeOid);
}
}
\ No newline at end of file
diff --git a/Service/ServiceContracts/IOperationsService.cs b/Service/ServiceContracts/IOperationsService.cs
index 9385afdf2..db29456ca 100644
--- a/Service/ServiceContracts/IOperationsService.cs
+++ b/Service/ServiceContracts/IOperationsService.cs
@@ -665,5 +665,9 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List GetEmployee2TokenList();
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ List VertretungsMitarbeiterListeWoechentlich(DateTime start, DateTime ende);
}
}
\ No newline at end of file
diff --git a/Service/ServiceImplementations/CustomerServiceImp.cs b/Service/ServiceImplementations/CustomerServiceImp.cs
index 1db9ae18a..84cd044a3 100644
--- a/Service/ServiceImplementations/CustomerServiceImp.cs
+++ b/Service/ServiceImplementations/CustomerServiceImp.cs
@@ -3447,6 +3447,23 @@ namespace BeWo.Service.ServiceImplementations
}
}
+ public PersonDC GetPersonWithCustomerOid(long oid)
+ {
+ try
+ {
+ var klient = DAOFactory.GenericDAO.GetByID(oid);
+
+ var person = MapperFactory.PersonDC_Person.MapToNewDC(klient.Person);
+
+ return person;
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+
+ }
+
}
internal struct WohnheimbuchungsIntervallStruct
diff --git a/Service/ServiceImplementations/EmployeeServiceImp.cs b/Service/ServiceImplementations/EmployeeServiceImp.cs
index 82ff83dd2..7dab2da07 100644
--- a/Service/ServiceImplementations/EmployeeServiceImp.cs
+++ b/Service/ServiceImplementations/EmployeeServiceImp.cs
@@ -1320,6 +1320,20 @@ namespace BeWo.Service.ServiceImplementations
}
}
+ public EmployeeDC GetEmployeeByID(long employeeOid)
+ {
+ try
+ {
+ var employee = DAOFactory.GenericDAO.GetByID(employeeOid);
+
+ return MapperFactory.EmployeeDC_Employee.MapToNewDC(employee);
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
}
}
\ No newline at end of file
diff --git a/Service/ServiceImplementations/OperationsServiceImp.cs b/Service/ServiceImplementations/OperationsServiceImp.cs
index cd4199d91..2e7b676da 100644
--- a/Service/ServiceImplementations/OperationsServiceImp.cs
+++ b/Service/ServiceImplementations/OperationsServiceImp.cs
@@ -3841,6 +3841,22 @@ namespace BeWo.Service.ServiceImplementations
}
}
+ public List VertretungsMitarbeiterListeWoechentlich(DateTime start, DateTime ende)
+ {
+ try
+ {
+ VertretungsAlgorithmus alorythmus = new VertretungsAlgorithmus(start, ende);
+
+ var x = alorythmus.ErstelleItemVonWoechentlicherVorhandenerMitarbeiterVertretungen();
+
+ return x;
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
//hole die Range an vertretungen raus raus
public List VertretungsListeWoechentlich(DateTime start, DateTime ende)
{
diff --git a/Shared/DataContracts/VertretungsListeMitarbeiterItemsDC.cs b/Shared/DataContracts/VertretungsListeMitarbeiterItemsDC.cs
new file mode 100644
index 000000000..cf6bffeac
--- /dev/null
+++ b/Shared/DataContracts/VertretungsListeMitarbeiterItemsDC.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.Serialization;
+using BS.Shared.DataContracts.Compact;
+using DevExpress.Schedule;
+
+namespace BS.Shared.DataContracts
+{
+ [DataContract]
+ public class VertretungsListeMitarbeiterItemsDC : IDataContract
+ {
+
+ [DataMember]
+ public string Employee { get; set; }
+
+ [DataMember]
+ public Dictionary WochenPlan { get; set; }
+
+ [DataMember]
+ public long? EmployeeOid { get; set; }
+
+ [DataMember]
+ public DateTime? AbsenceStartDate { get; set; }
+
+ [DataMember]
+ public DateTime? AbsenceEndDate { get; set; }
+
+ [DataMember]
+ public CompactCustomerDC Customer { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Shared/Shared.csproj b/Shared/Shared.csproj
index 7d339d6df..28d05a3bf 100644
--- a/Shared/Shared.csproj
+++ b/Shared/Shared.csproj
@@ -177,6 +177,7 @@
+