diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj
index 34edd92b4..eb2832461 100644
--- a/BeWo/BeWo.csproj
+++ b/BeWo/BeWo.csproj
@@ -104,11 +104,13 @@
+
+
@@ -182,6 +184,10 @@
Designer
MSBuild:Compile
+
+ MSBuild:Compile
+ Designer
+
Designer
MSBuild:Compile
@@ -444,7 +450,7 @@
MSBuild:Compile
Designer
-
+
MSBuild:Compile
Designer
@@ -546,6 +552,9 @@
ProxyLoginView.xaml
+
+ SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml
+
KrankheitsZeitraumView.xaml
@@ -640,7 +649,9 @@
-
+
+
+
@@ -848,8 +859,8 @@
EmployeeArbeitszeitView.xaml
-
- SchulbegleitenderDienstCustomer.xaml
+
+ SchulbegleitenderDienst.xaml
SchulbegleitenderDienstMasterView.xaml
diff --git a/BeWo/Properties/licenses.licx b/BeWo/Properties/licenses.licx
index e69de29bb..27ee5eef5 100644
--- a/BeWo/Properties/licenses.licx
+++ b/BeWo/Properties/licenses.licx
@@ -0,0 +1 @@
+DevExpress.Xpf.RichEdit.RichEditControl, DevExpress.Xpf.RichEdit.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
index 8665850bb..ffe109fa6 100644
--- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
+++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
@@ -59,19 +59,19 @@
-
+
-
+
-
+
-
+
@@ -263,7 +263,7 @@
-
+
@@ -278,13 +278,17 @@
-
+
+
-
+
-
+
+
+
+
@@ -371,14 +375,19 @@
+
-
-
-
+
+
+
+
+
-
+
+
+
@@ -386,7 +395,7 @@
-
+
@@ -416,7 +425,7 @@
-
+
@@ -446,7 +455,7 @@
-
+
@@ -476,7 +485,7 @@
-
+
@@ -506,7 +515,7 @@
-
+
@@ -536,7 +545,7 @@
-
+
@@ -766,70 +775,7 @@
-
-
-
-
-
-
-
-
-
+
diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
index e242d8649..08a1fab38 100644
--- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
+++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
@@ -60,13 +60,16 @@ namespace BeWo.SchulbegleitenderDienst
private SchulbegleitenderDienstBearbeitungsView _view = null;
+ private SchulbegleitenderDienstMitarbeiterBearbeitungsView _viewMitarbeiter = null;
+
private KrankheitsZeitraumView _krankView = null;
private string _mitarbeiterVertretungWocheninfo = "";
private string _deletVertretungsWeek = "";
-
+ private List _mitarbeiterwochen = new List();
+
public NewSchulbegleitenderDienstView()
{
InitializeComponent();
@@ -74,7 +77,7 @@ namespace BeWo.SchulbegleitenderDienst
GridDataControlTagesansicht.ItemsSource = _items;
GridDataControlKlientenWochenansicht.ItemsSource = _itemsWochen;
- GridDataControlMitarbeiterWochenansicht.ItemsSource = _itemsWochen;
+ GridDataControlMitarbeiterWochenansicht.ItemsSource = _mitarbeiterwochen;
setAktDate();
SetAbwesenheiten();
@@ -157,6 +160,29 @@ namespace BeWo.SchulbegleitenderDienst
});
}
+ private void GetAllVertretungsFreieMitarbeiter(DateTime startDatum, DateTime endDatum)
+ {
+ ServiceFacade.DoOperationsServiceAsync(s => s.VertretungsMitarbeiterListeWoechentlich(startDatum, endDatum), r =>
+ {
+ _mitarbeiterwochen.Clear();
+
+ foreach (var item in r)
+ {
+ AddMitarbeiterItemsToGrid(item,startDatum);
+ }
+
+ // gib dem grid die VrtMiList mit
+ #region Dispatcher Refresh Grid
+ this.Dispatch(delegate
+ {
+ //GetWochenDienstFromItems(startDatum);
+ GridDataControlMitarbeiterWochenansicht.RefreshData();
+ GridDataControlMitarbeiterWochenansicht.RefreshUI();
+ });
+ #endregion
+ });
+ }
+
private void AddItemsToGrid(VertretungsListeItemsDC item)
{
int i = 0, y = 0;
@@ -265,6 +291,157 @@ namespace BeWo.SchulbegleitenderDienst
}
}
+ private void AddMitarbeiterItemsToGrid(VertretungsListeMitarbeiterItemsDC item, DateTime time)
+ {
+
+ var compactEmployee = ServiceFacade.DoEmployeeServiceSync(r => r.GetActiveCompactEmployeeWithOid(item.EmployeeOid.Value));
+
+ MitarbeiterWochenansicht x = new MitarbeiterWochenansicht()
+ {
+ Employee = item.Employee,
+ EmployeeDc = compactEmployee
+ };
+
+
+ DateTime dt = time;
+
+ DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
+
+ DateTime anfangDt;
+ DateTime endeDt;
+
+ if (item.AbsenceStartDate != null && item.AbsenceEndDate != null)
+ {
+ anfangDt = item.AbsenceStartDate.Value;
+ endeDt = item.AbsenceEndDate.Value;
+
+ DateTime montagDt = startdt.Date;
+ DateTime dienstagDt = startdt.Date.AddDays(1);
+ DateTime mittwochDt = startdt.Date.AddDays(2);
+ DateTime donnerstagDt = startdt.Date.AddDays(3);
+ DateTime freitagDt = startdt.Date.AddDays(4);
+ DateTime samstagDt = startdt.Date.AddDays(5);
+
+ //Bereich für Eingesetzt bei übernehmen von unterem code
+ //
+
+ // Montag | 0
+ x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, montagDt,item ,x,"EingesetztBeiMo", 0);
+ // Dienstag | 1
+ x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, dienstagDt, item, x, "EingesetztBeiDi", 1);
+ // Mittwoch | 2
+ x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, mittwochDt, item, x, "EingesetztBeiMi", 2);
+ //Donnerstag | 3
+ x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, donnerstagDt, item, x, "EingesetztBeiDo", 3);
+ //Freitag | 4
+ x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, freitagDt, item, x, "EingesetztBeiFr", 4);
+ // Samstag | 5
+ x = WochentageMitarbeiterVerarbeitung(anfangDt, endeDt, samstagDt, item, x, "EingesetztBeiSa", 5);
+
+ }
+
+ _mitarbeiterwochen.Add(x);
+ }
+
+ public MitarbeiterWochenansicht WochentageMitarbeiterVerarbeitung(DateTime startDt, DateTime endDt, DateTime wochenTag, VertretungsListeMitarbeiterItemsDC item, MitarbeiterWochenansicht wwk, string eingesetztBei, int wochenTagZahl)
+ {
+ // mach colles zeug
+ if (startDt.Date <= wochenTag && wochenTag <= endDt.Date)
+ {
+ if (item != null && item.Customer != null)
+ {
+
+ //------------------------------------------------------------------------------------------
+ if (item.AbsenceStartDate <= wochenTag &&
+ item.AbsenceEndDate >= wochenTag)
+ {
+ switch (wochenTagZahl)
+ {
+ case 0:
+ wwk.EingesetztBeiMo = item.Customer.FullName;
+ break;
+ case 1:
+ wwk.EingesetztBeiDi = item.Customer.FullName;
+ //wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 2:
+ wwk.EingesetztBeiMi = item.Customer.FullName;
+ //wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 3:
+ wwk.EingesetztBeiDo = item.Customer.FullName;
+ //wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 4:
+ wwk.EingesetztBeiFr = item.Customer.FullName;
+ //wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 5:
+ wwk.EingesetztBeiSa = item.Customer.FullName;
+ //wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ }
+ }
+ else
+ {
+ switch (wochenTagZahl)
+ {
+ case 0:
+ wwk.EingesetztBeiMo = "";
+ break;
+ case 1:
+ wwk.EingesetztBeiDi = "";
+ break;
+ case 2:
+ wwk.EingesetztBeiMi = "";
+ break;
+ case 3:
+ wwk.EingesetztBeiDo = "";
+ break;
+ case 4:
+ wwk.EingesetztBeiFr = "";
+ break;
+ case 5:
+ wwk.EingesetztBeiSa = "";
+ break;
+ }
+ }
+
+ //--------------------------------------------------------------------------------------------------------
+ }
+ }
+ else
+ {
+ switch (wochenTagZahl)
+ {
+ case 0:
+ wwk.EingesetztBeiMo = " ";
+ break;
+ case 1:
+ wwk.EingesetztBeiDi = " ";
+ break;
+ case 2:
+ wwk.EingesetztBeiMi = " ";
+ break;
+ case 3:
+ wwk.EingesetztBeiDo = " ";
+ break;
+ case 4:
+ wwk.EingesetztBeiFr = " ";
+ break;
+ case 5:
+ wwk.EingesetztBeiSa = " ";
+ break;
+ }
+ }
+
+ return wwk;
+ }
+
+ private Dictionary> a;
+
+ private Dictionary> klientb;
+
private void GetWochenDienstFromItems(DateTime time)
{
_itemsWochen.Clear();
@@ -275,9 +452,13 @@ namespace BeWo.SchulbegleitenderDienst
foreach (var item in _items)
{
- Dictionary> a = new Dictionary>();
+ //Dictionary> a = new Dictionary>();
- Dictionary> klientb = new Dictionary>();
+ //Dictionary> klientb = new Dictionary>();
+
+ a = new Dictionary>();
+
+ klientb = new Dictionary>();
DateTime anfangDt;
DateTime endeDt;
@@ -292,6 +473,7 @@ namespace BeWo.SchulbegleitenderDienst
DateTime freitagDt = startdt.Date.AddDays(4);
DateTime samstagDt = startdt.Date.AddDays(5);
+
Wochenansichten wwk = new Wochenansichten()
{
MaKrank = item.KrankerMitarbeiter,
@@ -299,287 +481,24 @@ namespace BeWo.SchulbegleitenderDienst
MaFrei = item.Vertretung
};
-
- #region Wochenansicht Mo - Sa
-
- if (anfangDt.Date <= montagDt && montagDt <= endeDt.Date )
- {
- if (item.VertretungsDC != null)
- {
- if (item.VertretungsDC.VertretungsZeitraumVon <= montagDt &&
- item.VertretungsDC.VertretungsZeitraumBis >= montagDt)
- {
- //########## Original ##################
- Dictionary mo = new Dictionary();
- mo.Add(montagDt, item);
-
- a.Add("VertretungMo", mo);
-
- klientb.Add("EingesetztBeiMo", mo);
-
- wwk.VertretungMo = item.Vertretung;
- wwk.EingesetztBeiMo = item.Kunde;
-
- wwk.Mo = WochenanzeigeHinzufügen(montagDt, item.Wochentagsarbeitszeit);
- //######################################
- }
- else
- {
- wwk.VertretungMo = "";
- wwk.EingesetztBeiMo = "";
- }
- }
- else
- {
- Dictionary mo = new Dictionary();
- mo.Add(montagDt, item);
-
- a.Add("VertretungMo", mo);
-
- klientb.Add("EingesetztBeiMo", mo);
-
- wwk.VertretungMo = item.Vertretung;
- wwk.EingesetztBeiMo = item.Kunde;
-
- wwk.Mo = WochenanzeigeHinzufügen(montagDt, item.Wochentagsarbeitszeit);
- } //bis hierhin nicht original
- }
- else
- {
- //###Original
- wwk.VertretungMo = " ";
- wwk.EingesetztBeiMo = " ";
- //#######
- }
-
- if (anfangDt.Date <= dienstagDt && dienstagDt <= endeDt.Date)
- {
- if (item.VertretungsDC != null)
- {
- if (item.VertretungsDC.VertretungsZeitraumVon <= mittwochDt &&
- item.VertretungsDC.VertretungsZeitraumBis >= mittwochDt)
- {
- Dictionary di = new Dictionary();
- di.Add(dienstagDt, item);
-
- a.Add("VertretungDi", di);
-
- klientb.Add("EingesetztBeiDi", di);
-
- wwk.VertretungDi = item.Vertretung;
- wwk.EingesetztBeiDi = item.Kunde;
-
- wwk.Di = WochenanzeigeHinzufügen(dienstagDt, item.Wochentagsarbeitszeit);
- }
- else
- {
- wwk.VertretungDi = "";
- wwk.EingesetztBeiDi = "";
- }
- }
- else
- {
- Dictionary di = new Dictionary();
- di.Add(dienstagDt, item);
-
- a.Add("VertretungDi", di);
-
- klientb.Add("EingesetztBeiDi", di);
-
- wwk.VertretungDi = item.Vertretung;
- wwk.EingesetztBeiDi = item.Kunde;
-
- wwk.Di = WochenanzeigeHinzufügen(dienstagDt, item.Wochentagsarbeitszeit);
- }
- }
- else
- {
- wwk.VertretungDi = " ";
- wwk.EingesetztBeiDi = " ";
- }
-
- if (anfangDt.Date <= mittwochDt && mittwochDt <= endeDt.Date)
- {
- if (item.VertretungsDC != null)
- {
- if (item.VertretungsDC.VertretungsZeitraumVon <= mittwochDt &&
- item.VertretungsDC.VertretungsZeitraumBis >= mittwochDt)
- {
- Dictionary mi = new Dictionary();
- mi.Add(mittwochDt, item);
-
- a.Add("VertretungMi", mi);
- klientb.Add("EingesetztBeiMi", mi);
-
- wwk.VertretungMi = item.Vertretung;
- wwk.EingesetztBeiMi = item.Kunde;
-
- wwk.Mi = WochenanzeigeHinzufügen(mittwochDt, item.Wochentagsarbeitszeit);
- }
- else
- {
- wwk.VertretungMi = "";
- wwk.EingesetztBeiMi = "";
- }
- }
- else
- {
- Dictionary mi = new Dictionary();
- mi.Add(mittwochDt, item);
-
- a.Add("VertretungMi", mi);
- klientb.Add("EingesetztBeiMi", mi);
-
- wwk.VertretungMi = item.Vertretung;
- wwk.EingesetztBeiMi = item.Kunde;
-
- wwk.Mi = WochenanzeigeHinzufügen(mittwochDt, item.Wochentagsarbeitszeit);
- }
- }
- else
- {
- wwk.VertretungMi = " ";
- wwk.EingesetztBeiMi = " ";
- }
-
-
- if (anfangDt.Date <= donnerstagDt && donnerstagDt <= endeDt.Date)
- {
- if (item.VertretungsDC != null)
- {
- if (item.VertretungsDC.VertretungsZeitraumVon <= donnerstagDt &&
- item.VertretungsDC.VertretungsZeitraumBis >= donnerstagDt)
- {
- Dictionary Do = new Dictionary();
- Do.Add(donnerstagDt, item);
-
- a.Add("VertretungDo", Do);
- klientb.Add("EingesetztBeiDo", Do);
-
- wwk.VertretungDo = item.Vertretung;
- wwk.EingesetztBeiDo = item.Kunde;
-
- wwk.Do = WochenanzeigeHinzufügen(donnerstagDt, item.Wochentagsarbeitszeit);
- }
- else
- {
- wwk.VertretungDo = "";
- wwk.EingesetztBeiDo = "";
- }
- }
- else
- {
- Dictionary Do = new Dictionary();
- Do.Add(donnerstagDt, item);
-
- a.Add("VertretungDo", Do);
- klientb.Add("EingesetztBeiDo", Do);
-
- wwk.VertretungDo = item.Vertretung;
- wwk.EingesetztBeiDo = item.Kunde;
-
- wwk.Do = WochenanzeigeHinzufügen(donnerstagDt, item.Wochentagsarbeitszeit);
- }
- }
- else
- {
- wwk.VertretungDo = " ";
- wwk.EingesetztBeiDo = " ";
- }
-
- if (anfangDt.Date <= freitagDt && freitagDt <= endeDt.Date)
- {
- if (item.VertretungsDC != null)
- {
- if (item.VertretungsDC.VertretungsZeitraumVon <= freitagDt &&
- item.VertretungsDC.VertretungsZeitraumBis >= freitagDt)
- {
- Dictionary fr = new Dictionary();
- fr.Add(freitagDt, item);
-
- a.Add("VertretungFr", fr);
- klientb.Add("EingesetztBeiFr", fr);
-
- wwk.VertretungFr = item.Vertretung;
- wwk.EingesetztBeiFr = item.Kunde;
-
- wwk.Fr = WochenanzeigeHinzufügen(freitagDt, item.Wochentagsarbeitszeit);
- }
- else
- {
- wwk.VertretungFr = "";
- wwk.EingesetztBeiFr = "";
- }
- }
- else
- {
- //###Origianl###
- Dictionary fr = new Dictionary();
- fr.Add(freitagDt, item);
-
- a.Add("VertretungFr", fr);
- klientb.Add("EingesetztBeiFr", fr);
-
- wwk.VertretungFr = item.Vertretung;
- wwk.EingesetztBeiFr = item.Kunde;
-
- wwk.Fr = WochenanzeigeHinzufügen(freitagDt, item.Wochentagsarbeitszeit);
- //###Original###
- }
- }
- else
- {
- wwk.VertretungFr = " ";
- wwk.EingesetztBeiFr = " ";
- }
-
- if (anfangDt.Date <= samstagDt && samstagDt <= endeDt.Date)
- {
- if (item.VertretungsDC != null)
- {
- if (item.VertretungsDC.VertretungsZeitraumVon <= samstagDt &&
- item.VertretungsDC.VertretungsZeitraumBis >= samstagDt)
- {
- Dictionary sa = new Dictionary();
- sa.Add(samstagDt, item); // item.vertreteroid
-
- a.Add("VertretungSa", sa);
- klientb.Add("EingesetztBeiSa", sa);
-
- wwk.VertretungSa = item.Vertretung;
- wwk.EingesetztBeiSa = item.Kunde;
-
- wwk.Sa = WochenanzeigeHinzufügen(samstagDt, item.Wochentagsarbeitszeit);
-
- }
- else
- {
- wwk.VertretungSa = "";
- wwk.EingesetztBeiSa = "";
- }
- }
- else
- {
- Dictionary sa = new Dictionary();
- sa.Add(samstagDt, item); // item.vertreteroid
-
- a.Add("VertretungSa", sa);
- klientb.Add("EingesetztBeiSa", sa);
-
- wwk.VertretungSa = item.Vertretung;
- wwk.EingesetztBeiSa = item.Kunde;
-
- wwk.Sa = WochenanzeigeHinzufügen(samstagDt, item.Wochentagsarbeitszeit);
- }
- }
- else
- {
- wwk.VertretungSa = " ";
- wwk.EingesetztBeiSa = " ";
- }
-
- #endregion
-
+
+ // Montag | 0
+ wwk = WochentagVerarbeitung(anfangDt, endeDt, montagDt, item, "VertretungMo", "EingesetztBeiMo",wwk,0);
+
+ //Dienstag | 1
+ wwk = WochentagVerarbeitung(anfangDt, endeDt, dienstagDt, item, "VertretungDi", "EingesetztBeiDi",wwk,1);
+
+ //Mittwoch | 2
+ wwk = WochentagVerarbeitung(anfangDt, endeDt, mittwochDt, item, "VertretungMi", "EingesetztBeiMi",wwk,2);
+
+ //Donnerstag | 3
+ wwk = WochentagVerarbeitung(anfangDt, endeDt, donnerstagDt, item, "VertretungDo", "EingesetztBeiDo",wwk,3);
+
+ //Freitag | 4
+ wwk = WochentagVerarbeitung(anfangDt, endeDt, freitagDt, item, "VertretungFr", "EingesetztBeiFr",wwk,4);
+
+ //Samstag | 5
+ wwk = WochentagVerarbeitung(anfangDt, endeDt, samstagDt, item, "VertretungSa", "EingesetztBeiSa",wwk,5);
wwk.VertretungsWoche = a;
@@ -590,15 +509,17 @@ namespace BeWo.SchulbegleitenderDienst
}
- GridDataControlMitarbeiterWochenansicht.RefreshData();
- GridDataControlMitarbeiterWochenansicht.RefreshUI();
+ // GridDataControlMitarbeiterWochenansicht.RefreshData();
+ // GridDataControlMitarbeiterWochenansicht.RefreshUI();
GridDataControlKlientenWochenansicht.RefreshData();
GridDataControlKlientenWochenansicht.RefreshUI();
}
- //--- Behelfs Methoden
- private string WochenanzeigeHinzufügen(DateTime dayOfWeekDateTime, Dictionary wochentagsarbeitszeit)
+
+#region BehelfsMethoden
+
+ private string WochenanzeigeHinzufügen(DateTime dayOfWeekDateTime, Dictionary wochentagsarbeitszeit)
{
if (wochentagsarbeitszeit.Count != 0)
{
@@ -614,6 +535,167 @@ namespace BeWo.SchulbegleitenderDienst
return "";
}
+ private Wochenansichten WochentagVerarbeitung(DateTime anfangDt, DateTime endeDt, DateTime wochentagDt, SchulbegleitenderDienst item,string vertretungstag, string einsetzungstag,Wochenansichten wwk ,int i)
+ {
+ if (anfangDt.Date <= wochentagDt && wochentagDt <= endeDt.Date)
+ {
+ if (item.VertretungsDC != null)
+ {
+ if (item.VertretungsDC.VertretungsZeitraumVon <= wochentagDt &&
+ item.VertretungsDC.VertretungsZeitraumBis >= wochentagDt)
+ {
+ Dictionary sa = new Dictionary();
+ sa.Add(wochentagDt, item); // item.vertreteroid
+
+ a.Add(vertretungstag, sa);
+ klientb.Add(einsetzungstag, sa);
+
+ switch (i)
+ {
+ case 0:
+ wwk.VertretungMo = item.Vertretung;
+ // wwk.EingesetztBeiMo = item.Kunde;
+ wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 1:
+ wwk.VertretungDi = item.Vertretung;
+ // wwk.EingesetztBeiDi = item.Kunde;
+ wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 2:
+ wwk.VertretungMi = item.Vertretung;
+ // wwk.EingesetztBeiMi = item.Kunde;
+ wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 3:
+ wwk.VertretungDo = item.Vertretung;
+ // wwk.EingesetztBeiDo = item.Kunde;
+ wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 4:
+ wwk.VertretungFr = item.Vertretung;
+ // wwk.EingesetztBeiFr = item.Kunde;
+ wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 5:
+ wwk.VertretungSa = item.Vertretung;
+ // wwk.EingesetztBeiSa = item.Kunde;
+ wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ }
+
+ }
+ else
+ {
+ switch (i)
+ {
+ case 0:
+ wwk.VertretungMo = "";
+ // wwk.EingesetztBeiMo = "";
+ break;
+ case 1:
+ wwk.VertretungDi = "";
+ // wwk.EingesetztBeiDi = "";
+ break;
+ case 2:
+ wwk.VertretungMi = "";
+ // wwk.EingesetztBeiMi = "";
+ break;
+ case 3:
+ wwk.VertretungDo = "";
+ //wwk.EingesetztBeiDo = "";
+ break;
+ case 4:
+ wwk.VertretungFr = "";
+ // wwk.EingesetztBeiFr = "";
+ break;
+ case 5:
+ wwk.VertretungSa = "";
+ // wwk.EingesetztBeiSa = "";
+ break;
+ }
+ }
+ }
+ else
+ {
+ Dictionary sa = new Dictionary();
+ sa.Add(wochentagDt, item); // item.vertreteroid
+
+ a.Add(vertretungstag, sa);
+ klientb.Add(einsetzungstag, sa);
+
+ switch (i)
+ {
+ case 0:
+ wwk.VertretungMo = item.Vertretung;
+ // wwk.EingesetztBeiMo = item.Kunde;
+ wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 1:
+ wwk.VertretungDi = item.Vertretung;
+ // wwk.EingesetztBeiDi = item.Kunde;
+ wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 2:
+ wwk.VertretungMi = item.Vertretung;
+ // wwk.EingesetztBeiMi = item.Kunde;
+ wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 3:
+ wwk.VertretungDo = item.Vertretung;
+ // wwk.EingesetztBeiDo = item.Kunde;
+ wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 4:
+ wwk.VertretungFr = item.Vertretung;
+ // wwk.EingesetztBeiFr = item.Kunde;
+ wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 5:
+ wwk.VertretungSa = item.Vertretung;
+ // wwk.EingesetztBeiSa = item.Kunde;
+ wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ }
+ }
+ }
+ else
+ {
+ switch (i)
+ {
+ case 0:
+ wwk.VertretungMo = " ";
+ // wwk.EingesetztBeiMo = " ";
+ break;
+ case 1:
+ wwk.VertretungDi = " ";
+ // wwk.EingesetztBeiDi = " ";
+ break;
+ case 2:
+ wwk.VertretungMi = " ";
+ // wwk.EingesetztBeiMi = " ";
+ break;
+ case 3:
+ wwk.VertretungDo = " ";
+ // wwk.EingesetztBeiDo = " ";
+ break;
+ case 4:
+ wwk.VertretungFr = " ";
+ // wwk.EingesetztBeiFr = " ";
+ break;
+ case 5:
+ wwk.VertretungSa = " ";
+ // wwk.EingesetztBeiSa = " ";
+ break;
+ }
+
+ }
+
+ return wwk;
+
+
+ }
+
private SchulbegleitenderDienst Vertretungsgedoense(SchulbegleitenderDienst xyc, VertretungsListeItemsDC item,int i)
{
if (item.Vertretung.VertretungsZeitraumVon.Date != item.Vertretung.VertretungsZeitraumBis.Date)
@@ -683,6 +765,7 @@ namespace BeWo.SchulbegleitenderDienst
}
+#endregion
#region Mitarbeiter Vertretungs Datum von - bis
@@ -707,8 +790,7 @@ namespace BeWo.SchulbegleitenderDienst
}
#endregion
-
-
+
#region Klienten Vertretungs Datum von - bis
private void KVDatepickerVon_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
@@ -730,8 +812,7 @@ namespace BeWo.SchulbegleitenderDienst
}
#endregion
-
-
+
#region Mitarbeiter Vertretung
private CompactEmployeeDC currentEmployee;
@@ -793,7 +874,7 @@ namespace BeWo.SchulbegleitenderDienst
{
bool xsf = false;
- if (!popupedit_MitarbeiterVertretungSearch.Text.Equals("") && ComboBoxMitarbeiterVertretung.SelectedValue != null ) //zusätzliche abfragen hinzufügen
+ if (!popupedit_MitarbeiterVertretungSearch.Text.Equals("") && ComboBoxMitarbeiterVertretung.SelectedValue != null )
{
if (MVCheckBox.IsChecked.Value )
@@ -802,9 +883,43 @@ namespace BeWo.SchulbegleitenderDienst
}
else
{
- if (!MVDatepicker_UhrzeitVon.Text.Equals("") && !MVDatepicker_UhrzeitBis.Text.Equals(""))
- {
- xsf = true;
+ if (!MVDatepicker_UhrzeitVon.Text.Equals("") && !MVDatepicker_UhrzeitBis.Text.Equals(""))
+ {
+ string uVon="";
+ string uBis="";
+
+ if (MVDatepicker_UhrzeitVon.Text.Length < 5)
+ {
+ uVon = "0" + MVDatepicker_UhrzeitVon.Text;
+ }
+ else
+ {
+ uVon = MVDatepicker_UhrzeitVon.Text;
+ }
+
+ if (MVDatepicker_UhrzeitBis.Text.Length < 5)
+ {
+ uBis = "0" + MVDatepicker_UhrzeitBis.Text;
+ }
+ else
+ {
+ uBis = MVDatepicker_UhrzeitBis.Text;
+ }
+
+ var von = DateTime.ParseExact(uVon, "HH:mm", CultureInfo.CurrentCulture);
+
+ var bis = DateTime.ParseExact(uBis, "HH:mm", CultureInfo.CurrentCulture);
+
+
+ if (von <= bis)
+ {
+ xsf = true;
+ }
+ else
+ {
+ MessageBox.Show("Die Startzeit muss kleiner als die Endzeit sein.");
+ }
+
}
else
{
@@ -855,10 +970,28 @@ namespace BeWo.SchulbegleitenderDienst
}
else
{
- var xvon = MVDatepicker_UhrzeitVon.Text;
+ string xvon = "";
+ string yvon = "";
+
+ if (MVDatepicker_UhrzeitVon.Text.Length < 5){
+ xvon = "0" + MVDatepicker_UhrzeitVon.Text;
+ }
+ else
+ {
+ xvon = MVDatepicker_UhrzeitVon.Text;
+ }
+
+ if (MVDatepicker_UhrzeitBis.Text.Length < 5)
+ {
+ yvon = "0" + MVDatepicker_UhrzeitBis.Text;
+ }
+ else
+ {
+ yvon = MVDatepicker_UhrzeitBis.Text;
+ }
+
DateTime dateTimeStart = DateTime.ParseExact(xvon, "HH:mm", CultureInfo.CurrentCulture);
-
- var yvon = MVDatepicker_UhrzeitBis.Text;
+
DateTime dateTimeEnd = DateTime.ParseExact(yvon, "HH:mm", CultureInfo.CurrentCulture);
var start = new DateTime(MVDatepickerVon.DateTime.Date.Year, MVDatepickerVon.DateTime.Date.Month, MVDatepickerVon.DateTime.Date.Day, dateTimeStart.Hour, dateTimeStart.Minute, dateTimeStart.Second);
@@ -879,7 +1012,6 @@ namespace BeWo.SchulbegleitenderDienst
}
#endregion
-
#region Klient Vertretung
private CompactCustomerDC currentKlient;
@@ -946,7 +1078,7 @@ namespace BeWo.SchulbegleitenderDienst
{
bool xsf = false;
- if (!popupedit_KlientVertretungSearch.Text.Equals("") && ComboBoxKlientVertretung.SelectedValue != null)
+ if (!popupedit_KlientVertretungSearch.Text.Equals("") && ComboBoxKlientVertretung.SelectedValue != null)
{
if (KVCheckBox.IsChecked.Value)
{
@@ -954,9 +1086,42 @@ namespace BeWo.SchulbegleitenderDienst
}
else
{
- if (!KVDatepicker_UhrzeitVon.Text.Equals("") && !KVDatepicker_UhrzeitBis.Text.Equals(""))
+ if (!KVDatepicker_UhrzeitVon.Text.Equals("") && !KVDatepicker_UhrzeitBis.Text.Equals(""))
{
- xsf = true;
+ string uVon="";
+ string uBis="";
+
+ if (KVDatepicker_UhrzeitVon.Text.Length < 5)
+ {
+ uVon = "0" + KVDatepicker_UhrzeitVon.Text;
+ }
+ else
+ {
+ uVon = KVDatepicker_UhrzeitVon.Text;
+ }
+
+ if (KVDatepicker_UhrzeitBis.Text.Length < 5)
+ {
+ uBis = "0" + KVDatepicker_UhrzeitBis.Text;
+ }
+ else
+ {
+ uBis = KVDatepicker_UhrzeitBis.Text;
+ }
+
+ var von = DateTime.ParseExact(uVon, "HH:mm", CultureInfo.CurrentCulture);
+
+ var bis = DateTime.ParseExact(uBis, "HH:mm", CultureInfo.CurrentCulture);
+
+
+ if (von <= bis)
+ {
+ xsf = true;
+ }
+ else
+ {
+ MessageBox.Show("Die Startzeit muss kleiner als die Endzeit sein.");
+ }
}
else
{
@@ -1006,10 +1171,29 @@ namespace BeWo.SchulbegleitenderDienst
}
else
{
- var xvon = KVDatepicker_UhrzeitVon.Text;
+ string xvon = "";
+ string yvon = "";
+
+ if (KVDatepicker_UhrzeitVon.Text.Length < 5)
+ {
+ xvon = "0" + KVDatepicker_UhrzeitVon.Text;
+ }
+ else
+ {
+ xvon = KVDatepicker_UhrzeitVon.Text;
+ }
+
+ if (KVDatepicker_UhrzeitBis.Text.Length < 5)
+ {
+ yvon = "0" + KVDatepicker_UhrzeitBis.Text;
+ }
+ else
+ {
+ yvon = KVDatepicker_UhrzeitBis.Text;
+ }
+
DateTime dateTimeStart = DateTime.ParseExact(xvon, "HH:mm", CultureInfo.CurrentCulture);
- var yvon = KVDatepicker_UhrzeitBis.Text;
DateTime dateTimeEnd = DateTime.ParseExact(yvon, "HH:mm", CultureInfo.CurrentCulture);
var start = new DateTime(KVDatepickerVon.DateTime.Date.Year, KVDatepickerVon.DateTime.Date.Month, KVDatepickerVon.DateTime.Date.Day, dateTimeStart.Hour, dateTimeStart.Minute, dateTimeStart.Second);
@@ -1030,7 +1214,7 @@ namespace BeWo.SchulbegleitenderDienst
#endregion
- //######################### Action Event Listener ###########################
+ //######################### Action Event Bereich ###########################
private void Datepicker_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
{
@@ -1047,7 +1231,15 @@ namespace BeWo.SchulbegleitenderDienst
DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
DateTime enddt = startdt.AddDays(5);
- GetAllVertrungenFromWeekRange(startdt,enddt);
+ if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
+ {
+ GetAllVertrungenFromWeekRange(startdt,enddt);
+ }
+ else if (GridDataControlMitarbeiterWochenansicht.Visibility == Visibility.Visible)
+ {
+ GetAllVertretungsFreieMitarbeiter(startdt,enddt);
+ }
+
RenameColumnHeader(dt);
Datelbl.Content = "KW " + dt.GetIso8601WeekOfYear() + " / " + startdt.ToString("dd.MM.yyyy") + " - " + enddt.ToString("dd.MM.yyyy");
@@ -1056,29 +1248,120 @@ namespace BeWo.SchulbegleitenderDienst
}
- //Fertig Bug Button anclickbar obwohl nicht sichtbar
- private void KlientenWochenAnzeigeSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e)
+#region Tages / Wochen Vertretungsanzeige
+
+ #region Mitarbeiter Wochen Vertretung verarbeitung
+
+ private void AddKlientToMitarbeiter_OnClick(object sender, RoutedEventArgs e)
+ {
+ var mitarbeiterView = (MitarbeiterWochenansicht)GridDataControlMitarbeiterWochenansicht.SelectedItem;
+
+ CompactEmployeeDC employee = mitarbeiterView.EmployeeDc;
+
+ if (_viewMitarbeiter == null)
+ {
+ _viewMitarbeiter = new SchulbegleitenderDienstMitarbeiterBearbeitungsView(DateTime.Now, DateTime.Now, DateTime.Now, employee.EmployeeOid);
+
+ _viewMitarbeiter.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomMitarbeiterEvent);
+ _viewMitarbeiter.ShowDialog();
+ }
+ else
+ {
+ _viewMitarbeiter.Close();
+ _viewMitarbeiter = new SchulbegleitenderDienstMitarbeiterBearbeitungsView(DateTime.Now, DateTime.Now, DateTime.Now, employee.EmployeeOid);
+
+ _viewMitarbeiter.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomMitarbeiterEvent);
+ _viewMitarbeiter.ShowDialog();
+ }
+ }
+
+ private void newWindow_RaiseCustomMitarbeiterEvent(object sender, CustomKlientEventArgs e)
+ {
+ UpdateKlientToVertretendenMitarbeiter(e.Message, e.StartDate, e.EndDate);
+
+ _viewMitarbeiter.Close();
+ }
+
+ //Anpassen Weil nicht funktionsfähig
+ private void UpdateKlientToVertretendenMitarbeiter(CompactCustomerDC customer, DateTime? start, DateTime? ende)
+ {
+ var a = (MitarbeiterWochenansicht)GridDataControlMitarbeiterWochenansicht.SelectedItem;
+
+ var tag = GridDataControlMitarbeiterWochenansicht.CurrentColumn.FieldName;
+
+ //bereich das heute fertig gestellt wird
+
+ //VertretungDC vert = new VertretungDC()
+ //{
+ // CustomerOid = customer.CustomerOid,
+ // EmployeeOid = a.mitarbeiteroid, // ?? das muss wahrscheinlich vom kustomer ermittelt werden
+ // VertretungsZeitraumVon = start.Value,
+ // VertretungsZeitraumBis = ende.Value,
+ // AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid, // hmm wie wird das gehandelt ??
+ // VertretenderMitarbeiterOid = a.EmployeeDc.EmployeeOid // Oid Vom Mitarbeiter
+ //};
+
+ //abfrage wegen update oder create | dazu die Verfügbare Vertretung bei Mitarbeiter wochenansicht bearbeiten
+ //if ()
+ //{
+ // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
+ //}
+ //else
+ //{
+ // ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
+ //}
+
+
+ //Schabernack das keiner braucht
+ //foreach (var woche in a.KlientvertretungsWoche)
+ //{
+ //if (woche.Key.Equals(tag))
+ //{
+ // foreach (var item in woche.Value)
+ // {
+ //VertretungDC vert = new VertretungDC();
+ //if (item.Value.VertretungsDC != null)
+ //{
+ // vert = item.Value.VertretungsDC;
+ // vert.EmployeeOid = item.Value.Mitarbeiteroid;
+ // vert.AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value;
+ // vert.Notice = item.Value.Beschreibung;
+
+ // vert.VertretungsZeitraumVon = item.Key;
+ // vert.VertretungsZeitraumBis = item.Key;
+
+ // vert.CustomerOid = customer.CustomerOid;
+
+
+ // ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
+ //}
+ //else
+ //{
+ // vert.EmployeeOid = item.Value.Mitarbeiteroid;
+ // vert.AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value;
+ // vert.Notice = item.Value.Beschreibung;
+
+ // vert.VertretungsZeitraumVon = item.Key;
+ // vert.VertretungsZeitraumBis = item.Key;
+
+ // vert.CustomerOid = customer.CustomerOid;
+
+ // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
+ //}
+ //}
+ //}
+ }
+
+ #endregion
+
+ #region Klient Wochen Vertretung verarbeiten
+
+ private void KlientenWochenAnzeigeSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e)
{
- //Es gibt noch probleme -> Button anclickbar obwohl nicht sichtbar
- //Rufe hier ein Neues Fenster auf das VErschiedenste Settings bearbeitet
-
- //Button ifo =(Button) sender;
- var ifo = sender;
-
-
- //if (CheckColumnIfFocused())
- //{
-
- // MessageBox.Show("Ist fokusiert oder so.");
-
- //}
-
var a = (Wochenansichten)GridDataControlKlientenWochenansicht.SelectedItem;
-
var tag = GridDataControlKlientenWochenansicht.CurrentColumn.FieldName;
-
VertretungDC vertretung = new VertretungDC();
AbsenceTimeDC absenceTime = new AbsenceTimeDC();
foreach (var vert in a.KlientvertretungsWoche)
@@ -1099,17 +1382,17 @@ namespace BeWo.SchulbegleitenderDienst
//if(vertretung.EmployeeOid != 0){
if (_view == null)
{
- _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, Datepicker.DateTime);
+ _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, Datepicker.DateTime,vertretung.CustomerOid );
- _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent);
+ _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent);
_view.ShowDialog();
}
else
{
_view.Close();
- _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, Datepicker.DateTime);
+ _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, Datepicker.DateTime, vertretung.CustomerOid);
- _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent);
+ _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent);
_view.ShowDialog();
}
//}
@@ -1122,146 +1405,16 @@ namespace BeWo.SchulbegleitenderDienst
{
MessageBox.Show("Fehler");
}
-
}
-
-
- //private bool CheckColumnIfFocused()
- //{
- // //Check die Column if Vertretung ist Selected
- // //dann true else False
-
- // //get Selected Column und farge ob diese sich in der Vertrtung befindet
-
- // foreach (var col in GridDataControlTagesansicht.Columns)
- // {
- // if (col.FieldName.Equals("Vertretung"))
- // {
- // //hier muss kram hin
-
- // //if ()
- // //{
- // // return true;
- // //}
- // }
- // }
-
- // return false;
- //}
-
-
- private void TagesansichtSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e)
- {
- //if (istFocus)
- //{
- // MessageBox.Show("Ist fokusiert oder so.");
- //}
- //Button i = (Button) sender;
-
- //if (i.Visibility == Visibility.Collapsed)
- //{
- // MessageBox.Show("Ist fokusiert oder so.");
- //}
-
- var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
-
- if (a.Mitarbeiteroid != 0)
- {
-
- if (_view == null)
- {
- _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime);
-
- _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent);
- _view.ShowDialog();
- }
- else
- {
- _view.Close();
- _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime);
-
- _view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent);
- _view.ShowDialog();
- }
-
-
- }else
- {
- MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen.");
- }
-
- }
-
- private void newWindow_RaiseCustomEvent(object sender, CustomEventArgs e)
+
+ private void KlientenWochen_RaiseCustomEvent(object sender, CustomEventArgs e)
{
- if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
- {
- UpdateMitarbeiterToVertretung(e.Message,e.StartDate,e.EndDate);
- }
- else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
- {
- UpdateMitarbeiterToVertretungKlientenWochenansicht(e.Message,e.StartDate,e.EndDate);
- }
- else
- {
- _view.Close();
- }
+ UpdateMitarbeiterToVertretungKlientenWochenansicht(e.Message, e.StartDate, e.EndDate);
+
+ _view.Close();
}
-
- private void newWindowKlient_RaiseCustomEvent(object sender, CustomKlientEventArgs e)
- {
- UpdateKlientToVertretungMitarbeiterWochenansicht(e.Message);
- }
-
- private void UpdateMitarbeiterToVertretung(CompactEmployeeDC employee,DateTime? startDate, DateTime? endDate)
- {
- var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
-
- VertretungDC vert = new VertretungDC()
- {
- CustomerOid = a.Klientoid,
- EmployeeOid = a.Mitarbeiteroid,
- VertretungsZeitraumVon = startDate.Value,
- VertretungsZeitraumBis = endDate.Value,
- AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid,
- VertretenderMitarbeiterOid = employee.EmployeeOid,
- Notice = a.Beschreibung
- };
-
- AbsenceTimeDC abstime = new AbsenceTimeDC()
- {
- AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid,
- Start = a.StartD,
- End = a.EndD,
- Reason = a.AbwesenheitsKategorie,
- KrankheitsMeldung = a.KrankheitsMeldung
- };
-
- if (a.VertretungsDC != null)
- {
- vert.VertretungOid = a.VertretungsDC.VertretungOid;
- ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
- }
- else
- {
- ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
- //if (a.vertreteroid != 0)
- //{
- // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
- //}
- //else
- //{
- // ServiceFacade.DoOperationsServiceSync(s => s.UpdateAbsenceTime(abstime));
- //}
- }
-
- _view.Close();
-
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
-
- }
-
- private void UpdateMitarbeiterToVertretungKlientenWochenansicht(CompactEmployeeDC employee, DateTime? startDate, DateTime? endDate)
+
+ private void UpdateMitarbeiterToVertretungKlientenWochenansicht(CompactEmployeeDC employee, DateTime? startDate, DateTime? endDate)
{
var a = (Wochenansichten) GridDataControlKlientenWochenansicht.SelectedItem;
@@ -1307,14 +1460,11 @@ namespace BeWo.SchulbegleitenderDienst
ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
}
else
- {
-
-
-
+ {
+ //ggf. ermöglichen das nicht der ganze zeitraum gesetzt wird.
+ //zur zeit wird hier die Gesamte Krankheitszeit
ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
}
-
-
}
_view.Close();
@@ -1324,68 +1474,100 @@ namespace BeWo.SchulbegleitenderDienst
}
}
- //wird zurzeit nicht genutzt
- private void UpdateKlientToVertretungMitarbeiterWochenansicht(CompactCustomerDC customer)
+ #endregion
+
+ #region Tages Klient Vertretung verarbeiten
+
+ private void TagesansichtSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e)
+ {
+ var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
+
+ if (a.Mitarbeiteroid != 0)
+ {
+ if (_view == null)
+ {
+ _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime, a.Klientoid);
+
+ _view.RaiseCustomEvent += new EventHandler(Tagesansicht_RaiseCustomEvent);
+ _view.ShowDialog();
+ }
+ else
+ {
+ _view.Close();
+ _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, Datepicker.DateTime, a.Klientoid);
+
+ _view.RaiseCustomEvent += new EventHandler(Tagesansicht_RaiseCustomEvent);
+ _view.ShowDialog();
+ }
+ }
+ else
+ {
+ MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen.");
+ }
+ }
+
+ private void Tagesansicht_RaiseCustomEvent(object sender, CustomEventArgs e)
+ {
+ UpdateMitarbeiterToVertretung(e.Message, e.StartDate, e.EndDate);
+
+ _view.Close();
+ }
+
+ private void UpdateMitarbeiterToVertretung(CompactEmployeeDC employee,DateTime? startDate, DateTime? endDate)
{
- var a = (Wochenansichten)GridDataControlMitarbeiterWochenansicht.SelectedItem;
+ var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
- var tag = GridDataControlMitarbeiterWochenansicht.CurrentColumn.FieldName;
- //bereich das heute fertig gestellt wird
-
- //VertretungDC vert = new VertretungDC()
- //{
- // CustomerOid = a.klientoid,
- // EmployeeOid = a.mitarbeiteroid,
- // VertretungsZeitraumVon = a.startD,
- // VertretungsZeitraumBis = a.endD,
- // AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid,
- // VertretenderMitarbeiterOid = a.vertreteroid
- //};
-
- foreach (var woche in a.KlientvertretungsWoche)
+ VertretungDC vert = new VertretungDC()
{
- if (woche.Key.Equals(tag))
- {
- foreach (var item in woche.Value)
- {
- VertretungDC vert = new VertretungDC();
- if (item.Value.VertretungsDC != null)
- {
- vert = item.Value.VertretungsDC;
- vert.EmployeeOid = item.Value.Mitarbeiteroid;
- vert.AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value;
- vert.Notice = item.Value.Beschreibung;
+ CustomerOid = a.Klientoid,
+ EmployeeOid = a.Mitarbeiteroid,
+ VertretungsZeitraumVon = startDate.Value,
+ VertretungsZeitraumBis = endDate.Value,
+ AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid,
+ VertretenderMitarbeiterOid = employee.EmployeeOid,
+ Notice = a.Beschreibung
+ };
+
+ //rausnehmen
+ //AbsenceTimeDC abstime = new AbsenceTimeDC()
+ //{
+ // AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid,
+ // Start = a.StartD,
+ // End = a.EndD,
+ // Reason = a.AbwesenheitsKategorie,
+ // KrankheitsMeldung = a.KrankheitsMeldung
+ //};
- vert.VertretungsZeitraumVon = item.Key;
- vert.VertretungsZeitraumBis = item.Key;
-
- vert.CustomerOid = customer.CustomerOid;
-
-
- ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
- }
- else
- {
- vert.EmployeeOid = item.Value.Mitarbeiteroid;
- vert.AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value;
- vert.Notice = item.Value.Beschreibung;
-
- vert.VertretungsZeitraumVon = item.Key;
- vert.VertretungsZeitraumBis = item.Key;
-
- vert.CustomerOid = customer.CustomerOid;
-
- ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
- }
- }
- }
+ if (a.VertretungsDC != null)
+ {
+ vert.VertretungOid = a.VertretungsDC.VertretungOid;
+ ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
}
-
- //MessageBox.Show("Diese Funktion ist derzeitig nicht verfügbar");
- //zudem müssen alle anderen mitarbeiter auch in die Liste
+ else
+ {
+ ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
+ //if (a.vertreteroid != 0)
+ //{
+ // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
+ //}
+ //else
+ //{
+ // ServiceFacade.DoOperationsServiceSync(s => s.UpdateAbsenceTime(abstime));
+ //}
+ }
+
+ GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
}
- private void DataViewBase_OnShowGridMenu(object sender, GridMenuEventArgs e)
+ #endregion
+
+#endregion
+
+
+
+#region Popup Menue Bereich
+
+ private void DataViewBase_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
{
@@ -1637,7 +1819,8 @@ namespace BeWo.SchulbegleitenderDienst
}
}
- // Zurzeit nur für KlientenWochenansicht
+#endregion
+ // Zurzeit nur für KlientenWochenansicht || Auch Für Mitarbeiter Wochenansicht verfügbar machen
private void MitarbeiterVertretunginfoWochenanzeige_OnClick(object sender, RoutedEventArgs e)
{
var x = (Wochenansichten)GridDataControlKlientenWochenansicht.SelectedItem;
@@ -1813,8 +1996,8 @@ namespace BeWo.SchulbegleitenderDienst
GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
}
-
- //Arbeiten verrichten
+
+ //den gegebenheiten Anpassen
private void GridViewBase_OnRowUpdated(object sender, RowEventArgs e)
{
var a = (SchulbegleitenderDienst) GridDataControlTagesansicht.SelectedItem;
@@ -1838,6 +2021,7 @@ namespace BeWo.SchulbegleitenderDienst
Notice = a.Beschreibung
};
+ //?? villeicht nur Vertretungszeitraum wenn Mitarbeiter ist geadded
//if (a.Vertreteroid != 0)
//{
vert.VertretungsZeitraumVon = a.StartD;
@@ -1872,11 +2056,11 @@ namespace BeWo.SchulbegleitenderDienst
private void ButtonWorkWeekView_Click(object sender, RoutedEventArgs e)
{
- if (GridDataControlKlientenWochenansicht.Visibility != Visibility.Visible &&
- GridDataControlMitarbeiterWochenansicht.Visibility != Visibility.Visible)
- {
- KwWochenAnzeigen();
- }
+ //if (GridDataControlKlientenWochenansicht.Visibility != Visibility.Visible &&
+ // GridDataControlMitarbeiterWochenansicht.Visibility != Visibility.Visible)
+ //{
+ // KwWochenAnzeigen();
+ //}
if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
{
@@ -1884,14 +2068,20 @@ namespace BeWo.SchulbegleitenderDienst
GridDataControlKlientenWochenansicht.Visibility = Visibility.Visible;
}else
if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
- {
+ {
GridDataControlKlientenWochenansicht.Visibility = Visibility.Collapsed;
GridDataControlMitarbeiterWochenansicht.Visibility = Visibility.Visible;
+
+ KwWochenAnzeigen();
+
}else
if (GridDataControlMitarbeiterWochenansicht.Visibility == Visibility.Visible)
{
GridDataControlMitarbeiterWochenansicht.Visibility = Visibility.Collapsed;
GridDataControlKlientenWochenansicht.Visibility = Visibility.Visible;
+
+ KwWochenAnzeigen();
+
}
}
@@ -1904,8 +2094,16 @@ namespace BeWo.SchulbegleitenderDienst
DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
DateTime enddt = startdt.AddDays(5);
- GetAllVertrungenFromWeekRange(startdt,enddt);
+ if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
+ {
+ GetAllVertrungenFromWeekRange(startdt,enddt);
+ }
+ else if (GridDataControlMitarbeiterWochenansicht.Visibility == Visibility.Visible)
+ {
+ GetAllVertretungsFreieMitarbeiter(startdt, enddt);
+ }
+
Datelbl.Content = "KW " + dt.GetIso8601WeekOfYear() + " / " + startdt.ToString("dd.MM.yyyy") + " - " + enddt.ToString("dd.MM.yyyy");
}
@@ -1941,6 +2139,11 @@ namespace BeWo.SchulbegleitenderDienst
GetAllVertrungenFromWeekRange(x,x.AddDays(5));
}
+ else if (GridDataControlMitarbeiterWochenansicht.Visibility == Visibility.Visible)
+ {
+ var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
+ GetAllVertretungsFreieMitarbeiter(x, x.AddDays(5));
+ }
}
private void PfeilLinksDatumRunter_OnClick(object sender, RoutedEventArgs e)
@@ -2089,14 +2292,6 @@ namespace BeWo.SchulbegleitenderDienst
public string VertretungFr { get; set; }
public string VertretungSa { get; set; }
- //Fürs WPF Employee Wochenanzeige
- public string EingesetztBeiMo { get; set; }
- public string EingesetztBeiDi { get; set; }
- public string EingesetztBeiMi { get; set; }
- public string EingesetztBeiDo { get; set; }
- public string EingesetztBeiFr { get; set; }
- public string EingesetztBeiSa { get; set; }
-
public string Mo { get; set; }
public string Di { get; set; }
public string Mi { get; set; }
@@ -2106,6 +2301,14 @@ namespace BeWo.SchulbegleitenderDienst
public string So { get; set; }
+ //Fürs WPF Employee Wochenanzeige
+ public string EingesetztBeiMo { get; set; }
+ public string EingesetztBeiDi { get; set; }
+ public string EingesetztBeiMi { get; set; }
+ public string EingesetztBeiDo { get; set; }
+ public string EingesetztBeiFr { get; set; }
+ public string EingesetztBeiSa { get; set; }
+
//KlientenView
public Dictionary> VertretungsWoche { get; set; }
@@ -2114,5 +2317,28 @@ namespace BeWo.SchulbegleitenderDienst
}
+ //weg damit
+ public class MitarbeiterWochenansicht
+ {
+ public string Employee { get; set; }
+
+ public CompactEmployeeDC EmployeeDc { get; set; }
+
+ //Fürs WPF Employee Wochenanzeige
+ public string EingesetztBeiMo { get; set; }
+ public string EingesetztBeiDi { get; set; }
+ public string EingesetztBeiMi { get; set; }
+ public string EingesetztBeiDo { get; set; }
+ public string EingesetztBeiFr { get; set; }
+ public string EingesetztBeiSa { get; set; }
+
+ public string Mo { get; set; }
+ public string Di { get; set; }
+ public string Mi { get; set; }
+ public string Do { get; set; }
+ public string Fr { get; set; }
+ public string Sa { get; set; }
+ public string So { get; set; }
+ }
#endregion
}
diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml
index df7d51738..050bcd486 100644
--- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml
+++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml
@@ -6,7 +6,7 @@
xmlns:search="clr-namespace:BeWo.View.Search"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
- Title="Vertretung auswählen" Height="600" Width="600" WindowStartupLocation="CenterScreen"
+ Title="Vertretung auswählen" Height="650" Width="750" WindowStartupLocation="CenterScreen"
ResizeMode="CanResizeWithGrip" WindowStyle="None" Background="Transparent">
@@ -18,54 +18,175 @@
-
-
-
-
-
+
+
+
+
+
-
+
+
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -107,7 +228,7 @@
@@ -136,8 +257,14 @@
-
-
+
+
+
+
+
+
+
+
@@ -147,12 +274,12 @@
-
+
-
+
diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
index 084ed4e0b..cd5d5f5b1 100644
--- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
+++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
@@ -18,10 +18,13 @@ using System.Collections.Specialized;
using System.ComponentModel;
using System.Globalization;
using System.IO;
+using System.Net;
using System.Text;
using System.Windows.Data;
using System.Windows.Documents;
+using System.Windows.Forms;
using System.Windows.Media.Imaging;
+using BeWo.Controls;
using BeWo.Core;
using BeWo.Core.Service;
using BeWo.View.Detail;
@@ -36,6 +39,9 @@ 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
{
@@ -44,23 +50,38 @@ namespace BeWo.SchulbegleitenderDienst
public event EventHandler RaiseCustomEvent;
- public event EventHandler RaiseKlientCustomEvent;
-
private DateTime? _startDate;
private DateTime? _endDate;
private List _dataListEmployee = new List();
- public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate)
+ private readonly long? _klientOid = 10;
+
+ List aktuelleDaten = new List();
+ List alleMitarbeiterDaten = new List();
+
+
+ private Dictionary verfuegbareW = new Dictionary();
+ private Dictionary gesetzteW = new Dictionary();
+
+ private Dictionary verfuegbareA = new Dictionary();
+ private Dictionary gesetzteA = new Dictionary();
+
+
+
+ public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate, long? klientOid) // Klient oid muss mitgegeben werden
{
InitializeComponent();
+ GetAllTokensAndSetAll();
+
rootGroupBox.Header += " / " + currentDate.ToString("dddd dd.MM.yyyy");
_startDate = startdate;
_endDate = enddate;
+ _klientOid = klientOid;
if (_startDate != null)
KVDatepickerVon.EditValue = _startDate;
@@ -75,7 +96,6 @@ namespace BeWo.SchulbegleitenderDienst
OrdenerieThings();
-
if (y == 1)
{
//y == 1 Mitarbeiterauswahl
@@ -83,10 +103,12 @@ namespace BeWo.SchulbegleitenderDienst
}
else if (y == 2)
{
- //y == 2 Klientenauswahl
+ //y == 2 Klientenauswahl --> muss das nicht ehh anders angepasst werden
//rootGroupBoxKlient.Visibility = Visibility.Visible;
}
+ //setze Ort und olz des Klienten zur ansicht
+ SetKlientOrtAndPlz();
}
@@ -112,6 +134,15 @@ namespace BeWo.SchulbegleitenderDienst
}));
}
+ private void SetKlientOrtAndPlz()
+ {
+ var pKlient = ServiceFacade.DoCustomerServiceSync(r => r.GetPersonWithCustomerOid(_klientOid.Value));
+
+ if(pKlient != null){
+ LabelPlzKlient.Content = pKlient.PostalCode;
+ LabelOrtKlient.Content = pKlient.Town;
+ }
+ }
#region MitarbeiterSearch
@@ -147,59 +178,47 @@ namespace BeWo.SchulbegleitenderDienst
private void OrdenerieThings()
{
- //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.DoEmployeeServiceSync(s => s.GetAllActiveVertreterEmployeesCompact());
-
- // MitarbeiterVertretungsearchview.ObjectList = employeeList;
-
- //popupedit_MitarbeiterVertretungSearch.Focus();
-
-
-
- foreach (var emp in employeeList)
- {
- string arbeitszeitEintrag = "";
-
- foreach (var artime in emp.Arbeitszeit)
+ _dataListEmployee.Clear();
+
+ //var employeeList =
+ ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllActiveVertreterEmployeesCompact(), employeeList => this.Dispatch(
+ delegate
{
- foreach (var eintrag in artime.Eintraege)
+ // MitarbeiterVertretungsearchview.ObjectList = employeeList;
+
+ //popupedit_MitarbeiterVertretungSearch.Focus();
+ foreach (var emp in employeeList)
{
- if ((int)_startDate.Value.DayOfWeek == (int)eintrag.Tag + 1)
- {
- arbeitszeitEintrag = eintrag.UhrzeitVon + " - " + eintrag.UhrzeitBis;
- }
- }
- }
+ string arbeitszeitEintrag = "";
- _dataListEmployee.Add(
- new SearchViewDaten(emp.FirstName + " " + emp.LastName, emp.PersonAdressInfo, arbeitszeitEintrag, emp));
+ foreach (var artime in emp.Arbeitszeit)
+ {
+ foreach (var eintrag in artime.Eintraege)
+ {
+ if (_startDate != null && eintrag != null){
+ if ((int)_startDate.Value.DayOfWeek == (int)eintrag.Tag + 1)
+ {
+ arbeitszeitEintrag = eintrag.UhrzeitVon + " - " + eintrag.UhrzeitBis;
+ }
+ }
+ }
+ }
+
+ var geschlecht = emp.Geschlecht == Sex.Male ? "Männlich" : "Weiblich";
+
+ _dataListEmployee.Add(
+ new SearchViewDaten(emp.FirstName + " " + emp.LastName, emp.PersonAdressPLZ, emp.PersonAdressStr, emp.PersonAdressStadt, arbeitszeitEintrag, emp, geschlecht));
- }
-
- GridDataControlMitarbeiterVertretungsearchview.ItemsSource = _dataListEmployee;
+ }
+ GridDataControlMitarbeiterVertretungsearchview.ItemsSource = _dataListEmployee;
+ aktuelleDaten = _dataListEmployee;
+ alleMitarbeiterDaten = _dataListEmployee;
+ }));
}
#endregion
- // ####################### Am ende des tage rausnehmen ######################################
- private void MitarbeiterVertretungsearchview_OnSelected(object sender, RoutedEventArgs e)
- {
- //MessageBox.Show("Item wurde Selektiert");
- }
-
- private void MitarbeiterVertretungsearchview_OnItemSelected(object sender, EventArgs e)
- {
- //MessageBox.Show("Youre welcome! Not");
- }
- //############################################################################################
-
//Übergebe die Daten Zurück
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
@@ -217,21 +236,39 @@ namespace BeWo.SchulbegleitenderDienst
Close();
}
else if (!KVDatepickerVon.Text.Equals("") && !KVDatepickerBis.Text.Equals("") && _startDate.HasValue && _endDate.HasValue && !KVDatepicker_UhrzeitVon.Text.Equals("") && !KVDatepicker_UhrzeitBis.Text.Equals(""))
- {
- var xvon = KVDatepicker_UhrzeitVon.Text;
- DateTime dateTimeStart = DateTime.ParseExact(xvon, "HH:mm", CultureInfo.CurrentCulture);
+ {
+ var von = KVDatepicker_UhrzeitVon.Text;
+ var bis = KVDatepicker_UhrzeitBis.Text;
- var yvon = KVDatepicker_UhrzeitBis.Text;
- DateTime dateTimeEnd = DateTime.ParseExact(yvon, "HH:mm", CultureInfo.CurrentCulture);
+ if (von.Length < 5)
+ {
+ von = "0" + von;
+ }
- DateTime? xVon = new DateTime(_startDate.Value.Year, _startDate.Value.Month, _startDate.Value.Day, dateTimeStart.Hour, dateTimeStart.Minute, dateTimeStart.Second);
-
- DateTime? xBis = new DateTime(_endDate.Value.Year, _endDate.Value.Month, _endDate.Value.Day, dateTimeEnd.Hour, dateTimeEnd.Minute, dateTimeEnd.Second);
+ 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);
- RaiseCustomEvent(this, new CustomEventArgs(x, xVon, xBis));
+ 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);
- Close();
+ DateTime? xBis = new DateTime(_endDate.Value.Year, _endDate.Value.Month, _endDate.Value.Day, dateBis.Hour, dateBis.Minute, dateBis.Second);
+
+
+ RaiseCustomEvent(this, new CustomEventArgs(x, xVon, xBis));
+
+ Close();
+ }
}
else
{
@@ -258,7 +295,7 @@ namespace BeWo.SchulbegleitenderDienst
Close();
}
- //################### Neuer bereich Vertretungs zeitraum bereich/ ganztägig oder nur ein teil ####################################
+ //################### Neuer bereich Vertretungs zeitraum bereich / ganztägig oder nur ein teil ####################################
private void KVCheckBox_OnUnchecked(object sender, RoutedEventArgs e)
{
KVDatepicker_UhrzeitBis.Text = "";
@@ -303,7 +340,461 @@ namespace BeWo.SchulbegleitenderDienst
}
}
- //#######################################################################
+ //#################### Nicht mehr gebrauchter code ###################################################
+
+
+ //######################## Postalcode Range Extender
+
+ //public void ErmittlePlzBereich(string plz, int umkreis)
+ //{
+ // decimal postleitzahl = Convert.ToDecimal(plz);
+
+ // if (umkreis == 0)
+ // {
+ // //Zeige in der liste alle an die genau diese postleitzahl mit den ersten 3 Stellen haben. //villeicht auch ersten 4 mal sehen
+ // MessageBox.Show("Zeige alle Personen mit gleicher plz an");
+ // }
+ // else
+ // {
+ // MessageBox.Show("Hier kommt nacher eine Berechnung des Umkreises hin");
+
+ // #region Plzklient mit erweiterter umkreis auswahl
+ // //PlzKlient mit erweiterter umkreis auswahl.
+
+ // //const Erdradius = 6371000; Konstante in metern
+ // //
+
+ // //// Umwandlung der Kugel-Koordinaten ins kathesische Koordinatensystem:
+ // //// Umrechnung ins Bogenmaß
+ // //lambda := geoLaenge * PI / 180;
+ // //phi := geoBreite * PI / 180;
+
+ // //geoKoordX := Round(Erdradius * cos(phi) * cos(lambda));
+ // //geoKoordY := Round(Erdradius * cos(phi) * sin(lambda));
+ // //geoKoordZ := Round(Erdradius * sin(phi));
+
+
+ // // Umrechnung von Meter in Kilometer
+ // // Bei der Berechnung in Metern werden die Zahlen zu groß,
+ // // die Berechnung mit Floats ist allerdings kein Problem...
+
+ // //rd := mysql_fetch_row(re);
+ // //x1 := geoKoordX / 1000;
+ // //y1 := geoKoordY / 1000;
+ // //z1 := geoKoordZ / 1000;
+ // //x2 := geoKoordX2 / 1000;
+ // //y2 := geoKoordY2 / 1000;
+ // //z2 := geoKoordZ2 / 1000;
+
+ // //Entfernung := Round(
+ // // 2 * ErdradiusKm *
+ // // arcsin(
+ // // sqrt(
+ // // sqr(x1 - x2)
+ // // + sqr(y1 - y2)
+ // // + sqr(z1 - z2)
+ // // ) / (2 * ErdradiusKm)
+ // // )
+ // // * 1000
+ // // );
+ // #endregion
+ // }
+
+ //}
+
+ //########################################################################
+
+ private void PlzKlient_OnTextChanged(object sender, EditValueChangedEventArgs e)
+ {
+ bool ruecksetzpunkt = false;
+
+ List ndaten = new List();
+
+ foreach (var daten in alleMitarbeiterDaten)
+ {
+ if(daten.Postleitzahl != null){
+ if (daten.Postleitzahl.StartsWith(PlzKlient.Text))
+ {
+ ndaten.Add(daten);
+ }
+ }
+
+ if (daten.Postleitzahl != null && PlzKlient.Text.Length == 0)
+ {
+ if (!ruecksetzpunkt)
+ ruecksetzpunkt = true;
+ }
+ }
+
+ if (ruecksetzpunkt)
+ {
+ GridDataControlMitarbeiterVertretungsearchview.ItemsSource = alleMitarbeiterDaten;
+ //aktuelleDaten = alleMitarbeiterDaten; // sollte sich so verhalten wie bei geschlecht
+ }
+ else
+ {
+ GridDataControlMitarbeiterVertretungsearchview.ItemsSource = ndaten;
+ // aktuelleDaten = ndaten;
+ }
+
+ GridDataControlMitarbeiterVertretungsearchview.RefreshData();
+ GridDataControlMitarbeiterVertretungsearchview.RefreshUI();
+
+ }
+
+ //private void ComboBoxUmkreisExtender_OnSelected(object sender, RoutedEventArgs e)
+ //{
+ // var item = sender as NullItemComboBox;
+
+ // int umkreis = 0;
+
+ // if (item != null && item.SelectedItem != null)
+ // {
+ // string[] ahh = item.SelectedItem.ToString().Split(' ');
+
+ // umkreis = Convert.ToInt32(ahh[0]);
+ // }
+
+ // ErmittlePlzBereich(PlzKlient.Text, umkreis);
+ //}
+
+ //private void Selector_OnSelected(object sender, RoutedEventArgs e)
+ //{
+ // throw new NotImplementedException();
+ //}
+
+
+ private void ComboBoxWunschAuswahl_OnSelected(object sender, RoutedEventArgs e)
+ {
+ var item = sender as NullItemComboBox;
+ if (item.SelectedItem != null && !item.SelectedItem.ToString().Equals(""))
+ {
+ TBoxWunschAnzeige.Text += item.SelectedItem + "; ";
+
+ ComboBoxWunschAuswahl.SelectedIndex = 0;
+
+ // SortMitarbeiterliste();
+ }
+
+ }
+
+ private void ComboBoxAussschlussAuswahl_OnSelected(object sender, RoutedEventArgs e)
+ {
+ var item = sender as NullItemComboBox;
+ if (item.SelectedItem != null && !item.SelectedItem.ToString().Equals(""))
+ {
+ TBoxAussschlussAnzeige.Text += item.SelectedItem + "; ";
+
+ ComboBoxAussschlussAuswahl.SelectedIndex = 0;
+
+ // SortMitarbeiterliste();
+ }
+
+ }
+
+ public void GetAllTokensAndSetAll()
+ {
+ // var x =
+ ServiceFacade.DoOperationsServiceAsync(r => r.GetAllTokens(SchulbegleitenderZugehörigkeitsTyp.Klient, _klientOid), x => this.Dispatch(
+ delegate
+ {
+ List wunschliste = new List();
+ List ausschlussliste = new List();
+
+ foreach (var token in x)
+ {
+ if (token.MemberOid == _klientOid)
+ {
+ if (token.TokenTyp == TokenTyp.WunschKriterium)
+ {
+ wunschliste.Add(token.Beschreibung);
+ TBoxWunschAnzeige.Text += token.Beschreibung + "; ";
+ }
+
+ if (token.TokenTyp == TokenTyp.AusschlussKriterium)
+ {
+ ausschlussliste.Add(token.Beschreibung);
+ TBoxAussschlussAnzeige.Text += token.Beschreibung + "; ";
+ }
+ }
+ }
+
+ }));
+
+
+ LoadMitarbeiterKriterien();
+ }
+
+ private void LoadMitarbeiterKriterien()
+ {
+ verfuegbareW.Clear();
+ gesetzteW.Clear();
+ verfuegbareA.Clear();
+ gesetzteA.Clear();
+
+ //var x =
+ ServiceFacade.DoOperationsServiceAsync(
+ r => r.GetAllTokens(SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter, 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);
+ }
+ }
+
+ ComboBoxMitarbeiterWunschAuswahl.ItemsSource = wunschliste;
+ ComboBoxMitarbeiterAussschlussAuswahl.ItemsSource = ausschlussliste;
+
+ }));
+ }
+
+
+
+ private void ComboBoxMitarbeiterAussschlussAuswahl_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ var token = ComboBoxMitarbeiterAussschlussAuswahl.SelectedItem as string;
+
+ if(token != null)
+ TBoxMitarbeiterAussschlussAnzeige.Text += token + "; ";
+
+ foreach (var item in verfuegbareA)
+ {
+ if (item.Key == token)
+ {
+ if(!gesetzteA.ContainsKey(token))
+ gesetzteA.Add(token,item.Value);
+ }
+ }
+
+ SortMitarbeiterliste();
+ }
+
+ private void ComboBoxMitarbeiterWunschAuswahl_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ var token = ComboBoxMitarbeiterWunschAuswahl.SelectedItem as string;
+
+ if(token != null)
+ TBoxMitarbeiterWunschAnzeige.Text += token + "; ";
+
+ foreach (var item in verfuegbareW)
+ {
+ if (item.Key == token)
+ {
+ if(!gesetzteW.ContainsKey(token))
+ gesetzteW.Add(token, item.Value);
+ }
+ }
+
+ SortMitarbeiterliste();
+ }
+
+
+
+ public void SortMitarbeiterliste()
+ {
+ List nSVD = new List();
+
+ //hole die liste aller Employee2Token
+ var x = ServiceFacade.DoOperationsServiceSync(r => r.GetEmployee2TokenList()); // hier ggf. Async aufruf
+
+ //bool isAusschluss = false; // zu test zwecke erstmal rausnehmen und später wieder rein
+
+ foreach (var daten in alleMitarbeiterDaten)
+ {
+ foreach (var item in x)
+ {
+ if (daten.EmployeeDC.EmployeeOid == item.Employee.EmployeeOid)
+ {
+ //noch anpassen weil bei ausschluss equal soll der emp nicht übernommen werden oder??
+ foreach (var gesA in gesetzteA)
+ {
+ if (item.Token.TokenOid == gesA.Value.TokenOid)
+ {
+ if(!nSVD.Contains(daten))
+ nSVD.Add(daten);
+ // isAusschluss = true;
+
+ }
+ }
+
+ foreach (var gesW in gesetzteW)
+ {
+ if (item.Token.TokenOid == gesW.Value.TokenOid)
+ {
+ //if (isAusschluss)
+ //{
+ // isAusschluss = false;
+ //}
+ //else
+ //{
+ if (!nSVD.Contains(daten))
+ nSVD.Add(daten);
+ //}
+
+ }
+ }
+
+ //if (isAusschluss)
+ //{
+ // isAusschluss = false;
+ //}
+ }
+ }
+ }
+
+ GridDataControlMitarbeiterVertretungsearchview.ItemsSource = nSVD;
+
+ GridDataControlMitarbeiterVertretungsearchview.RefreshData();
+ GridDataControlMitarbeiterVertretungsearchview.RefreshUI();
+
+ aktuelleDaten = nSVD;
+ }
+
+ private void RBMaennlich_OnClick(object sender, RoutedEventArgs e)
+ {
+ bool isOtherActive = RBWeiblich.IsChecked.Value;
+
+ if (RBMaennlich.IsChecked.Value)
+ {
+ GeschlechtsUmwandlung(3, isOtherActive);
+ }
+ else
+ {
+ GeschlechtsUmwandlung(1, isOtherActive);
+ }
+
+ }
+
+ private void RBWeiblich_OnClick(object sender, RoutedEventArgs e)
+ {
+ bool isOtherActive = RBMaennlich.IsChecked.Value;
+
+
+ if (RBWeiblich.IsChecked.Value)
+ {
+ GeschlechtsUmwandlung(4, isOtherActive);
+ }
+ else
+ {
+ GeschlechtsUmwandlung(2, isOtherActive);
+ }
+
+ }
+
+ private void GeschlechtsUmwandlung(int i, bool isOtherActive)
+ {
+ List newItems = new List();
+
+ // 1 == entferne jungs | 2 == entferne mädels | 3 füge jungs hinzu | 4 füge mädels hinzu
+
+ if (i == 1)
+ {
+ foreach (var item in aktuelleDaten)
+ {
+ if (item.Geschlecht.Equals("Weiblich") && isOtherActive)
+ {
+ newItems.Add(item);
+ }
+ }
+ }
+ else if (i == 2)
+ {
+ foreach (var item in aktuelleDaten)
+ {
+ if (item.Geschlecht.Equals("Männlich") && isOtherActive)
+ {
+ newItems.Add(item);
+ }
+ }
+ }
+ else if (i == 3)
+ {
+ foreach (var item in aktuelleDaten)
+ {
+ if (!item.Geschlecht.Equals("Weiblich") && isOtherActive == false)
+ {
+ newItems.Add(item);
+ }
+ else if (isOtherActive)
+ {
+ newItems.Add(item);
+ }
+ }
+ }
+ else if (i == 4)
+ {
+ foreach (var item in aktuelleDaten)
+ {
+ if (!item.Geschlecht.Equals("Männlich") && isOtherActive == false)
+ {
+ newItems.Add(item);
+ }
+ else if (isOtherActive)
+ {
+ newItems.Add(item);
+ }
+ }
+ }
+
+ GridDataControlMitarbeiterVertretungsearchview.ItemsSource = newItems;
+
+ GridDataControlMitarbeiterVertretungsearchview.RefreshData();
+ GridDataControlMitarbeiterVertretungsearchview.RefreshUI();
+ }
+
+ private void OrtKlient_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(OrtKlient.Text))
+ {
+ ndaten.Add(daten);
+ }
+ }
+
+ if (daten.Stadt != null && OrtKlient.Text.Length == 0)
+ {
+ if (!ruecksetzpunkt)
+ ruecksetzpunkt = true;
+ }
+ }
+
+ if (ruecksetzpunkt)
+ {
+ GridDataControlMitarbeiterVertretungsearchview.ItemsSource = alleMitarbeiterDaten;
+ //aktuelleDaten = alleMitarbeiterDaten;
+ }
+ else
+ {
+ GridDataControlMitarbeiterVertretungsearchview.ItemsSource = ndaten;
+ // aktuelleDaten = ndaten;
+ }
+
+ GridDataControlMitarbeiterVertretungsearchview.RefreshData();
+ GridDataControlMitarbeiterVertretungsearchview.RefreshUI();
+ }
}
@@ -337,49 +828,30 @@ 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
{
public string Name { get; set; }
- public string Adress { get; set; }
+
+ public string Postleitzahl { get; set; }
+ public string Straße { get; set; }
+ public string Stadt { get; set; }
+ public string Geschlecht { get; set; }
+
+
public string Arbeitszeit { get; set; }
public CompactVertreterEmployeeDC EmployeeDC{ get; set; }
- public SearchViewDaten(string name, string adresse, string arbeitszeit, CompactVertreterEmployeeDC empdc)
+ public SearchViewDaten(string name, string postleitzahl, string strasse, string stadt, string arbeitszeit, CompactVertreterEmployeeDC empdc,string geschlecht)
{
Name = name;
- Adress = adresse;
+ Postleitzahl = postleitzahl;
+ Straße = strasse;
+ Stadt = stadt;
Arbeitszeit = arbeitszeit;
EmployeeDC = empdc;
+ Geschlecht = geschlecht;
}
diff --git a/BeWo/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 7f1d4913f..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);
@@ -522,6 +526,11 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllActiveVertreterEmployeesCompactBeWoFaul" +
"tFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List GetAllActiveVertreterEmployeesCompact();
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/LoadEmployeeTokenRelationsByOid", ReplyAction="http://tempuri.org/IEmployeeService/LoadEmployeeTokenRelationsByOidResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadEmployeeTokenRelationsByOidBeWoFaultFault" +
+ "", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ System.Collections.Generic.List LoadEmployeeTokenRelationsByOid(System.Collections.Generic.List pOids);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -558,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);
@@ -977,6 +991,11 @@ namespace BeWo.ServiceProxy
{
return base.Channel.GetAllActiveVertreterEmployeesCompact();
}
+
+ public System.Collections.Generic.List LoadEmployeeTokenRelationsByOid(System.Collections.Generic.List pOids)
+ {
+ return base.Channel.LoadEmployeeTokenRelationsByOid(pOids);
+ }
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -1289,6 +1308,18 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/GetPersonForOrganisationsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List GetPersonForOrganisations(long organisationoid);
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/LoadCustomerTokenRelationsByOid", ReplyAction="http://tempuri.org/ICustomerService/LoadCustomerTokenRelationsByOidResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/LoadCustomerTokenRelationsByOidBeWoFaultFault" +
+ "", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ System.Collections.Generic.List LoadCustomerTokenRelationsByOid(System.Collections.Generic.List pOids);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/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);
@@ -2048,6 +2079,16 @@ namespace BeWo.ServiceProxy
return base.Channel.GetPersonForOrganisations(organisationoid);
}
+ public System.Collections.Generic.List LoadCustomerTokenRelationsByOid(System.Collections.Generic.List pOids)
+ {
+ return base.Channel.LoadCustomerTokenRelationsByOid(pOids);
+ }
+
+ public BS.Shared.DataContracts.PersonDC GetPersonWithCustomerOid(long oid)
+ {
+ return base.Channel.GetPersonWithCustomerOid(oid);
+ }
+
public void ArchiveCustomer(long pOid, long pVersion)
{
base.Channel.ArchiveCustomer(pOid, pVersion);
@@ -4205,6 +4246,40 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void UpdateAbsenceTime(BS.Shared.DataContracts.AbsenceTimeDC abs);
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetAllTokens", ReplyAction="http://tempuri.org/IOperationsService/GetAllTokensResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetAllTokensBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ System.Collections.Generic.List GetAllTokens(BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteToken", ReplyAction="http://tempuri.org/IOperationsService/DeleteTokenResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void DeleteToken(BS.Shared.DataContracts.TokenDC token);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewToken", ReplyAction="http://tempuri.org/IOperationsService/InsertNewTokenResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void InsertNewToken(string beschreibung, BS.Shared.TokenTyp typ, BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewRelationToken", ReplyAction="http://tempuri.org/IOperationsService/InsertNewRelationTokenResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewRelationTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void InsertNewRelationToken(BS.Shared.DataContracts.TokenDC token, BS.Shared.TokenTyp typ, BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateToken", ReplyAction="http://tempuri.org/IOperationsService/UpdateTokenResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void UpdateToken(BS.Shared.DataContracts.TokenDC token);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetCustomer2TokenList", ReplyAction="http://tempuri.org/IOperationsService/GetCustomer2TokenListResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetCustomer2TokenListBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ System.Collections.Generic.List GetCustomer2TokenList();
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetEmployee2TokenList", ReplyAction="http://tempuri.org/IOperationsService/GetEmployee2TokenListResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetEmployee2TokenListBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ System.Collections.Generic.List GetEmployee2TokenList();
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/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);
@@ -4950,6 +5025,46 @@ namespace BeWo.ServiceProxy
base.Channel.UpdateAbsenceTime(abs);
}
+ public System.Collections.Generic.List GetAllTokens(BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid)
+ {
+ return base.Channel.GetAllTokens(zugehoerigkeitsTyp, oid);
+ }
+
+ public void DeleteToken(BS.Shared.DataContracts.TokenDC token)
+ {
+ base.Channel.DeleteToken(token);
+ }
+
+ public void InsertNewToken(string beschreibung, BS.Shared.TokenTyp typ, BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid)
+ {
+ base.Channel.InsertNewToken(beschreibung, typ, zugehoerigkeitsTyp, oid);
+ }
+
+ public void InsertNewRelationToken(BS.Shared.DataContracts.TokenDC token, BS.Shared.TokenTyp typ, BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable oid)
+ {
+ base.Channel.InsertNewRelationToken(token, typ, zugehoerigkeitsTyp, oid);
+ }
+
+ public void UpdateToken(BS.Shared.DataContracts.TokenDC token)
+ {
+ base.Channel.UpdateToken(token);
+ }
+
+ public System.Collections.Generic.List GetCustomer2TokenList()
+ {
+ return base.Channel.GetCustomer2TokenList();
+ }
+
+ public System.Collections.Generic.List GetEmployee2TokenList()
+ {
+ return base.Channel.GetEmployee2TokenList();
+ }
+
+ public 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/BeWo/View/Detail/CustomerView.xaml.cs b/BeWo/View/Detail/CustomerView.xaml.cs
index 593c78b77..427afac97 100644
--- a/BeWo/View/Detail/CustomerView.xaml.cs
+++ b/BeWo/View/Detail/CustomerView.xaml.cs
@@ -1017,7 +1017,7 @@ namespace BeWo.View.Detail
{
if (tabitem_schuldienst.Content == null)
{
- tabitem_schuldienst.Content = new SchulbegleitenderDienstCustomer(TableID.Customer, ViewModel.DataContract.CustomerOid.Value);
+ tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.CustomerOid.Value,SchulbegleitenderZugehörigkeitsTyp.Klient);
}
}
diff --git a/BeWo/View/Detail/EmployeeView.xaml b/BeWo/View/Detail/EmployeeView.xaml
index f675ab7c8..6995b2c48 100644
--- a/BeWo/View/Detail/EmployeeView.xaml
+++ b/BeWo/View/Detail/EmployeeView.xaml
@@ -692,6 +692,8 @@
+
+
diff --git a/BeWo/View/Detail/EmployeeView.xaml.cs b/BeWo/View/Detail/EmployeeView.xaml.cs
index 926ea593c..5b4ca96cb 100644
--- a/BeWo/View/Detail/EmployeeView.xaml.cs
+++ b/BeWo/View/Detail/EmployeeView.xaml.cs
@@ -464,6 +464,14 @@ namespace BeWo.View.Detail
}
}
+ private void tabitem_SchulDienst_Selected(object sender, RoutedEventArgs e)
+ {
+ if (tabitem_schuldienst.Content == null)
+ {
+ tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.EmployeeOid.Value,SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter);
+ }
+ }
+
private void button_addContract_Click(object sender, RoutedEventArgs e)
{
ViewModel.Contracts.AddNewVMToList();
diff --git a/BeWo/View/SchulbegleitenderDienst.xaml b/BeWo/View/SchulbegleitenderDienst.xaml
new file mode 100644
index 000000000..6689f6606
--- /dev/null
+++ b/BeWo/View/SchulbegleitenderDienst.xaml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BeWo/View/SchulbegleitenderDienst.xaml.cs b/BeWo/View/SchulbegleitenderDienst.xaml.cs
new file mode 100644
index 000000000..b3c427922
--- /dev/null
+++ b/BeWo/View/SchulbegleitenderDienst.xaml.cs
@@ -0,0 +1,295 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Windows;
+using System.Windows.Controls.Primitives;
+using System.Windows.Documents;
+using System.Windows.Forms;
+using System.Windows.Forms.VisualStyles;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Navigation;
+using System.Windows.Threading;
+
+using BeWo.Core;
+using BeWo.Core.Service;
+using BeWo.ViewModel;
+using BeWo.ServiceProxy;
+using BeWo.View.Detail;
+using BS.Shared.DataContracts;
+using BS.Shared.Extensions;
+using BS.Shared;
+using BS.Shared.Core;
+
+using Microsoft.Win32;
+using CheckBox = System.Windows.Controls.CheckBox;
+using MessageBox = System.Windows.MessageBox;
+
+namespace BeWo.View
+{
+ public partial class SchulbegleitenderDienst
+ {
+
+ private CustomerVM _ViewModel;
+ private List tokenlist = new List();
+ // private List tokenMitarbeiterlist = new List();
+ // TableID tableid;
+ //long? customerOid = 0;
+ long? Oid = 0;
+ private SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp;
+
+ Dictionary verfuegbarerWunschToken = new Dictionary();
+ Dictionary verfuegbarerAusschlussToken = new Dictionary();
+
+
+ public SchulbegleitenderDienst(TableID pObjectTid, long? oid,SchulbegleitenderZugehörigkeitsTyp typ)
+ {
+ InitializeComponent();
+
+ zugehoerigkeitsTyp = typ;
+
+ Oid = oid;
+
+ //if (typ == SchulbegleitenderZugehörigkeitsTyp.Klient)
+ //{
+ // customerOid = oid;
+ //}
+ //else if (typ == SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter)
+ //{
+ // employeeOid = oid;
+ //}
+
+ GetAllTokenItems();
+
+ //tableid = pObjectTid;
+
+ //LaodInfostoView();
+
+
+
+ }
+
+
+ public CustomerVM PublicViewModel { get { return _ViewModel; } }
+
+
+ public override bool IsDirty
+ {
+ get
+ {
+ return ViewModel != null && ViewModel.IsDirty;
+ }
+ }
+
+ private CustomerVM ViewModel
+ {
+ get { return _ViewModel; }
+
+ set
+ {
+ DataContext = value;
+ _ViewModel = value;
+ }
+ }
+
+
+
+ private void GetAllTokenItems()
+ {
+ tokenlist.Clear();
+
+ ServiceFacade.DoOperationsServiceAsync(r => r.GetAllTokens(zugehoerigkeitsTyp,Oid), h => this.Dispatch(delegate
+ {
+ tokenlist = h;
+
+ SetAusschlussKriterien();
+
+ SetWunschKriterien();
+
+ }));
+ }
+
+ private void SetAusschlussKriterien()
+ {
+ TbShowAusschluss.Text = "";
+ List list = new List();
+
+ if (tokenlist != null)
+ {
+ foreach (var token in tokenlist)
+ {
+ if (token.TokenTyp == TokenTyp.AusschlussKriterium && token.MemberOid == Oid)
+ {
+ //list.Add(token.Beschreibung);
+ TbShowAusschluss.Text += token.Beschreibung + "; ";
+ }
+ else if (token.TokenTyp == TokenTyp.AusschlussKriterium)
+ {
+ list.Add(token.Beschreibung);
+
+ if (!verfuegbarerAusschlussToken.ContainsKey(token.Beschreibung))
+ verfuegbarerAusschlussToken.Add(token.Beschreibung,token);
+ }
+ }
+ }
+
+ if(list.Count > 0)
+ ComboAusschluss.ItemsSource = list;
+
+ }
+
+ private void SetWunschKriterien()
+ {
+ TbShowWunsch.Text = "";
+ List list = new List();
+
+ if (tokenlist != null)
+ {
+ foreach (var token in tokenlist)
+ {
+ if (token.TokenTyp == TokenTyp.WunschKriterium && token.MemberOid == Oid)
+ {
+ //list.Add(token.Beschreibung); // entfernen weik bereits ehältlich
+ TbShowWunsch.Text += token.Beschreibung + "; ";
+ }
+ else if(token.TokenTyp == TokenTyp.WunschKriterium)
+ {
+ list.Add(token.Beschreibung);
+
+ if(!verfuegbarerWunschToken.ContainsKey(token.Beschreibung))
+ verfuegbarerWunschToken.Add(token.Beschreibung,token);
+ }
+ }
+ }
+
+ if(list.Count > 0)
+ ComboWunsch.ItemsSource = list;
+ }
+
+ //TODO Speicher Button Aktivieren
+ /* private bool DoSaveCheck()
+ {
+ Cache.GetInstance().GetActiveSupportConceptCostbearer(scList =>
+ VMFactory.CreateServiceRecordVMAsync(
+ BeWoApp.LoggedOnUser.Employee.EmployeeOid,
+ vm => this.Dispatch(
+ delegate
+ {
+ ChatServiceCustomer newView = new ChatServiceCustomer(tableid, customerOid);
+
+ if (newView.CommandBindings.Count == 0)
+ {
+ newView.CommandBindings.Add(
+ new CommandBinding(
+ ApplicationCommands.Close,
+ (s, e) =>
+ {
+ if (!newView.DoSaveCheck())
+ {
+ return;
+ }
+
+ }));
+ newView.CommandBindings.Add(
+ new CommandBinding(
+ ApplicationCommands.Save,
+ (s, e) =>
+ {
+ bool save = true;
+
+ if (!save)
+ {
+ return;
+ }
+
+ newView.SaveData();
+
+ }));
+ }
+ })));
+
+ }
+ */
+
+
+ private void ButtonWunschKriterium_OnClick(object sender, RoutedEventArgs e)
+ {
+ var token = TextBoxWunsch.Text;
+
+
+ if (verfuegbarerWunschToken.ContainsKey(token))
+ {
+ TokenDC nToken = null;
+
+ foreach (var tokenkey in verfuegbarerWunschToken)
+ {
+ if (tokenkey.Key.Equals(token))
+ {
+ nToken = tokenkey.Value;
+ }
+ }
+
+ if (nToken != null)
+ {
+ ServiceFacade.DoOperationsServiceSync(r => r.InsertNewRelationToken(nToken, TokenTyp.WunschKriterium, zugehoerigkeitsTyp, Oid));
+ }
+ }
+ else
+ {
+ ServiceFacade.DoOperationsServiceSync(r => r.InsertNewToken(token, TokenTyp.WunschKriterium, zugehoerigkeitsTyp,Oid));
+ }
+
+ TextBoxWunsch.Text = "";
+
+ GetAllTokenItems();
+ }
+
+
+ private void ButtonAusschlussKriterium_OnClick(object sender, RoutedEventArgs e)
+ {
+ var token = TextBoxAusschluss.Text;
+
+ if (verfuegbarerAusschlussToken.ContainsKey(token))
+ {
+ TokenDC nToken = null;
+
+ foreach (var tokenkey in verfuegbarerAusschlussToken)
+ {
+ if (tokenkey.Key.Equals(token))
+ {
+ nToken = tokenkey.Value;
+ }
+ }
+
+ if (nToken != null)
+ {
+ ServiceFacade.DoOperationsServiceSync(r => r.InsertNewRelationToken(nToken, TokenTyp.AusschlussKriterium, zugehoerigkeitsTyp, Oid));
+ }
+ }
+ else
+ {
+ ServiceFacade.DoOperationsServiceSync(r => r.InsertNewToken(token, TokenTyp.AusschlussKriterium, zugehoerigkeitsTyp, Oid));
+ }
+
+ TextBoxAusschluss.Text = "";
+
+ GetAllTokenItems();
+ }
+
+
+ private void ComboAusschluss_OnSelected(object sender, RoutedEventArgs e)
+ {
+ var tokendc = ComboAusschluss.SelectedItem as string;
+
+ TextBoxAusschluss.Text = tokendc;
+ }
+
+ private void ComboWunsch_OnSelected(object sender, RoutedEventArgs e)
+ {
+ var tokendc = ComboWunsch.SelectedItem as string;
+
+ TextBoxWunsch.Text = tokendc;
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWo/View/SchulbegleitenderDienstCustomer.xaml b/BeWo/View/SchulbegleitenderDienstCustomer.xaml
deleted file mode 100644
index ea014e332..000000000
--- a/BeWo/View/SchulbegleitenderDienstCustomer.xaml
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/BeWo/View/SchulbegleitenderDienstCustomer.xaml.cs b/BeWo/View/SchulbegleitenderDienstCustomer.xaml.cs
deleted file mode 100644
index cd79e5d7d..000000000
--- a/BeWo/View/SchulbegleitenderDienstCustomer.xaml.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Windows;
-using System.Windows.Controls.Primitives;
-using System.Windows.Documents;
-using System.Windows.Forms;
-using System.Windows.Forms.VisualStyles;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Navigation;
-using System.Windows.Threading;
-
-using BeWo.Core;
-using BeWo.Core.Service;
-using BeWo.ViewModel;
-using BeWo.ServiceProxy;
-using BeWo.View.Detail;
-using BS.Shared.DataContracts;
-using BS.Shared.Extensions;
-using BS.Shared;
-using BS.Shared.Core;
-
-using Microsoft.Win32;
-using CheckBox = System.Windows.Controls.CheckBox;
-using MessageBox = System.Windows.MessageBox;
-
-namespace BeWo.View
-{
- public partial class SchulbegleitenderDienstCustomer
- {
-
- private CustomerVM _ViewModel;
-
- // TableID tableid;
- long? customerOid;
-
- public SchulbegleitenderDienstCustomer(TableID pObjectTid, long? oid)
- {
- InitializeComponent();
-
- customerOid = oid;
- // tableid = pObjectTid;
-
- //LaodInfostoView();
-
- }
-
-
- public CustomerVM PublicViewModel { get { return _ViewModel; } }
-
-
-
-
- public override bool IsDirty
- {
- get
- {
- return ViewModel != null && ViewModel.IsDirty;
- }
- }
-
- private CustomerVM ViewModel
- {
- get { return _ViewModel; }
-
- set
- {
- DataContext = value;
- _ViewModel = value;
- }
- }
-
- //TODO Speicher Button Aktivieren
-
- /* private bool DoSaveCheck()
- {
- Cache.GetInstance().GetActiveSupportConceptCostbearer(scList =>
- VMFactory.CreateServiceRecordVMAsync(
- BeWoApp.LoggedOnUser.Employee.EmployeeOid,
- vm => this.Dispatch(
- delegate
- {
- ChatServiceCustomer newView = new ChatServiceCustomer(tableid, customerOid);
-
- if (newView.CommandBindings.Count == 0)
- {
- newView.CommandBindings.Add(
- new CommandBinding(
- ApplicationCommands.Close,
- (s, e) =>
- {
- if (!newView.DoSaveCheck())
- {
- return;
- }
-
- }));
- newView.CommandBindings.Add(
- new CommandBinding(
- ApplicationCommands.Save,
- (s, e) =>
- {
- bool save = true;
-
- if (!save)
- {
- return;
- }
-
- newView.SaveData();
-
- }));
- }
- })));
-
- }
- */
-
-
-
- }
-}
\ No newline at end of file
diff --git a/BeWo/ViewModel/CustomerTokenRelationVM.cs b/BeWo/ViewModel/CustomerTokenRelationVM.cs
new file mode 100644
index 000000000..9ed573c74
--- /dev/null
+++ b/BeWo/ViewModel/CustomerTokenRelationVM.cs
@@ -0,0 +1,106 @@
+using BeWo.Validation;
+using BS.Shared.Core;
+using BS.Shared.DataContracts;
+using BS.Shared.DataContracts.Compact;
+using BS.Shared.Extensions;
+
+namespace BeWo.ViewModel
+{
+ public class CustomerTokenRelationVM : AbstractDCMapperVM
+ {
+ //public static string PropertyName_Notice = "Notice";
+
+ public static string PropertyName_Token = "Token";
+
+ public static string PropertyName_TokenString = "TokenString";
+
+ public static string PropertyName_Customer = "Customer";
+
+ //private string _Notice;
+
+ private CompactTokenDC _Token;
+ private CustomerDC _Customer;
+
+
+ public CustomerTokenRelationVM(CustomerTokenRelationDC pDC) : base(pDC, pDC.Customer2TokenOid == null) { }
+
+
+
+ //public string Notice
+ //{
+ // get { return _Notice; }
+
+ // set
+ // {
+ // if (AreDifferent(_Notice, value))
+ // {
+ // _Notice = value;
+ // StoreDirtyInformation(AreDifferent(DataContract.Customer2TokenNotice, value), PropertyName_Notice);
+ // FirePropertyChanged(PropertyName_Notice);
+ // }
+ // }
+ //}
+
+ public CompactTokenDC Token
+ {
+ get { return _Token; }
+
+ set
+ {
+ if (AreDifferent(_Token, value))
+ {
+ _Token = value;
+ StoreDirtyInformation(AreDifferent(DataContract.Token, value), PropertyName_Token);
+ FirePropertyChanged(PropertyName_Token);
+ FirePropertyChanged(PropertyName_TokenString);
+ }
+ }
+ }
+
+ public CustomerDC Customer
+ {
+ get { return _Customer; }
+
+ set
+ {
+ if (AreDifferent(_Customer, value))
+ {
+ _Customer = value;
+ StoreDirtyInformation(AreDifferent(DataContract.Customer, value), PropertyName_Customer);
+ FirePropertyChanged(PropertyName_Customer);
+ }
+ }
+ }
+
+
+
+
+ [Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
+ public string TokenString
+ {
+ get { return _Token.ToStringNullCheck(); } // Validation Workaround
+ set { }
+ }
+
+
+ protected override void InitByDataContract(CustomerTokenRelationDC pDataContract)
+ {
+ if (!IsNew)
+ {
+ //_Notice = pDataContract.Customer2TokenNotice;
+ _Token = pDataContract.Token;
+ _Customer = pDataContract.Customer;
+
+ }
+ }
+
+ protected override CustomerTokenRelationDC MapToDataContract(CustomerTokenRelationDC pDataContract, bool doCommit)
+ {
+ //pDataContract.Customer2TokenNotice = _Notice;
+ pDataContract.Token = _Token;
+ pDataContract.Customer = _Customer;
+
+ return pDataContract;
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWo/ViewModel/EmployeeTokenRelationVM.cs b/BeWo/ViewModel/EmployeeTokenRelationVM.cs
new file mode 100644
index 000000000..99ffc391a
--- /dev/null
+++ b/BeWo/ViewModel/EmployeeTokenRelationVM.cs
@@ -0,0 +1,108 @@
+using BeWo.Validation;
+using BS.Shared.Core;
+using BS.Shared.DataContracts;
+using BS.Shared.DataContracts.Compact;
+using BS.Shared.Extensions;
+
+namespace BeWo.ViewModel
+{
+ public class EmployeeTokenRelationVM : AbstractDCMapperVM
+ {
+ //public static string PropertyName_Notice = "Notice";
+
+ public static string PropertyName_Token = "Token";
+ public static string PropertyName_Employee = "Employee";
+
+ public static string PropertyName_TokenString = "TokenString";
+
+
+ //private string _Notice;
+
+ private CompactTokenDC _Token;
+ private EmployeeDC _Employee;
+
+
+
+ public EmployeeTokenRelationVM(EmployeeTokenRelationDC pDC) : base(pDC, pDC.Employee2TokenOid == null) { }
+
+
+
+ //public string Notice
+ //{
+ // get { return _Notice; }
+
+ // set
+ // {
+ // if (AreDifferent(_Notice, value))
+ // {
+ // _Notice = value;
+ // StoreDirtyInformation(AreDifferent(DataContract.Customer2TokenNotice, value), PropertyName_Notice);
+ // FirePropertyChanged(PropertyName_Notice);
+ // }
+ // }
+ //}
+
+ public CompactTokenDC Token
+ {
+ get { return _Token; }
+
+ set
+ {
+ if (AreDifferent(_Token, value))
+ {
+ _Token = value;
+ StoreDirtyInformation(AreDifferent(DataContract.Token, value), PropertyName_Token);
+ FirePropertyChanged(PropertyName_Token);
+ FirePropertyChanged(PropertyName_TokenString);
+ }
+ }
+ }
+
+ public EmployeeDC Employee
+ {
+ get { return _Employee; }
+
+ set
+ {
+ if (AreDifferent(_Employee, value))
+ {
+ _Employee = value;
+ StoreDirtyInformation(AreDifferent(DataContract.Employee, value), PropertyName_Employee);
+ FirePropertyChanged(PropertyName_Employee);
+ }
+ }
+ }
+
+
+
+
+
+ [Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
+ public string TokenString
+ {
+ get { return _Token.ToStringNullCheck(); } // Validation Workaround
+ set { }
+ }
+
+
+ protected override void InitByDataContract(EmployeeTokenRelationDC pDataContract)
+ {
+ if (!IsNew)
+ {
+ //_Notice = pDataContract.Customer2TokenNotice;
+ _Token = pDataContract.Token;
+ _Employee = pDataContract.Employee;
+
+ }
+ }
+
+ protected override EmployeeTokenRelationDC MapToDataContract(EmployeeTokenRelationDC pDataContract, bool doCommit)
+ {
+ //pDataContract.Customer2TokenNotice = _Notice;
+ pDataContract.Token = _Token;
+ pDataContract.Employee = _Employee;
+
+ return pDataContract;
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWo/ViewModel/KriterienVM.cs b/BeWo/ViewModel/KriterienVM.cs
deleted file mode 100644
index 06d73ebb9..000000000
--- a/BeWo/ViewModel/KriterienVM.cs
+++ /dev/null
@@ -1,96 +0,0 @@
-using BS.Shared;
-using BS.Shared.DataContracts;
-using System;
-
-namespace BeWo.ViewModel
-{
- public class KriterienVM : AbstractDCMapperVM
- {
- public static string PropertyName_AusschlussKriterien = "AusschlussKriterien";
-
- public static string PropertyName_WunschKriterien = "WunschKriterien";
-
- //public static string PropertyName_Notice = "Notice";
-
- private string _AusschlussKriterien;
-
- private string _WunschKriterien;
-
- //private string _Notice;
-
-
- public KriterienVM(KriterienDC pDC)
- : base(pDC, true)
- {
- }
-
- public string AusschlussKriterien
- {
- get { return this._AusschlussKriterien; }
-
- set
- {
- if (this.AreDifferent(this._AusschlussKriterien, value))
- {
- this._AusschlussKriterien = value;
- this.StoreDirtyInformation(this.AreDifferent(this.DataContract.AusschlussKriterien, value), PropertyName_AusschlussKriterien);
- this.FirePropertyChanged(PropertyName_AusschlussKriterien);
- }
- }
- }
-
- public string WunschKriterien
- {
- get { return this._WunschKriterien; }
-
- set
- {
- if (this.AreDifferent(this._WunschKriterien, value))
- {
- this._WunschKriterien = value;
- this.StoreDirtyInformation(this.AreDifferent(this.DataContract.WunschKriterien, value), PropertyName_WunschKriterien);
- this.FirePropertyChanged(PropertyName_WunschKriterien);
- }
- }
- }
-
-
-
- //public string Notice
- //{
- // get { return _Notice; }
-
- // set
- // {
- // if (AreDifferent(_Notice, value))
- // {
- // _Notice = value;
- // StoreDirtyInformation(AreDifferent(DataContract.Notice, value), PropertyName_Notice);
- // FirePropertyChanged(PropertyName_Notice);
- // }
- // }
- //}
-
-
- protected override void InitByDataContract(KriterienDC pDataContract)
- {
- this._AusschlussKriterien = pDataContract.AusschlussKriterien;
- this._WunschKriterien = pDataContract.WunschKriterien;
-
-
- //this._Notice = pDataContract.Notice;
-
-
- }
-
- protected override KriterienDC MapToDataContract(KriterienDC pDataContract, bool doCommit)
- {
- pDataContract.AusschlussKriterien = _AusschlussKriterien;
- pDataContract.WunschKriterien = _WunschKriterien;
- //pDataContract.Notice = _Notice;
-
-
- return pDataContract;
- }
- }
-}
\ No newline at end of file
diff --git a/BeWo/ViewModel/TokenVM.cs b/BeWo/ViewModel/TokenVM.cs
new file mode 100644
index 000000000..9674e34ee
--- /dev/null
+++ b/BeWo/ViewModel/TokenVM.cs
@@ -0,0 +1,47 @@
+using BS.Shared;
+using BS.Shared.DataContracts;
+using System;
+
+namespace BeWo.ViewModel
+{
+ public class TokenVM : AbstractDCMapperVM
+ {
+ public static string PropertyName_Beschreibung = "VertretungsZeitraumVon";
+
+ private string _Beschreibung;
+
+ public TokenVM(TokenDC pDC)
+ : base(pDC, true)
+ {
+ }
+
+ public string Beschreibung
+ {
+ get { return this._Beschreibung; }
+
+ set
+ {
+ if (this.AreDifferent(this._Beschreibung, value))
+ {
+ this._Beschreibung = value;
+ this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Beschreibung, value), PropertyName_Beschreibung);
+ this.FirePropertyChanged(PropertyName_Beschreibung);
+ }
+ }
+ }
+
+
+ protected override void InitByDataContract(TokenDC pDataContract)
+ {
+ this._Beschreibung = pDataContract.Beschreibung;
+
+ }
+
+ protected override TokenDC MapToDataContract(TokenDC pDataContract, bool doCommit)
+ {
+ pDataContract.Beschreibung = _Beschreibung;
+
+ return pDataContract;
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWoPlanerMobil/BeWoPlanerMobil.csproj b/BeWoPlanerMobil/BeWoPlanerMobil.csproj
index 63d61abc6..202a472c0 100644
--- a/BeWoPlanerMobil/BeWoPlanerMobil.csproj
+++ b/BeWoPlanerMobil/BeWoPlanerMobil.csproj
@@ -148,6 +148,7 @@
+
diff --git a/BeWoPlanerMobil/Controllers/ChatTokenController.cs b/BeWoPlanerMobil/Controllers/ChatTokenController.cs
new file mode 100644
index 000000000..0fd54b3fe
--- /dev/null
+++ b/BeWoPlanerMobil/Controllers/ChatTokenController.cs
@@ -0,0 +1,406 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+using BeWo.Data.Access;
+using BeWo.Data.Entities;
+using BeWo.Service.ServiceImplementations;
+using BeWoPlanerMobil.Service;
+using BS.Shared;
+using log4net.Core;
+
+namespace BeWoPlanerMobil.Controllers
+{
+ public class ChatTokenController : Controller
+ {
+ //
+ // GET: /ChatToken/
+
+ //public ActionResult Index()
+ //{
+ // return View();
+ //}
+
+ public string Index()
+ {
+ return "Das ist die Default aktion... Sie haben hier nix verloren.";
+ }
+
+ public JsonResult LoginToken(string benutzername , string passwort, string kundennummer,string typ)
+ {
+ // lese hier die daten aus dem header aus
+ //var x = HttpUtility.HtmlEncode("Benutzer: "+benutzername+" / "+ "Passwort: "+passwort +" / "+"Kundennummer: "+kundennummer);
+
+
+ //#### prüfe ob kundennummer vorhanden
+ if (kundennummer == null)
+ {
+ return Json("99", JsonRequestBehavior.AllowGet);
+ }
+
+ MobileSessionFacade.Tenant = kundennummer;
+
+ var isKundennummerVorhanden = ASPHibernateSessionManager.ConfigureHibernateSessionForWebService();
+
+ if (isKundennummerVorhanden)
+ {
+ var s = new UserServiceImp();
+
+ //ist benutzer und passwort richtig
+ if (s.IsUserValid(benutzername, passwort, null, "MobilClient", false) == UserValidationResult.UserValid)
+ {
+ var user = DAOFactory.UserDAO.FindUserByLoginName(benutzername);
+
+ if (user == null || !DAOFactory.UserDAO.CheckPassword(user, passwort))
+ {
+ //gib json zurück {"STATE":1}
+ return Json("1", JsonRequestBehavior.AllowGet);
+ }
+
+ MobileSessionFacade.LoggedInUser = user; // das wird garnicht gebraucht
+
+
+ Response.AddHeader("Content-Type","application/json"); //; charset=utf8
+
+ //Useroid übergeben auch nur dann wenn UserOid Vorhanden ist.
+
+#region Typ Verarbeitung
+
+ if (typ != null)
+ {
+ if (typ.Equals("clients"))
+ {
+ //Klient Bereich
+
+ var daten = DAOFactory.GenericDAO.LoadByID(1);// was wird aus customer ?
+
+
+ List inputList = new List();
+
+ // input 2 als liste übergeben und für jeden Mitarbeiter dem Customer zugeteilt ist
+
+ foreach (var emp in daten.Employee2CustomerList)
+ {
+ if (emp.EmployeeOid == 1) //Unbedingt umbauen weil Hauptbetreuer Sollen geadded werden.
+ {
+
+ JsonInputKlient2 input2 = new JsonInputKlient2("1",user.Oid.ToString(), emp.EmployeeOid.ToString());
+
+ if (emp.IsActive == ActivationTypeId.Deleted)
+ input2.Status = "3";
+ if (emp.IsActive == ActivationTypeId.Archived)
+ input2.Status = "2";
+
+
+ inputList.Add(input2);
+ }
+ }
+
+
+ JsonInputKlient1 input1 = new JsonInputKlient1(daten.Oid.ToString(),"1",
+ daten.Person.FirstName, daten.Person.LastName, daten.CustomerAlias, inputList);
+
+
+ if (daten.IsActive == ActivationTypeId.Deleted)
+ input1.Status = "3";
+ if (daten.IsActive == ActivationTypeId.Archived)
+ input1.Status = "2";
+
+ var ssx = new JsonRueckgabeKlient("0", input1);
+
+
+ return Json(ssx, JsonRequestBehavior.AllowGet);
+
+ }
+ else if (typ.Equals("users"))
+ {
+ //Mitarbeiter Bereich
+ var daten = user;
+
+ var empChatCode = DAOFactory.GenericDAO.GetAllActive();
+
+ EmployeeAPPCode chatcode = new EmployeeAPPCode();
+
+ foreach (var code in empChatCode)
+ {
+ if (daten.Employee.Oid == code.EmployeeOid)
+ {
+ chatcode = code;
+ }
+ }
+
+ DateTime? insTs = null;
+
+ foreach (var img in daten.Employee.Person.Images)
+ {
+ insTs = img.InsTs.Value;
+ }
+
+ JsonRueckgabeMitarbeiterInput miInput;
+
+
+ //es kann sein das miInput in eine liste verändert werden muss um mehrere Users zu übergeben
+ //| kann alles nach belieben angepasst werden
+ if (daten.IsActive == ActivationTypeId.Deleted )
+ {
+ miInput = new JsonRueckgabeMitarbeiterInput("",
+ daten.Employee.Oid.ToString(),"3",
+ "","", "", "", "", "", "", "");
+
+ }else if (daten.IsActive == ActivationTypeId.Archived)
+ {
+ miInput = new JsonRueckgabeMitarbeiterInput("",
+ daten.Employee.Oid.ToString(),"2",
+ "", "", "", "", "", "", "", "");
+ }
+ else
+ {
+ miInput = new JsonRueckgabeMitarbeiterInput(user.Oid.ToString(),
+ daten.Employee.Oid.ToString(),"1", daten.LoginName,
+ daten.HashedPassword, daten.Employee.Person.FirstName, daten.Employee.Person.LastName,
+ chatcode.EmployeeCode, "Mobile number", daten.Employee.Person.Oid.ToString(), insTs.ToString()); // statt imageoid die person oid ubergeben
+
+ if (insTs != null)
+ {
+ miInput.PictureId = insTs.ToString();
+ }
+ }
+
+ JsonRueckgabeMitarbeiter mi = new JsonRueckgabeMitarbeiter("0", miInput);
+
+
+ return Json(mi, JsonRequestBehavior.AllowGet);
+
+ }
+ else if (typ.Equals("teams"))
+ {
+ //Mitarbeiter Team Bereich
+ var daten = DAOFactory.GenericDAO.GetAllActive();
+
+ List JRTMI = new List();
+
+
+ foreach (var dat in daten)
+ {
+ foreach (var mem in dat.MemberList)
+ {
+ if (mem.Oid == user.Employee.Oid)
+ {
+ List mtInputList = new List();
+
+ foreach (var member in dat.MemberList)
+ {
+ JsonRueckgabeTeamMitarbeiterInput2 mtInput2 = new JsonRueckgabeTeamMitarbeiterInput2("1",
+ "UserOid", member.Oid.ToString());
+
+ if (member.IsActive == ActivationTypeId.Deleted)
+ mtInput2.Status = "3";
+ if (member.IsActive == ActivationTypeId.Archived)
+ mtInput2.Status = "2";
+
+ mtInputList.Add(mtInput2);
+ }
+
+ JsonRueckgabeTeamMitarbeiterInput mtInput1 = new JsonRueckgabeTeamMitarbeiterInput(dat.Oid.ToString(),"1", dat.Name, mtInputList);
+
+ if (dat.IsActive == ActivationTypeId.Deleted)
+ mtInput1.Status = "3";
+ if (dat.IsActive == ActivationTypeId.Deleted)
+ mtInput1.Status = "2";
+
+ JRTMI.Add(mtInput1);
+
+ }
+ }
+ }
+
+ JsonRueckgabeTeamMitarbeiter mt = new JsonRueckgabeTeamMitarbeiter("0", JRTMI);
+
+ return Json(mt, JsonRequestBehavior.AllowGet);
+ }
+ //Falls typ nicht stimmt
+ return Json("1", JsonRequestBehavior.AllowGet);
+ }
+
+ #endregion
+ //fallsa typ nicht vorhanden
+ return Json("1", JsonRequestBehavior.AllowGet);
+ }
+ else
+ {
+ //gib json zurück {"STATE":1}
+ return Json("1", JsonRequestBehavior.AllowGet);
+ }
+ }
+ else
+ {
+ //gib json zurück {"STATE":99}
+ return Json("99", JsonRequestBehavior.AllowGet);
+ }
+
+ return Json("99", JsonRequestBehavior.AllowGet);
+ }
+
+ public JsonResult BildUrl(int oid)
+ {
+ //Small thumbnail zurückschicken
+ //var img = DAOFactory.GenericDAO.GetAllActive(); // diese form von rausholden ist nicht möglich
+ var img = DAOFactory.GenericDAO.GetByID(oid);
+
+ //Erstmal doof image komplett zurück schicken nacher nur die image datei
+ return Json(img.Images[0].SmallThumbnail, JsonRequestBehavior.AllowGet);
+ }
+
+
+ }
+
+ #region Klient
+ public class JsonRueckgabeKlient
+ {
+ public string State { get; set; }
+
+ public JsonInputKlient1 Input { get; set; }
+
+ public JsonRueckgabeKlient(string state, JsonInputKlient1 input )
+ {
+ State = state;
+ Input = input;
+ }
+ }
+
+ //klienten input
+ public class JsonInputKlient1
+ {
+ public string Oid { get; set; }
+ public string Status { get; set; }
+ public string Firstname { get; set; }
+ public string LastName { get; set; }
+ public string Alias { get; set; }
+ public List Guardians { get; set; }
+
+ public JsonInputKlient1(string oid,string status, string firstname, string lastname, string alias, List guardians)
+ {
+ Oid = oid;
+ Status = status;
+ Firstname = firstname;
+ LastName = lastname;
+ Alias = alias;
+ Guardians = guardians;
+ }
+ }
+
+ public class JsonInputKlient2
+ {
+ public string Status { get; set; }
+
+ public string UserOid { get; set; }
+
+ public string EmployeeOid { get; set; }
+
+ public JsonInputKlient2(string status, string userOid,string employeeOid)
+ {
+ Status = status;
+ UserOid = userOid;
+ EmployeeOid = employeeOid;
+ }
+ }
+
+ #endregion
+
+ #region Mitarbeiter
+
+ public class JsonRueckgabeMitarbeiter
+ {
+ public string State { get; set; }
+ public JsonRueckgabeMitarbeiterInput Input { get; set; }
+
+ public JsonRueckgabeMitarbeiter(string state, JsonRueckgabeMitarbeiterInput input )
+ {
+ State = state;
+ Input = input;
+ }
+ }
+
+ public class JsonRueckgabeMitarbeiterInput
+ {
+ public string Useroid { get; set; }
+ public string EmployeeOid { get; set; }
+ public string Status { get; set; }
+ public string Login { get; set; }
+ public string Password { get; set; }
+ public string Firstname { get; set; }
+ public string LastName { get; set; }
+ public string ChatCode { get; set; }
+ public string Mobile { get; set; }
+ public string Picture { get; set; }
+ public string PictureId { get; set; }
+
+
+ public JsonRueckgabeMitarbeiterInput(string useroid, string employeeOid, string status, string login, string password,
+ string firstname, string lastname,string chatcode,string mobile,string picture,string pictureId)
+ {
+ Useroid = useroid;
+ EmployeeOid = employeeOid;
+ Status = status;
+ Login = login;
+ Password = password;
+ Firstname = firstname;
+ LastName = lastname;
+ ChatCode = chatcode;
+ Mobile = mobile;
+ Picture = picture;
+ PictureId = pictureId;
+ }
+ }
+
+ #endregion
+
+ #region TeamMitarbeiter
+
+ public class JsonRueckgabeTeamMitarbeiter
+ {
+ public string State { get; set; }
+ public List Input { get; set; }
+
+ public JsonRueckgabeTeamMitarbeiter(string state, List input)
+ {
+ State = state;
+ Input = input;
+ }
+ }
+
+ public class JsonRueckgabeTeamMitarbeiterInput
+ {
+ public string Oid { get; set; }
+ public string Status { get; set; }
+ public string Name { get; set; }
+ public List Member { get; set; }
+
+ public JsonRueckgabeTeamMitarbeiterInput(string oid,string status, string name,List member)
+ {
+ Oid = oid;
+ Name = name;
+ Member = member;
+ Status = status;
+ }
+ }
+
+ public class JsonRueckgabeTeamMitarbeiterInput2
+ {
+ public string Status { get; set; }
+ public string UserOid { get; set; }
+ public string EmployeeOid { get; set; }
+
+ public JsonRueckgabeTeamMitarbeiterInput2(string status, string userOid,string employeeOid)
+ {
+ Status = status;
+ UserOid = userOid;
+ EmployeeOid = employeeOid;
+ }
+ }
+
+ #endregion
+
+
+}
diff --git a/Data/Access/SearchDAO.cs b/Data/Access/SearchDAO.cs
index 4e6427bcc..9ab8e25f4 100644
--- a/Data/Access/SearchDAO.cs
+++ b/Data/Access/SearchDAO.cs
@@ -2086,7 +2086,7 @@ namespace BeWo.Data.Access
}
return a;
- }
+ }
public IList FindCostBearer2SupportConceptForDate(DateTime datum)
{
diff --git a/Data/Data.csproj b/Data/Data.csproj
index 3cba8fa1e..d36849eb8 100644
--- a/Data/Data.csproj
+++ b/Data/Data.csproj
@@ -162,8 +162,10 @@
+
+
+
-
@@ -560,15 +562,17 @@
PreserveNewest
+
+
+
+ Designer
+
Designer
Designer
-
- Designer
-
Designer
diff --git a/Data/Entities/Customer.cs b/Data/Entities/Customer.cs
index 6879a1b9a..021c28434 100644
--- a/Data/Entities/Customer.cs
+++ b/Data/Entities/Customer.cs
@@ -51,7 +51,7 @@ namespace BeWo.Data.Entities
public static string PropertyName_Pflegegrad = "Pflegegrad";
public static string PropertyName_IsMigrant = "IsMigrant";
public static string PropertyName_Nationalitaet = "Nationalitaet";
- public static string PropertyName_AufenthaltsStatus = "AufenthaltsStatus";
+ public static string PropertyName_AufenthaltsStatus = "AufenthaltsStatus";
private Auszahlungsintervall _Auszahlungsintervall;
@@ -95,7 +95,7 @@ namespace BeWo.Data.Entities
private IList _MerkzeichenListe;
private IList _BehinderungsartenListe;
private string _CustomerAlias;
- private Pflegegrad? _Pflegegrad;
+ private Pflegegrad? _Pflegegrad;
public Customer()
diff --git a/Data/Entities/Customer2Token.cs b/Data/Entities/Customer2Token.cs
new file mode 100644
index 000000000..3b275acc1
--- /dev/null
+++ b/Data/Entities/Customer2Token.cs
@@ -0,0 +1,53 @@
+using System.Collections.Generic;
+
+using BS.Shared;
+
+namespace BeWo.Data.Entities
+{
+ public class Customer2Token : BeWoEntityBase
+ {
+ public static string PropertyName_Token = "Token";
+ public static string PropertyName_Customer = "Customer";
+
+ private Token _Token;
+ private Customer _Customer;
+
+ public Customer2Token()
+ {
+ this._Tid = TableID.Customer2Token;
+ }
+
+ public virtual Token Token
+ {
+ get
+ {
+ return this._Token;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._Token, value))
+ {
+ this._Token = value;
+ }
+ }
+ }
+
+ public virtual Customer Customer
+ {
+ get
+ {
+ return this._Customer;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._Customer, value))
+ {
+ this._Customer = value;
+ }
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Data/Entities/Employee2Token.cs b/Data/Entities/Employee2Token.cs
new file mode 100644
index 000000000..db0864b47
--- /dev/null
+++ b/Data/Entities/Employee2Token.cs
@@ -0,0 +1,56 @@
+using System.Collections.Generic;
+
+using BS.Shared;
+
+namespace BeWo.Data.Entities
+{
+ public class Employee2Token : BeWoEntityBase
+ {
+ public static string PropertyName_Token = "Token";
+ public static string PropertyName_Employee = "Employee";
+
+ private Token _Token;
+ private Employee _Employee;
+
+
+
+ public Employee2Token()
+ {
+ this._Tid = TableID.Employee2Token;
+ }
+
+ public virtual Token Token
+ {
+ get
+ {
+ return this._Token;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._Token, value))
+ {
+ this._Token = value;
+ }
+ }
+ }
+
+ public virtual Employee Employee
+ {
+ get
+ {
+ return this._Employee;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._Employee, value))
+ {
+ this._Employee = value;
+ }
+ }
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/Data/Entities/Kriterien.cs b/Data/Entities/Kriterien.cs
deleted file mode 100644
index b325702ec..000000000
--- a/Data/Entities/Kriterien.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using BS.Shared;
-using System;
-
-namespace BeWo.Data.Entities
-{
- public class Kriterien : BeWoEntityBase
- {
- public static string PropertyName_AusschlussKriterien = "AusschlussKriterien";
-
- public static string PropertyName_WunschKriterien = "WunschKriterien";
-
- public static string PropertyName_CustomerOid = "CustomerOid";
-
- private string _AusschlussKriterien;
-
- private string _WunschKriterien;
-
- private long? _CustomerOid;
-
-
- public virtual string AusschlussKriterien
- {
- get
- {
- return this._AusschlussKriterien;
- }
-
- set
- {
- if (this.AreDifferent(this._AusschlussKriterien, value))
- {
- this._AusschlussKriterien = value;
- }
- }
- }
-
- public virtual string WunschKriterien
- {
- get
- {
- return this._WunschKriterien;
- }
-
- set
- {
- if (this.AreDifferent(this._WunschKriterien, value))
- {
- this._WunschKriterien = value;
- }
- }
- }
-
- public virtual long? CustomerOid
- {
- get
- {
- return this._CustomerOid;
- }
-
- set
- {
- if (this.AreDifferent(this._CustomerOid, value))
- {
- this._CustomerOid = value;
- }
- }
- }
-
- }
-}
\ No newline at end of file
diff --git a/Data/Entities/Token.cs b/Data/Entities/Token.cs
new file mode 100644
index 000000000..b0851e8ca
--- /dev/null
+++ b/Data/Entities/Token.cs
@@ -0,0 +1,108 @@
+using BS.Shared;
+using System;
+using System.Collections.Generic;
+
+namespace BeWo.Data.Entities
+{
+ public class Token : BeWoEntityBase
+ {
+ public static string PropertyName_Beschreibung = "Beschreibung";
+
+ public static string PropertyName_TokenTyp = "TokenTyp";
+
+ public static string PropertyName_MemberOid = "MemberOid";
+
+ private string _Beschreibung;
+
+ private TokenTyp? _TokenTyp;
+
+ private IList _Employee2TokenList;
+
+ private IList _Customer2TokenList;
+
+ private long? _MemberOid;
+
+ public Token()
+ {
+ this._Tid = TableID.Token;
+ }
+
+
+ public virtual string Beschreibung
+ {
+ get
+ {
+ return this._Beschreibung;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._Beschreibung, value))
+ {
+ this._Beschreibung = value;
+ }
+ }
+ }
+
+ public virtual TokenTyp? TokenTyp
+ {
+ get
+ {
+ return this._TokenTyp;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._TokenTyp, value))
+ {
+ this._TokenTyp = value;
+ }
+ }
+ }
+
+
+ public virtual IList Employee2TokenList
+ {
+ get { return _Employee2TokenList ?? (_Employee2TokenList = new List()); }
+
+ set
+ {
+ if (AreDifferent(_Employee2TokenList, value))
+ {
+ _Employee2TokenList = value;
+ }
+ }
+ }
+
+ public virtual IList Customer2TokenList
+ {
+ get { return _Customer2TokenList ?? (_Customer2TokenList = new List()); }
+
+ set
+ {
+ if (AreDifferent(_Customer2TokenList, value))
+ {
+ _Customer2TokenList = value;
+ }
+ }
+ }
+
+ public virtual long? MemberOid
+ {
+ get
+ {
+ return _MemberOid;
+ }
+ set
+ {
+ if (AreDifferent(_MemberOid, value))
+ {
+ _MemberOid = value;
+ }
+
+
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Data/Entities/Vertretung.cs b/Data/Entities/Vertretung.cs
index 37dc4d80c..2ea19bdc2 100644
--- a/Data/Entities/Vertretung.cs
+++ b/Data/Entities/Vertretung.cs
@@ -30,6 +30,11 @@ namespace BeWo.Data.Entities
private long? _AbsenceTimeOid;
+ public Vertretung()
+ {
+ this._Tid = TableID.Vertretung;
+ }
+
public virtual DateTime VertretungsZeitraumVon
{
get
diff --git a/Data/Mappings/Customer2Token.hbm.xml b/Data/Mappings/Customer2Token.hbm.xml
new file mode 100644
index 000000000..82f94fa3e
--- /dev/null
+++ b/Data/Mappings/Customer2Token.hbm.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Data/Mappings/Employee2Token.hbm.xml b/Data/Mappings/Employee2Token.hbm.xml
new file mode 100644
index 000000000..4bb9cc92d
--- /dev/null
+++ b/Data/Mappings/Employee2Token.hbm.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Data/Mappings/Kriterien.hbm.xml b/Data/Mappings/Token.hbm.xml
similarity index 52%
rename from Data/Mappings/Kriterien.hbm.xml
rename to Data/Mappings/Token.hbm.xml
index a7e703009..01dac9c97 100644
--- a/Data/Mappings/Kriterien.hbm.xml
+++ b/Data/Mappings/Token.hbm.xml
@@ -1,12 +1,11 @@
-
+
-
@@ -15,10 +14,19 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
\ No newline at end of file
diff --git a/Model/Changes_2017_06_22.txt b/Model/Changes_2017_06_22.txt
new file mode 100644
index 000000000..86b999775
--- /dev/null
+++ b/Model/Changes_2017_06_22.txt
@@ -0,0 +1,58 @@
+CREATE TABLE `1234567890`.`token` (
+ `Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
+
+ `Tid` INT(10) NULL COMMENT '',
+ `Notice` VARCHAR(1024) NULL COMMENT '',
+ `InsTs` DATETIME NULL COMMENT '',
+
+`InsUser` VARCHAR(1024) NULL COMMENT '',
+ `Version` BIGINT(19) NULL COMMENT '',
+ `UdpUser` VARCHAR(256) NULL COMMENT '',
+
+ `isActive` TINYINT(4) NULL COMMENT '',
+ `SystemEntryID` INT(10) NULL COMMENT '',
+
+`Beschreibung` VARCHAR(1024) NULL COMMENT '',
+ `Typ` TINYINT(4) NULL COMMENT '',
+ PRIMARY KEY (`Oid`) COMMENT '');
+
+
+
+CREATE TABLE `1234567890`.`customer2token` (
+ `Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
+
+ `CustomerOid` BIGINT(19) NULL COMMENT '',
+ `TokenOid` BIGINT(19) NULL COMMENT '',
+ `Tid` INT(10) NULL COMMENT '',
+
+ `Notice` VARCHAR(1024) NULL COMMENT '',
+ `InsTs` DATETIME NULL COMMENT '',
+ `InsUser` VARCHAR(1024) NULL COMMENT '',
+
+`Version` BIGINT(19) NULL COMMENT '',
+ `UdpUser` VARCHAR(256) NULL COMMENT '',
+
+`isActive` TINYINT(4) NULL COMMENT '',
+ `SystemEntryID` INT(10) NULL COMMENT '',
+ PRIMARY KEY (`Oid`) COMMENT '');
+
+
+
+
+CREATE TABLE `1234567890`.`employee2token` (
+ `Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
+
+ `EmployeeOid` BIGINT(19) NULL COMMENT '',
+ `TokenOid` BIGINT(19) NULL COMMENT '',
+ `Tid` INT(10) NULL COMMENT '',
+
+ `Notice` VARCHAR(1024) NULL COMMENT '',
+ `InsTs` DATETIME NULL COMMENT '',
+ `InsUser` VARCHAR(1024) NULL COMMENT '',
+
+ `Version` BIGINT(19) NULL COMMENT '',
+ `UdpUser` VARCHAR(256) NULL COMMENT '',
+
+ `isActive` TINYINT(4) NULL COMMENT '',
+ `SystemEntryID` INT(10) NULL COMMENT '',
+ PRIMARY KEY (`Oid`) COMMENT '');
diff --git a/Model/Changes_2017_07_12.txt b/Model/Changes_2017_07_12.txt
new file mode 100644
index 000000000..afdac07ce
--- /dev/null
+++ b/Model/Changes_2017_07_12.txt
@@ -0,0 +1 @@
+DROP TABLE Kriterien;
\ No newline at end of file
diff --git a/ReportImp/AdikKleve/AdikKleve.csproj b/ReportImp/AdikKleve/AdikKleve.csproj
index 17bc1a9ae..cf5574250 100644
--- a/ReportImp/AdikKleve/AdikKleve.csproj
+++ b/ReportImp/AdikKleve/AdikKleve.csproj
@@ -52,6 +52,7 @@
+
diff --git a/ReportImp/BeWoMobilReports/BeWoMobilReports.csproj b/ReportImp/BeWoMobilReports/BeWoMobilReports.csproj
index 936aec372..2da151f0a 100644
--- a/ReportImp/BeWoMobilReports/BeWoMobilReports.csproj
+++ b/ReportImp/BeWoMobilReports/BeWoMobilReports.csproj
@@ -97,6 +97,7 @@
+
diff --git a/ReportImp/BetreuungsbueroBaak/BetreuungsbueroBaak.csproj b/ReportImp/BetreuungsbueroBaak/BetreuungsbueroBaak.csproj
index b8e0c58e9..a00b8505b 100644
--- a/ReportImp/BetreuungsbueroBaak/BetreuungsbueroBaak.csproj
+++ b/ReportImp/BetreuungsbueroBaak/BetreuungsbueroBaak.csproj
@@ -52,6 +52,7 @@
+
diff --git a/ReportImp/CaritasLeverkusen/CaritasLeverkusen.csproj b/ReportImp/CaritasLeverkusen/CaritasLeverkusen.csproj
index 6464c3460..d016b8c1d 100644
--- a/ReportImp/CaritasLeverkusen/CaritasLeverkusen.csproj
+++ b/ReportImp/CaritasLeverkusen/CaritasLeverkusen.csproj
@@ -52,6 +52,7 @@
+
diff --git a/ReportImp/Club74/Club74.csproj b/ReportImp/Club74/Club74.csproj
index 4d20d3618..eb62ee2fd 100644
--- a/ReportImp/Club74/Club74.csproj
+++ b/ReportImp/Club74/Club74.csproj
@@ -52,6 +52,7 @@
+
diff --git a/ReportImp/FlingernMobilReports/FlingernMobilReports.csproj b/ReportImp/FlingernMobilReports/FlingernMobilReports.csproj
index 12d614e38..94428cbdf 100644
--- a/ReportImp/FlingernMobilReports/FlingernMobilReports.csproj
+++ b/ReportImp/FlingernMobilReports/FlingernMobilReports.csproj
@@ -56,6 +56,7 @@
+
diff --git a/ReportImp/KetteReports/KetteReports.csproj b/ReportImp/KetteReports/KetteReports.csproj
index 3c6502868..62d8fc0bb 100644
--- a/ReportImp/KetteReports/KetteReports.csproj
+++ b/ReportImp/KetteReports/KetteReports.csproj
@@ -94,6 +94,7 @@
+
diff --git a/ReportImp/ProfEggersStiftung/ProfEggersStiftung.csproj b/ReportImp/ProfEggersStiftung/ProfEggersStiftung.csproj
index 9b1444134..972bf4af9 100644
--- a/ReportImp/ProfEggersStiftung/ProfEggersStiftung.csproj
+++ b/ReportImp/ProfEggersStiftung/ProfEggersStiftung.csproj
@@ -53,6 +53,7 @@
+
diff --git a/ReportImp/SeWo/SeWo.csproj b/ReportImp/SeWo/SeWo.csproj
index 5f0381ba1..62d731c9c 100644
--- a/ReportImp/SeWo/SeWo.csproj
+++ b/ReportImp/SeWo/SeWo.csproj
@@ -52,6 +52,7 @@
+
diff --git a/Service/DCEntityMapper/CompactTokenDC_Token.cs b/Service/DCEntityMapper/CompactTokenDC_Token.cs
new file mode 100644
index 000000000..4812cdae3
--- /dev/null
+++ b/Service/DCEntityMapper/CompactTokenDC_Token.cs
@@ -0,0 +1,34 @@
+using BeWo.Data.Access;
+using BeWo.Data.Entities;
+using System.Linq;
+using BS.Shared.DataContracts.Compact;
+
+namespace BeWo.Service.DCEntityMapper
+{
+ public class CompactTokenDC_Token : AbstractIDCEntityMapper
+ {
+ public override CompactTokenDC MergeWithDC(Token pEntity, CompactTokenDC pDataContract)
+ {
+ pDataContract.TokenOid = pEntity.Oid;
+ pDataContract.Beschreibung = pEntity.Beschreibung;
+ pDataContract.ActivationType = pEntity.IsActive;
+
+
+ pDataContract.CustomerOids = pEntity.Customer2TokenList.Select(c => c.Customer.Oid.Value).ToList();
+ pDataContract.EmployeeOids = pEntity.Employee2TokenList.Select(c => c.Employee.Oid.Value).ToList();
+
+ return pDataContract;
+ }
+
+ // COMPACT Wohnheim ARE NOT EDITABLE
+ public override Token MergeWithEntity(CompactTokenDC pDataContract, Token pEntity)
+ {
+ return DAOFactory.GenericDAO.LoadByID(pDataContract.TokenOid.Value);
+ }
+
+ protected override bool AreDCAndEntityEqual(CompactTokenDC pDC, Token pEntity)
+ {
+ return pDC.TokenOid == pEntity.Oid;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/DCEntityMapper/CompactVertreterEmployeeDC_VertreterEmployee.cs b/Service/DCEntityMapper/CompactVertreterEmployeeDC_VertreterEmployee.cs
index b9ad50933..12798f3d3 100644
--- a/Service/DCEntityMapper/CompactVertreterEmployeeDC_VertreterEmployee.cs
+++ b/Service/DCEntityMapper/CompactVertreterEmployeeDC_VertreterEmployee.cs
@@ -19,10 +19,14 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.ActivationType = pEntity.IsActive;
pDataContract.ValueListEntries = pEntity.ValueList.ToDictionary(i => i.Entry.Oid.Value, i => i.Entry.Type);
pDataContract.EmployeeColor = pEntity.EmployeeColor;
+ pDataContract.Geschlecht = pEntity.Person.Sex;
if (pEntity.Person.Address != null)
{
- pDataContract.PersonAdressInfo = pEntity.Person.Address.PostalCode + " " + pEntity.Person.Address.Street + " " + pEntity.Person.Address.Town;
+ pDataContract.PersonAdressStr = pEntity.Person.Address.Street;
+ pDataContract.PersonAdressPLZ = pEntity.Person.Address.PostalCode;
+ pDataContract.PersonAdressStadt = pEntity.Person.Address.Town;
+
}
if(pEntity.Arbeitszeit != null){
diff --git a/Service/DCEntityMapper/CustomerDC_Customer.cs b/Service/DCEntityMapper/CustomerDC_Customer.cs
index 0b332fde0..99e4188cb 100644
--- a/Service/DCEntityMapper/CustomerDC_Customer.cs
+++ b/Service/DCEntityMapper/CustomerDC_Customer.cs
@@ -23,7 +23,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.RelatedTeams = MapperFactory.TeamCustomerRelDC_Team2CustomerMapper.MapToNewDCs(pEntity.Team2CustomerList);
pDataContract.CostBearers = MapperFactory.CustomerCostBearerRelDC_Customer2CostBearer.MapToNewDCs(pEntity.Customer2CostBearerList);
pDataContract.EnvironmentPersons = MapperFactory.CustomerPersonRelationDC_Customer2Person.MapToNewDCs(pEntity.Customer2PersonList);
- pDataContract.EnvironmentOrganisations = MapperFactory.CustomerOrganisationRelationDC_Customer2Organisation.MapToNewDCs(pEntity.Customer2OrganisationList);
+ pDataContract.EnvironmentOrganisations = MapperFactory.CustomerOrganisationRelationDC_Customer2Organisation.MapToNewDCs(pEntity.Customer2OrganisationList);
//if(pEntity.Jugendamt != null)
// pDataContract.Jugendamt = MapperFactory.CompactOrganisationDC_Organisation.MapToNewDC(pEntity.Jugendamt);
@@ -126,7 +126,7 @@ namespace BeWo.Service.DCEntityMapper
MapperFactory.AbsenceTimeDC_AbsenceTime.MergeWithEntitys(pDataContract.AbsenceTimes, pEntity.AbsenceTimes);
- MapperFactory.CustomerPersonRelationDC_Customer2Person.MergeWithEntitys(pDataContract.EnvironmentPersons, pEntity.Customer2PersonList);
+ MapperFactory.CustomerPersonRelationDC_Customer2Person.MergeWithEntitys(pDataContract.EnvironmentPersons, pEntity.Customer2PersonList);
MapperFactory.CustomerOrganisationRelationDC_Customer2Organisation.MergeWithEntitys(pDataContract.EnvironmentOrganisations, pEntity.Customer2OrganisationList);
pEntity.DistanceInMeter = pDataContract.DistanceInMeter;
diff --git a/Service/DCEntityMapper/CustomerTokenRelationDC_Customer2Token.cs b/Service/DCEntityMapper/CustomerTokenRelationDC_Customer2Token.cs
new file mode 100644
index 000000000..fce588bee
--- /dev/null
+++ b/Service/DCEntityMapper/CustomerTokenRelationDC_Customer2Token.cs
@@ -0,0 +1,48 @@
+using BeWo.Data.Access;
+using BeWo.Data.Entities;
+
+using BS.Shared;
+using BS.Shared.DataContracts;
+
+namespace BeWo.Service.DCEntityMapper
+{
+ public class CustomerTokenRelationDC_Customer2Token : AbstractIDCEntityMapper
+ {
+ public override CustomerTokenRelationDC MergeWithDC(Customer2Token pEntity, CustomerTokenRelationDC pDataContract)
+ {
+ //pDataContract.Customer2TokenNotice = pEntity.Notice;
+ pDataContract.Customer2TokenOid = pEntity.Oid;
+
+ pDataContract.Token = MapperFactory.CompactTokenDC_Token.MapToNewDC(pEntity.Token);
+ pDataContract.Customer = MapperFactory.CustomerDC_Customer.MapToNewDC(pEntity.Customer);
+
+ return pDataContract;
+ }
+
+ public override Customer2Token MergeWithEntity(CustomerTokenRelationDC pDataContract, Customer2Token pEntity)
+ {
+ pEntity.Oid = pDataContract.Customer2TokenOid;
+
+ if (pDataContract.Token != null){
+ pEntity.Token = DAOFactory.GenericDAO.LoadByID(pDataContract.Token.TokenOid.Value);
+ }
+
+ if (pDataContract.Customer != null)
+ {
+ pEntity.Customer = DAOFactory.GenericDAO.LoadByID(pDataContract.Customer.CustomerOid.Value);
+ }
+
+ return pEntity;
+ }
+
+ protected override bool AreDCAndEntityEqual(CustomerTokenRelationDC pDC, Customer2Token pEntity)
+ {
+ if (pDC.Customer2TokenOid == null)
+ {
+ return false;
+ }
+
+ return pDC.Customer2TokenOid == pEntity.Oid;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/DCEntityMapper/EmployeeTokenRelationDC_Employee2Token.cs b/Service/DCEntityMapper/EmployeeTokenRelationDC_Employee2Token.cs
new file mode 100644
index 000000000..74eaec3e8
--- /dev/null
+++ b/Service/DCEntityMapper/EmployeeTokenRelationDC_Employee2Token.cs
@@ -0,0 +1,51 @@
+using BeWo.Data.Access;
+using BeWo.Data.Entities;
+
+using BS.Shared;
+using BS.Shared.DataContracts;
+
+namespace BeWo.Service.DCEntityMapper
+{
+ public class EmployeeTokenRelationDC_Employee2Token : AbstractIDCEntityMapper
+ {
+ public override EmployeeTokenRelationDC MergeWithDC(Employee2Token pEntity, EmployeeTokenRelationDC pDataContract)
+ {
+ //pDataContract.Customer2TokenNotice = pEntity.Notice;
+ pDataContract.Employee2TokenOid = pEntity.Oid;
+
+ pDataContract.Token = MapperFactory.CompactTokenDC_Token.MapToNewDC(pEntity.Token);
+ pDataContract.Employee = MapperFactory.EmployeeDC_Employee.MapToNewDC(pEntity.Employee);
+
+
+
+ return pDataContract;
+ }
+
+ public override Employee2Token MergeWithEntity(EmployeeTokenRelationDC pDataContract, Employee2Token pEntity)
+ {
+ pEntity.Oid = pDataContract.Employee2TokenOid;
+
+ if (pDataContract.Token != null)
+ {
+ pEntity.Token = DAOFactory.GenericDAO.LoadByID(pDataContract.Token.TokenOid.Value);
+ }
+
+ if (pDataContract.Employee != null)
+ {
+ pEntity.Employee = DAOFactory.GenericDAO.LoadByID(pDataContract.Employee.EmployeeOid.Value);
+ }
+
+ return pEntity;
+ }
+
+ protected override bool AreDCAndEntityEqual(EmployeeTokenRelationDC pDC, Employee2Token pEntity)
+ {
+ if (pDC.Employee2TokenOid == null)
+ {
+ return false;
+ }
+
+ return pDC.Employee2TokenOid == pEntity.Oid;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/DCEntityMapper/KriterienDC_Kriterien.cs b/Service/DCEntityMapper/KriterienDC_Kriterien.cs
deleted file mode 100644
index 997a23e7a..000000000
--- a/Service/DCEntityMapper/KriterienDC_Kriterien.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using System.IO;
-using BeWo.Data.Entities;
-
-using BS.Shared.DataContracts;
-
-namespace BeWo.Service.DCEntityMapper
-{
- public class KriterienDC_Kriterien : AbstractIDCEntityMapper
- {
- public override KriterienDC MergeWithDC(Kriterien pEntity, KriterienDC pDataContract)
- {
-
- pDataContract.CustomerOid = pEntity.CustomerOid;
- pDataContract.AusschlussKriterien = pEntity.AusschlussKriterien;
- pDataContract.WunschKriterien = pEntity.WunschKriterien;
-
- //pDataContract.Notice = pEntity.Notice;
-
- return pDataContract;
- }
-
- public override Kriterien MergeWithEntity(KriterienDC pDataContract, Kriterien pEntity)
- {
- pEntity.CustomerOid = pDataContract.CustomerOid;
- pEntity.AusschlussKriterien = pDataContract.AusschlussKriterien;
- pEntity.WunschKriterien = pDataContract.WunschKriterien;
-
- //pEntity.Notice = pDataContract.Notice;
-
-
- return pEntity;
- }
-
- protected override bool AreDCAndEntityEqual(KriterienDC pDC, Kriterien pEntity)
- {
-
- if (pDC.KriterienOid == null)
- {
- return false;
- }
-
- return pDC.KriterienOid == pEntity.Oid;
- }
- }
-}
\ No newline at end of file
diff --git a/Service/DCEntityMapper/MapperFactory.cs b/Service/DCEntityMapper/MapperFactory.cs
index f1dab8eef..b83ff0e3d 100644
--- a/Service/DCEntityMapper/MapperFactory.cs
+++ b/Service/DCEntityMapper/MapperFactory.cs
@@ -47,11 +47,11 @@ namespace BeWo.Service.DCEntityMapper
private static VertretungDC_Vertretung _VertretungDC_Vertretung;
+ private static TokenDC_Token _TokenDC_Token;
+
private static ArbeitszeitDC_Arbeitszeit _ArbeitszeitDC_Arbeitszeit;
- private static ArbeitszeitEintragDC_ArbeitszeitEintrag _ArbeitszeitEintragDC_ArbeitszeitEintrag;
-
- private static KriterienDC_Kriterien _KriterienDC_Kriterien;
+ private static ArbeitszeitEintragDC_ArbeitszeitEintrag _ArbeitszeitEintragDC_ArbeitszeitEintrag;
private static VertretungsListeDC_VertretungsListe _VertretungsListeDC_VertretungsListe;
@@ -85,6 +85,12 @@ namespace BeWo.Service.DCEntityMapper
private static CustomerPersonRelationDC_Customer2Person _CustomerPersonRelationDC_Customer2Person;
+ private static CustomerTokenRelationDC_Customer2Token _CustomerTokenRelationDC_Customer2Token;
+
+ private static EmployeeTokenRelationDC_Employee2Token _EmployeeTokenRelationDC_Employee2Token;
+
+ private static CompactTokenDC_Token _CompactTokenDC_Token;
+
private static CustomerOrganisationRelationDC_Customer2Organisation _CustomerOrganisationRelationDC_Customer2Organisation;
private static CustomerEmployeeRelDC_Employee2CustomerMapper _EmployeeCustomerRelDC_Employee2CustomerMapper;
@@ -544,6 +550,15 @@ namespace BeWo.Service.DCEntityMapper
}
}
+ public static TokenDC_Token TokenDC_Token
+ {
+ get
+ {
+ return _TokenDC_Token ?? (_TokenDC_Token = new TokenDC_Token());
+ }
+ }
+
+
public static ArbeitszeitDC_Arbeitszeit ArbeitszeitDC_Arbeitszeit
{
get
@@ -559,13 +574,6 @@ namespace BeWo.Service.DCEntityMapper
return _ArbeitszeitEintragDC_ArbeitszeitEintrag ?? (_ArbeitszeitEintragDC_ArbeitszeitEintrag = new ArbeitszeitEintragDC_ArbeitszeitEintrag());
}
}
- public static KriterienDC_Kriterien KriterienDC_Kriterien
- {
- get
- {
- return _KriterienDC_Kriterien ?? (_KriterienDC_Kriterien = new KriterienDC_Kriterien());
- }
- }
public static VertretungsListeDC_VertretungsListe VertretungsListeDC_VertretungsListe
{
@@ -703,6 +711,31 @@ namespace BeWo.Service.DCEntityMapper
}
}
+ public static CustomerTokenRelationDC_Customer2Token CustomerTokenRelationDC_Customer2Token
+ {
+ get
+ {
+ return _CustomerTokenRelationDC_Customer2Token ?? (_CustomerTokenRelationDC_Customer2Token = new CustomerTokenRelationDC_Customer2Token());
+ }
+ }
+
+ public static EmployeeTokenRelationDC_Employee2Token EmployeeTokenRelationDC_Employee2Token
+ {
+ get
+ {
+ return _EmployeeTokenRelationDC_Employee2Token ?? (_EmployeeTokenRelationDC_Employee2Token = new EmployeeTokenRelationDC_Employee2Token());
+ }
+ }
+
+
+ public static CompactTokenDC_Token CompactTokenDC_Token
+ {
+ get
+ {
+ return _CompactTokenDC_Token ?? (_CompactTokenDC_Token = new CompactTokenDC_Token());
+ }
+ }
+
public static CustomerOrganisationRelationDC_Customer2Organisation CustomerOrganisationRelationDC_Customer2Organisation
{
get
diff --git a/Service/DCEntityMapper/TokenDC_Token.cs b/Service/DCEntityMapper/TokenDC_Token.cs
new file mode 100644
index 000000000..a87e6cd9d
--- /dev/null
+++ b/Service/DCEntityMapper/TokenDC_Token.cs
@@ -0,0 +1,53 @@
+using System.IO;
+using BeWo.Data.Entities;
+using BS.Shared;
+using BS.Shared.DataContracts;
+
+namespace BeWo.Service.DCEntityMapper
+{
+ public class TokenDC_Token : AbstractIDCEntityMapper
+ {
+ public override TokenDC MergeWithDC(Token pEntity, TokenDC pDataContract)
+ {
+ pDataContract.RelatedEmployees = MapperFactory.EmployeeTokenRelationDC_Employee2Token.MapToNewDCs(pEntity.Employee2TokenList);
+ pDataContract.RelatedCustomers = MapperFactory.CustomerTokenRelationDC_Customer2Token.MapToNewDCs(pEntity.Customer2TokenList);
+
+
+ pDataContract.TokenOid = pEntity.Oid;
+ pDataContract.Beschreibung = pEntity.Beschreibung;
+
+ if (pEntity.TokenTyp != null)
+ {
+ pDataContract.TokenTyp = pEntity.TokenTyp;
+ }
+
+ pDataContract.MemberOid = pEntity.MemberOid;
+
+ return pDataContract;
+ }
+
+ public override Token MergeWithEntity(TokenDC pDataContract, Token pEntity)
+ {
+ pEntity.Oid = pDataContract.TokenOid;
+ pEntity.Beschreibung = pDataContract.Beschreibung;
+ pEntity.TokenTyp = pDataContract.TokenTyp;
+
+ MapperFactory.EmployeeTokenRelationDC_Employee2Token.MergeWithEntitys(pDataContract.RelatedEmployees, pEntity.Employee2TokenList);
+ MapperFactory.CustomerTokenRelationDC_Customer2Token.MergeWithEntitys(pDataContract.RelatedCustomers, pEntity.Customer2TokenList);
+
+
+ return pEntity;
+ }
+
+ protected override bool AreDCAndEntityEqual(TokenDC pDC, Token pEntity)
+ {
+
+ if (pDC.TokenOid == null)
+ {
+ return false;
+ }
+
+ return pDC.TokenOid == pEntity.Oid;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/SBD/Vertretung/VertretungsAlgorithmus.cs b/Service/SBD/Vertretung/VertretungsAlgorithmus.cs
index 34f455da8..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,416 +55,591 @@ 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
- 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
- //{
- // 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);
+ //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);
- //}
- }
-
- }
+ //}
+ }
+ }
+ }
+ 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;
- }
+ 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)//hier auch employeecount 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;
+ }
+ }
+ }
+ }
+ }
- 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;
- }
+ 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)//hier auch employeecount 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