diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj
index ba1910b95..68b0713db 100644
--- a/BeWo/BeWo.csproj
+++ b/BeWo/BeWo.csproj
@@ -209,7 +209,7 @@
MSBuild:Compile
Designer
-
+
MSBuild:Compile
Designer
@@ -582,9 +582,13 @@
SchulbegleitenderDienstBearbeitungsView.xaml
-
- NewSchulbegleitenderDienstView.xaml
+
+ SchulbegleitenderVertretungsDienstMainView.xaml
+
+
+
+
UploadDialog.xaml
@@ -1358,7 +1362,7 @@
MSBuild:Compile
Designer
-
+
MSBuild:Compile
Designer
MSBuild:Compile
@@ -1773,8 +1777,8 @@
PercentageDisplay.xaml
-
- SchulbegleitenderDienst.xaml
+
+ SchulbegleitenderDienstView.xaml
AnnualReportChartControl.xaml
@@ -1982,7 +1986,7 @@
-
+
{8a83c4dc-a0b1-4a51-ae1d-366d7a05b298}
ChatController
diff --git a/BeWo/SchulbegleitenderDienst/KrankheitsZeitraumView.xaml.cs b/BeWo/SchulbegleitenderDienst/KrankheitsZeitraumView.xaml.cs
index 45830fb56..6a88f1ab7 100644
--- a/BeWo/SchulbegleitenderDienst/KrankheitsZeitraumView.xaml.cs
+++ b/BeWo/SchulbegleitenderDienst/KrankheitsZeitraumView.xaml.cs
@@ -20,13 +20,17 @@ namespace BeWo.SchulbegleitenderDienst
{
public event EventHandler RaiseCustomEvent;
- public KrankheitsZeitraumView( DateTime start,DateTime ende)
+
+ private TagesAnsicht tagesAansicht;
+
+ public KrankheitsZeitraumView( DateTime start,DateTime ende, TagesAnsicht tansicht)
{
InitializeComponent();
DateVon.EditValue = start;
DateBis.EditValue = ende;
+ tagesAansicht = tansicht;
CloseWindow();
@@ -63,7 +67,7 @@ namespace BeWo.SchulbegleitenderDienst
var b = DateBis.DateTime;
- RaiseCustomEvent(this, new KrankheitsEventArgs(a,b));
+ RaiseCustomEvent(this, new KrankheitsEventArgs(a,b,tagesAansicht));
}
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
@@ -74,14 +78,16 @@ namespace BeWo.SchulbegleitenderDienst
public class KrankheitsEventArgs : EventArgs
{
- public KrankheitsEventArgs(DateTime s, DateTime e)
+ public KrankheitsEventArgs(DateTime s, DateTime e, TagesAnsicht t)
{
_start = s;
_end = e;
+ _tagesAnsicht = t;
}
private DateTime _start;
private DateTime _end;
+ private TagesAnsicht _tagesAnsicht;
public DateTime Start
{
@@ -91,5 +97,10 @@ namespace BeWo.SchulbegleitenderDienst
{
get { return _end; }
}
+
+ public TagesAnsicht TagesItem
+ {
+ get { return _tagesAnsicht; }
+ }
}
}
diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
deleted file mode 100644
index bdb7fc821..000000000
--- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
+++ /dev/null
@@ -1,2655 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Windows;
-
-using BeWo.Core;
-using BeWo.ServiceProxy;
-using BeWo.View;
-using BeWo.ViewModel;
-using BS.Shared;
-using BS.Shared.Core;
-using BS.Shared.DataContracts;
-using BS.Shared.DataContracts.Compact;
-using BS.Shared.Extensions;
-using DevExpress.Xpf.Bars;
-using DevExpress.Xpf.Editors;
-using DevExpress.Xpf.Grid;
-using MessageBox = System.Windows.MessageBox;
-
-
-namespace BeWo.SchulbegleitenderDienst
-{
- public partial class NewSchulbegleitenderDienstView
- {
- private readonly List _items = new List();
-
- private readonly List _itemsWochen = new List();
-
- //neu Ist immer Besser
- private readonly List _itemsWochenKrankerMitarbeiter = new List();
-
- private SchulbegleitenderDienstBearbeitungsView _view = null;
-
- private SchulbegleitenderDienstMitarbeiterBearbeitungsView _viewMitarbeiter = null;
-
- private KrankheitsZeitraumView _krankView = null;
-
- private string _mitarbeiterVertretungWocheninfo = "";
-
- private string _deletVertretungsWeek = "";
-
- private List _mitarbeiterwochen = new List();
-
- //private List _wieAbschlagszahlung = new List();
-
- public NewSchulbegleitenderDienstView()
- {
- InitializeComponent();
-
- GridDataControlTagesansicht.ItemsSource = _items;
-
- GridDataControlKlientenWochenansicht.ItemsSource = _itemsWochen;
-
- //Only Klienten Krank ?
- GridDataControlKlientenWochenansicht2.ItemsSource = _itemsWochenKrankerMitarbeiter;
-
-
- GridDataControlMitarbeiterWochenansicht.ItemsSource = _mitarbeiterwochen;
-
- setAktDate();
- SetAbwesenheiten();
-
- MVCheckBox.IsChecked = true;
- KVCheckBox.IsChecked = true;
-
- }
-
- private void SetAbwesenheiten()
- {
- var abwesenheiten = ServiceFacade.DoCustomerServiceSync(s => s.GetAllAbsenceReasons());
-
- ComboBoxKlientVertretung.ItemsSource = abwesenheiten;
- ComboBoxMitarbeiterVertretung.ItemsSource = abwesenheiten;
-
- AbwesenheitsKategorieComboBox.ItemsSource = abwesenheiten;
- }
-
- private void setAktDate()
- {
- DateTime dt = DateTime.Now;
- Datelbl.Content = dt.ToString("dddd dd.MM.yyyy");
-
- //hole zuerst alle Daten
- Datepicker.DateTime = dt;
-
- //MitarbeiterVertretung
- MVDatepickerVon.DateTime = dt;
- MVDatepickerBis.DateTime = dt;
-
- //KlientenVertretung
- KVDatepickerVon.DateTime = dt;
- KVDatepickerBis.DateTime = dt;
-
- //ArbeitsUnfähigkeitsKrankmeldung Am
- KrankMeldungMitarbeiterDatepicker.DateTime = dt;
- KrankMeldungKlientDatepicker.DateTime = dt;
- }
-
- //Lade Tagesansichts gedöns
- private void GetAllVertretungenOnLoad(DateTime AusgewaehltesDatum)
- {
- _items.Clear();
-
- ServiceFacade.DoOperationsServiceAsync(s => s.VertretungsListe(AusgewaehltesDatum),r =>{
-
- foreach (var item in r)
- {
- AddItemsToGrid(item);
- }
-
- #region Dispatcher Refresh Grid
- this.Dispatch(delegate
- {
- GridDataControlTagesansicht.RefreshData();
- GridDataControlTagesansicht.RefreshUI();
- // GetWochenDienstFromItems(AusgewaehltesDatum);
- });
- #endregion
- });
- }
-
- private void GetAllVertrungenFromWeekRange(DateTime startDatum, DateTime endDatum )
- {
- _items.Clear();
- ServiceFacade.DoOperationsServiceAsync(s => s.VertretungsListeWoechentlich(startDatum,endDatum), r =>
- {
-
- foreach (var item in r)
- {
- AddItemsToGrid(item);
- }
-
- #region Dispatcher Refresh Grid
- this.Dispatch(delegate
- {
- GetWochenDienstFromItems(startDatum);
- //GridDataControlKlientenWochenansicht.RefreshData();
- //GridDataControlKlientenWochenansicht.RefreshUI();
-
- });
- #endregion
- });
- }
-
- 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);
- }
-
- #region Dispatcher Refresh Grid
- this.Dispatch(delegate
- {
- GridDataControlMitarbeiterWochenansicht.RefreshData();
- GridDataControlMitarbeiterWochenansicht.RefreshUI();
- });
- #endregion
- });
- }
-
- private void AddItemsToGrid(VertretungsListeItemsDC item)
- {
- int i = 0, y = 0;
-
-
- if (!item.VertretenderMitarbeiter.Equals(""))
- {
- i = 1;
- }
-
- if (!item.EmployeeName.Equals(""))
- {
- y = 1;
- }
-
- if(item.Customer.Count != 0){
-
- #region add Foreach Customers
-
- foreach (var customer in item.Customer)
- {
- SchulbegleitenderDienst xyc = CreateSchulbegleitenderDienst(item,y);
-
-
- if (item.Vertretung != null)
- {
- if (item.Vertretung.CustomerOid == customer.Key)
- {
- xyc = Vertretungsgedoense(xyc, item, i);
-
- xyc.Vertreteroid = item.VertetenderMit;
-
- }else{
- xyc.Vertretung = "";
- }
-
- if (item.Vertretung.VertretenderMitarbeiterOid == 0)
- {
- xyc.IsKunde = 0;
- }
-
- }
- else
- {
- xyc.IsKunde = 0;
- xyc.Vertretung = "";
- }
-
- xyc.AbsenceTimeDC = item.Absencetime;
- xyc.Mitarbeiteroid = item.EmployeeOid;
- xyc.Klientoid = customer.Key ;
- xyc.Kunde = customer.Value;
- xyc.WochenansichtBemerkung = item.WochenansichtBemerkung;
- //xyc.Beschreibung = item.Bemerkung;//nur anzeigen wenn gewollt das man die Message Von der Krankmeldung sieht
-
- if (item.EmployeeName.Equals(""))
- {
- i = 2;
- xyc.IsKunde = i;
-
- }
-
- //neu
- if (item.isMitarbeiterKrank)
- {
- xyc.IsMitarbeiterKrank = true;
- xyc.IsKunde = 2;
-
- // hier den Tag merken um auch für WOCHEN bereich die spalte orange zu machen
-
- }
-
- if (item.isCustomerKrank)
- {
- xyc.IsCustomerKrank = true;
- xyc.IsKunde = 2;
- }
-
- //hier bereich zu abfrage Vertretung Gewünscht / nicht gewünscht
- //################## Besser auf Server auslagern ?? #############################################
- List custOid = new List();
- custOid.Add(customer.Key);
- var cus = ServiceFacade.DoCustomerServiceSync(r => r.GetCustomersById(custOid));
-
- foreach (var c in cus)
- {
- // 1 für Grün | 0 für Rot
- if (c.VertretungDringendErforderlich == false && c.VertretungGewuenscht == false)
- {
- //anzeige Grün machen
- xyc.IsKunde = 1;
- }
- //else if (c.VertretungDringendErforderlich == false && c.VertretungGewuenscht == true)
- //{
- // // anzeige noral halten
- // xyc.IsKunde = 2;
- //}
- //else if (c.VertretungDringendErforderlich == true && c.VertretungGewuenscht == true)
- //{
- // //anzeige normal halten
- // xyc.IsKunde = 2;
- //}
- }
-
- //############################
-
- _items.Add(xyc);
- }
-
- #endregion
- }
- else
- {
- #region add without customer
-
- SchulbegleitenderDienst xyc = CreateSchulbegleitenderDienst(item, y);
-
- if (item.Vertretung != null)
- {
- xyc = Vertretungsgedoense(xyc, item, i);
-
- // Vertretung zwar vorhanden aber ohne einem Vertreter
- if (item.Vertretung.VertretenderMitarbeiterOid == 0)
- {
- xyc.IsKunde = 0;
- }
- }
- else
- {
- xyc.IsKunde = 0;
- xyc.Vertretung = "";
- }
-
- xyc.AbsenceTimeDC = item.Absencetime;
- xyc.Vertreteroid = item.VertetenderMit;
- xyc.Mitarbeiteroid = item.EmployeeOid;
- xyc.WochenansichtBemerkung = item.WochenansichtBemerkung;
- //xyc.Beschreibung = item.Bemerkung; //nur anzeigen wenn gewollt das man die Message Von der Krankmeldung sieht
-
- xyc.Kunde = "";
- xyc.Klientoid = 0;
-
-
- if (item.EmployeeName.Equals(""))
- {
- i = 2;
- xyc.IsKunde = i;
- }
-
-
-
- _items.Add(xyc);
-
- #endregion
- }
-
- }
-
- #region Mitarbeiter Wochenansicht Verarbeitung | Rausnehmen ???
- 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;
- }
-
- #endregion
-
- private Dictionary> a;
-
- private Dictionary> klientb;
-
- private void GetWochenDienstFromItems(DateTime time)
- {
- //neues hinzfügen um bei foreach all diejenigen rauszupicken die das besondere beinhlaten
- _itemsWochen.Clear();
- _itemsWochenKrankerMitarbeiter.Clear();
-
- DateTime dt = time;
-
- DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
-
- foreach (var item in _items)
- {
- //Dictionary> a = new Dictionary>();
-
- //Dictionary> klientb = new Dictionary>();
-
- a = new Dictionary>();
-
- klientb = new Dictionary>();
-
- DateTime anfangDt;
- DateTime endeDt;
-
- anfangDt = item.StartD;
- endeDt = item.EndD;
-
- 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);
-
-
- Wochenansichten wwk = new Wochenansichten()
- {
- MaKrank = item.KrankerMitarbeiter,
- Kind = item.Kunde,
- MaFrei = item.Vertretung,
- WochenBeschreibung = item.WochenansichtBemerkung,
- //Bemerkung = item.Beschreibung
-
- };
-
- // 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;
-
- wwk.KlientvertretungsWoche = klientb;
-
-
-
- //Abfrage für Klienten Krank
- if (wwk.IsMitarbeiterKrank)
- {
- _itemsWochenKrankerMitarbeiter.Add(wwk);
- }
- else
- {
- _itemsWochen.Add(wwk);
- }
-
- }
-
-
- // GridDataControlMitarbeiterWochenansicht.RefreshData();
- // GridDataControlMitarbeiterWochenansicht.RefreshUI();
-
- GridDataControlKlientenWochenansicht.RefreshData();
- GridDataControlKlientenWochenansicht.RefreshUI();
-
- //für Klient
- GridDataControlKlientenWochenansicht2.RefreshData();
- GridDataControlKlientenWochenansicht2.RefreshUI();
- }
-
-
-#region BehelfsMethoden
-
- private string WochenanzeigeHinzufügen(DateTime dayOfWeekDateTime, Dictionary wochentagsarbeitszeit)
- {
- if (wochentagsarbeitszeit.Count != 0)
- {
- foreach (var wa in wochentagsarbeitszeit)
- {
- if ((int)wa.Key +1 == (int)dayOfWeekDateTime.DayOfWeek)
- {
- return wa.Value;
- }
- }
- }
-
- return "";
- }
-
- //geht das nicht irgendwie besser und verständlicher ? | also bearbeiten
- 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.Date <= wochentagDt.Date &&
- item.VertretungsDC.VertretungsZeitraumBis.Date >= wochentagDt.Date)
- {
- Dictionary sa = new Dictionary();
- sa.Add(wochentagDt, item); // item.vertreteroid
-
- a.Add(vertretungstag, sa);
- klientb.Add(einsetzungstag, sa);
-
- switch (i)
- {
- case 0:
- if (item.IsCustomerKrank)
- {
- wwk.isCustomerKrank = true;
- }
- else
- {
- wwk.VertretungMo = item.Vertretung;
- }
- // wwk.EingesetztBeiMo = item.Kunde;
- wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 1:
- if (item.IsCustomerKrank)
- {
- wwk.isCustomerKrank = true;
- }
- else
- {
- wwk.VertretungDi = item.Vertretung;
- }
- // wwk.EingesetztBeiDi = item.Kunde;
- wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 2:
- if (item.IsCustomerKrank)
- {
- wwk.isCustomerKrank = true;
- }
- else
- {
- wwk.VertretungMi = item.Vertretung;
- }
- // wwk.EingesetztBeiMi = item.Kunde;
- wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 3:
- if (item.IsCustomerKrank)
- {
- wwk.isCustomerKrank = true;
- }
- else
- {
- wwk.VertretungDo = item.Vertretung;
- }
- // wwk.EingesetztBeiDo = item.Kunde;
- wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 4:
- if (item.IsCustomerKrank)
- {
- wwk.isCustomerKrank = true;
- }
- else
- {
- wwk.VertretungFr = item.Vertretung;
- }
- // wwk.EingesetztBeiFr = item.Kunde;
- wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 5:
- if (item.IsCustomerKrank)
- {
- wwk.isCustomerKrank = true;
- }
- else
- {
- wwk.VertretungSa = item.Vertretung;
- }
- // wwk.EingesetztBeiSa = item.Kunde;
- wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- }
-
- }
- else
- {
- switch (i)
- {
- case 0:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungMo = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
- }
- else {
- wwk.VertretungMo = "";
- }
- // wwk.EingesetztBeiMo = "";
- wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 1:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungDi = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
- }
- else {
- wwk.VertretungDi = "";
- }
- wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- // wwk.EingesetztBeiDi = "";
- break;
- case 2:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungMi = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
- }
- else
- {
- wwk.VertretungMi = " ";
- }
- wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
-
- // wwk.EingesetztBeiMi = "";
- break;
- case 3:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungDo = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
- }
- else {
- wwk.VertretungDo = "";
- }
- wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- //wwk.EingesetztBeiDo = "";
- break;
- case 4:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungFr = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
- }
- else {
- wwk.VertretungFr = "";
- }
- wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- // wwk.EingesetztBeiFr = "";
- break;
- case 5:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungSa = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
- }
- else {
- wwk.VertretungSa = "";
- }
- wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- // 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:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungMo = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
- }
- else
- {
- wwk.VertretungMo = item.Vertretung;
- }
- // wwk.EingesetztBeiMo = item.Kunde;
- wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 1:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungDi = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
-
- }
- else
- {
- wwk.VertretungDi = item.Vertretung;
- }
- // wwk.EingesetztBeiDi = item.Kunde;
- wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 2:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungMi = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
-
- }
- else
- {
- wwk.VertretungMi = item.Vertretung;
- }
- // wwk.EingesetztBeiMi = item.Kunde;
- wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 3:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungDo = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
-
- }
- else
- {
- wwk.VertretungDo = item.Vertretung;
- }
- // wwk.EingesetztBeiDo = item.Kunde;
- wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 4:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungFr = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
-
- }
- else
- {
- wwk.VertretungFr = item.Vertretung;
- }
- // wwk.EingesetztBeiFr = item.Kunde;
- wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- case 5:
- if (item.IsMitarbeiterKrank)
- {
- wwk.VertretungSa = " ";
- //wwk.isCustomerKrank = true;
- wwk.IsMitarbeiterKrank = true;
-
- }
- else
- {
- wwk.VertretungSa = item.Vertretung;
- }
- // wwk.EingesetztBeiSa = item.Kunde;
- wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- break;
- }
- }
- }
- else
- {
- switch (i)
- {
- case 0:
- wwk.VertretungMo = " ";
- wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- // wwk.EingesetztBeiMo = " ";
- break;
- case 1:
- wwk.VertretungDi = " ";
- wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- // wwk.EingesetztBeiDi = " ";
- break;
- case 2:
- wwk.VertretungMi = " ";
- wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- // wwk.EingesetztBeiMi = " ";
- break;
- case 3:
- wwk.VertretungDo = " ";
- wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- // wwk.EingesetztBeiDo = " ";
- break;
- case 4:
- wwk.VertretungFr = " ";
- wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- // wwk.EingesetztBeiFr = " ";
- break;
- case 5:
- wwk.VertretungSa = " ";
- wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
- // wwk.EingesetztBeiSa = " ";
- break;
- }
-
- }
-
- return wwk;
-
-
- }
-
- private SchulbegleitenderDienst Vertretungsgedoense(SchulbegleitenderDienst xyc, VertretungsListeItemsDC item,int i)
- {
- if (item.Vertretung.VertretungsZeitraumVon.Date != item.Vertretung.VertretungsZeitraumBis.Date)
- {
- if (item.Vertretung.VertretungsZeitraumVon.Hour == 0 && item.Vertretung.VertretungsZeitraumVon.Minute == 0 &&
- item.Vertretung.VertretungsZeitraumBis.Hour == 0 && item.Vertretung.VertretungsZeitraumBis.Minute == 0)
- {
- xyc.VertretungsZeitraum = item.Vertretung.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy") + " - " +
- item.Vertretung.VertretungsZeitraumBis.Date.ToString("dd.MM.yyyy");
- }
- else
- {
- xyc.VertretungsZeitraum = item.Vertretung.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy HH:mm") + " - " +
- item.Vertretung.VertretungsZeitraumBis.Date.ToString("dd.MM.yyyy HH:mm");
- }
- }
- else
- {
- if (item.Vertretung.VertretungsZeitraumVon.Hour == 0 && item.Vertretung.VertretungsZeitraumVon.Minute == 0 &&
- item.Vertretung.VertretungsZeitraumBis.Hour == 0 && item.Vertretung.VertretungsZeitraumBis.Minute == 0)
- {
- xyc.VertretungsZeitraum = item.Vertretung.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy");
- }
- else
- {
- xyc.VertretungsZeitraum = item.Vertretung.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy HH:mm") + " - " + item.Vertretung.VertretungsZeitraumBis.Date.ToString("HH:mm");
- }
- }
-
-
-
- xyc.VertretungsDC = item.Vertretung;
-
- xyc.Vertretung = item.VertretenderMitarbeiter;
-
- xyc.IsKunde = i;
-
- xyc.Beschreibung = item.Vertretung.Notice;
-
-
- return xyc;
- }
-
- private SchulbegleitenderDienst CreateSchulbegleitenderDienst(VertretungsListeItemsDC item, int y)
- {
- SchulbegleitenderDienst xyc = new SchulbegleitenderDienst()
- {
- KrankheitsZeitraum = item.Krankheitszeitraum,
- KrankerMitarbeiter = item.EmployeeName,
- KrankheitsMeldung = item.Krankheitsmeldung,
- IsMitarbeiter = y,
- Arbeitszeit = item.Worktime,
- Wochentagsarbeitszeit = item.Wochentagsarbeitszeit
- };
-
- if (item.Abwesenheitskategorie != null)
- xyc.AbwesenheitsKategorie = item.Abwesenheitskategorie;
-
- if (item.Absencetime.End != null && item.Absencetime.Start != null)
- {
- xyc.EndD = item.Absencetime.End.Value;
- xyc.StartD = item.Absencetime.Start.Value;
- }
-
-
- return xyc;
-
- }
-
-#endregion
-
-#region Mitarbeiter Vertretungs Datum von - bis
-
- private void MVDatepickerVon_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
- {
- var dt = (DateTime)e.NewValue;
-
- if (dt >= MVDatepickerBis.DateTime)
- {
- MVDatepickerBis.DateTime = dt;
- }
- }
-
- private void MVDatepickerBis_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
- {
- var dt = (DateTime)e.NewValue;
-
-
- if(dt <= MVDatepickerVon.DateTime) {
- MVDatepickerVon.DateTime = dt;
- }
- }
-
-#endregion
-
-#region Klienten Vertretungs Datum von - bis
-
- private void KVDatepickerVon_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
- {
- var dt = (DateTime)e.NewValue;
-
- if(dt >= KVDatepickerBis.DateTime) {
- KVDatepickerBis.DateTime = dt;
- }
- }
-
- private void KVDatepickerBis_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
- {
- var dt = (DateTime)e.NewValue;
-
- if(dt <= MVDatepickerVon.DateTime) {
- KVDatepickerVon.DateTime = dt;
- }
- }
-
-#endregion
-
-#region Mitarbeiter Vertretung
-
- private CompactEmployeeDC currentEmployee;
-
- private void MitarbeiterVertretungsToggleButton_OnChecked(object sender, RoutedEventArgs e)
- {
- MVDatepicker_UhrzeitVon.Text = "";
- MVDatepicker_UhrzeitBis.Text = "";
-
- MVDatepicker_UhrzeitVon.Visibility = Visibility.Collapsed;
- MVDatepicker_UhrzeitBis.Visibility = Visibility.Collapsed;
-
- MVLabelUhrzeitVon.Visibility = Visibility.Collapsed;
- MVLabelUhrzeitBis.Visibility = Visibility.Collapsed;
- }
-
- private void MitarbeiterVertretungsToggleButton_OnUnchecked(object sender, RoutedEventArgs e)
- {
- MVDatepicker_UhrzeitVon.Visibility = Visibility.Visible;
- MVDatepicker_UhrzeitBis.Visibility = Visibility.Visible;
- MVLabelUhrzeitVon.Visibility = Visibility.Visible;
- MVLabelUhrzeitBis.Visibility = Visibility.Visible;
- }
-
- private void MitarbeiterVertretung_OnClick(object sender, RoutedEventArgs e)
- {
- popup_newMitarbeiterVertretung.IsOpen = true;
- }
-
- private void Button_cancelMitarbeiterVertretung_OnClick(object sender, RoutedEventArgs e)
- {
- ClearAllMitarbeiterValues();
- popup_newMitarbeiterVertretung.IsOpen = false;
- }
-
- private void Popupedit_MitarbeiterVertretungSearch_OnPopUpClick_popupedit_MitarbeiterVertretungSearch_PopUpClick(object sender, RoutedEventArgs e)
- {
- MitarbeiterVertretungsearchview.ItemSelected += MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected;
- popup_MitarbeiterVertretung.IsOpen = true;
- }
-
- private void MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected(object sender, EventArgs e)
- {
- popup_MitarbeiterVertretung.IsOpen = false;
- MitarbeiterVertretungsearchview.ItemSelected -= MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected;
-
- currentEmployee = e.Data;
- popupedit_MitarbeiterVertretungSearch.Text = currentEmployee.FirstName + " " + currentEmployee.LastName;
-
- var employeeList = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllActiveEmployeesCompact());
-
- MitarbeiterVertretungsearchview.ObjectList = employeeList;
-
- popupedit_MitarbeiterVertretungSearch.Focus();
-
- }
-
- private void Button_addMitarbeiterVertretung_OnClick(object sender, RoutedEventArgs e)
- {
- bool xsf = false;
-
- if (!popupedit_MitarbeiterVertretungSearch.Text.Equals("") && ComboBoxMitarbeiterVertretung.SelectedValue != null )
- {
-
- if (MVCheckBox.IsChecked.Value )
- {
- xsf = true;
- }
- else
- {
- 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
- {
- MessageBox.Show("Bitte geben sie eine Start und eine Endzeit ein.");
- }
- }
- }
- else
- {
- MessageBox.Show("Bitte wählen sie zuerst einen Mitarbeiter und eine Abwesenheitskategorie aus.");
- }
-
-
- if (xsf)
- {
- popup_newMitarbeiterVertretung.IsOpen = false;
-
- SaveEmployeeInVertretung();
-
- ClearAllMitarbeiterValues();
-
- if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
- {
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
- }
- else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
- {
- var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
- GetAllVertrungenFromWeekRange(x, x.AddDays(5));
- }
- }
-
- }
-
- private void ClearAllMitarbeiterValues()
- {
- MVDatepickerVon.DateTime = DateTime.Now;
- MVDatepickerBis.DateTime = DateTime.Now;
- popupedit_MitarbeiterVertretungSearch.Text = "";
-
- ComboBoxMitarbeiterVertretung.SelectedIndex = -1;
- MitarbeiterNotice.Text = "";
-
- MVDatepicker_UhrzeitVon.Text = "";
- MVDatepicker_UhrzeitBis.Text = "";
-
- }
-
- private void SaveEmployeeInVertretung()
- {
- AbsenceTimeDC at = new AbsenceTimeDC();
-
- if(MVCheckBox.IsChecked.Value){
- at.Start = MVDatepickerVon.DateTime.Date;
- at.End = MVDatepickerBis.DateTime.Date;
- }
- else
- {
- 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);
-
- 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);
-
- var ende = new DateTime(MVDatepickerBis.DateTime.Date.Year, MVDatepickerBis.DateTime.Date.Month, MVDatepickerBis.DateTime.Date.Day, dateTimeEnd.Hour, dateTimeEnd.Minute, dateTimeEnd.Second);
-
- at.Start = start;
- at.End = ende;
-
- }
-
-
- at.Reason = ComboBoxMitarbeiterVertretung.SelectedValue as AbsenceReasonDC;
- at.Notice = MitarbeiterNotice.Text;
- at.KrankheitsMeldung = KrankMeldungMitarbeiterDatepicker.DateTime.Date;
-
- ServiceFacade.DoOperationsServiceSync(s => s.InsertNewEmployeeAbsenceTime(currentEmployee.EmployeeOid, at));
- }
-#endregion
-
-#region Klient Vertretung
-
- private CompactCustomerDC currentKlient;
-
- private void KlientVertretungsToggleButton_OnChecked(object sender, RoutedEventArgs e)
- {
- KVDatepicker_UhrzeitVon.Text = "";
- KVDatepicker_UhrzeitBis.Text = "";
-
- KVDatepicker_UhrzeitVon.Visibility = Visibility.Collapsed;
- KVDatepicker_UhrzeitBis.Visibility = Visibility.Collapsed;
-
- KVLabelUhrzeitVon.Visibility = Visibility.Collapsed;
- KVLabelUhrzeitBis.Visibility = Visibility.Collapsed;
- }
-
- private void KlientVertretungsToggleButton_OnUnchecked(object sender, RoutedEventArgs e)
- {
- KVDatepicker_UhrzeitVon.Visibility = Visibility.Visible;
- KVDatepicker_UhrzeitBis.Visibility = Visibility.Visible;
- KVLabelUhrzeitVon.Visibility = Visibility.Visible;
- KVLabelUhrzeitBis.Visibility = Visibility.Visible;
- }
-
- private void KlientVertretung_Button_OnClick(object sender, RoutedEventArgs e)
- {
- popup_newKlientVertretung.IsOpen = true;
-
- }
-
- private void Button_cancelKlientVertretung_OnClick(object sender, RoutedEventArgs e)
- {
- popup_newKlientVertretung.IsOpen = false;
- ClearAllKlientValues();
- }
-
- //Ab hier muss noch am Inhalt bearbeitet werden
- private void Popupedit_KlientVertretungSearch_OnPopUpClick(object sender, RoutedEventArgs e)
- {
- KlientVertretungsearchview.ItemSelected +=KlientVertretungsearchview_KlientVertretungSelected;
- popup_KlientVertretung.IsOpen = true;
- }
-
- private void KlientVertretungsearchview_KlientVertretungSelected(object sender, EventArgs e)
- {
- popup_KlientVertretung.IsOpen = false;
- KlientVertretungsearchview.ItemSelected -= KlientVertretungsearchview_KlientVertretungSelected;
-
- currentKlient = e.Data;
- popupedit_KlientVertretungSearch.Text = currentKlient.FullName;
-
-
- //hole alle mit Service Raus
- var customerList = ServiceFacade.DoCustomerServiceSync(s => s.GetAllActiveCompactCustomers());
-
- KlientVertretungsearchview.ObjectList = customerList;
-
- popupedit_MitarbeiterVertretungSearch.Focus();
-
-
- }
-
- private void Button_addKlientVertretung_OnClick(object sender, RoutedEventArgs e)
- {
- bool xsf = false;
-
- if (!popupedit_KlientVertretungSearch.Text.Equals("") && ComboBoxKlientVertretung.SelectedValue != null)
- {
- if (KVCheckBox.IsChecked.Value)
- {
- xsf = true;
- }
- else
- {
- if (!KVDatepicker_UhrzeitVon.Text.Equals("") && !KVDatepicker_UhrzeitBis.Text.Equals(""))
- {
- 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
- {
- MessageBox.Show("Bitte geben sie eine Start und eine Endzeit ein.");
- }
- }
- }
- else
- {
- MessageBox.Show("Bitte wählen Sie eine/n Klient/in und eine Abwesenheitskategorie aus.");
- }
-
-
- if(xsf){
- popup_newKlientVertretung.IsOpen = false;
-
- SaveKlientInVertretung();
-
- ClearAllKlientValues();
-
- if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
- {
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
- }
- else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
- {
- var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
- GetAllVertrungenFromWeekRange(x, x.AddDays(5));
- }
- }
- }
-
- private void ClearAllKlientValues()
- {
- KVDatepickerVon.DateTime = DateTime.Now;
- KVDatepickerBis.DateTime = DateTime.Now;
- popupedit_KlientVertretungSearch.Text = "";
-
- ComboBoxKlientVertretung.SelectedIndex = -1;
- KlientNotice.Text = "";
-
- KVDatepicker_UhrzeitVon.Text = "";
- KVDatepicker_UhrzeitBis.Text = "";
-
- }
-
- private void SaveKlientInVertretung()
- {
- AbsenceTimeDC at = new AbsenceTimeDC();
-
- if (KVCheckBox.IsChecked.Value)
- {
- at.Start = KVDatepickerVon.DateTime.Date;
- at.End = KVDatepickerBis.DateTime.Date;
- }
- else
- {
- 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);
-
- 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);
-
- var ende = new DateTime(KVDatepickerBis.DateTime.Date.Year, KVDatepickerBis.DateTime.Date.Month, KVDatepickerBis.DateTime.Date.Day, dateTimeEnd.Hour, dateTimeEnd.Minute, dateTimeEnd.Second);
-
- at.Start = start;
- at.End = ende;
- }
-
- at.Reason = ComboBoxKlientVertretung.SelectedValue as AbsenceReasonDC;
- at.Notice = KlientNotice.Text;
- at.KrankheitsMeldung = KrankMeldungKlientDatepicker.DateTime.Date;
-
- ServiceFacade.DoOperationsServiceSync(s => s.InsertNewCustomerAbsenceTime(currentKlient.CustomerOid, at));
- }
-
-#endregion
-
-
- //######################### Action Event Bereich ###########################
-
- private void Datepicker_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
- {
- var dt = (DateTime)e.NewValue;
-
- if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
- {
- Datelbl.Content = dt.ToString("dddd dd.MM.yyyy");
-
- GetAllVertretungenOnLoad(dt);
- }
- else
- {
- DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
- DateTime enddt = startdt.AddDays(5);
-
- 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");
- }
-
-
- }
-
-#region Tages / Wochen Vertretungsanzeige
-
- #region Mitarbeiter Wochen Vertretung verarbeitung | wird nicht gebraucht wegnehmen bei ok
-
- private void AddKlientToMitarbeiter_OnClick(object sender, RoutedEventArgs e)
- {
- var mitarbeiterView = (MitarbeiterWochenansicht)GridDataControlMitarbeiterWochenansicht.SelectedItem;
-
- CompactEmployeeDC employee = mitarbeiterView.EmployeeDc;
-
- if (_viewMitarbeiter == null)
- {
- _viewMitarbeiter = new SchulbegleitenderDienstMitarbeiterBearbeitungsView(DateTime.Now, DateTime.Now, DateTime.Now, employee.EmployeeOid);
-
- _viewMitarbeiter.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomMitarbeiterEvent);
- _viewMitarbeiter.ShowDialog();
- }
- else
- {
- _viewMitarbeiter.Close();
- _viewMitarbeiter = new SchulbegleitenderDienstMitarbeiterBearbeitungsView(DateTime.Now, DateTime.Now, DateTime.Now, employee.EmployeeOid);
-
- _viewMitarbeiter.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomMitarbeiterEvent);
- _viewMitarbeiter.ShowDialog();
- }
- }
-
- private void newWindow_RaiseCustomMitarbeiterEvent(object sender, CustomKlientEventArgs e)
- {
- UpdateKlientToVertretendenMitarbeiter(e.Message, e.StartDate, e.EndDate);
-
- _viewMitarbeiter.Close();
- }
-
- //Anpassen Weil nicht funktionsfähig
- private void UpdateKlientToVertretendenMitarbeiter(CompactCustomerDC customer, DateTime? start, DateTime? ende)
- {
- var a = (MitarbeiterWochenansicht)GridDataControlMitarbeiterWochenansicht.SelectedItem;
-
- var tag = GridDataControlMitarbeiterWochenansicht.CurrentColumn.FieldName;
-
- //bereich das heute fertig gestellt wird
-
- //VertretungDC vert = new VertretungDC()
- //{
- // CustomerOid = customer.CustomerOid,
- // EmployeeOid = a.mitarbeiteroid, // ?? das muss wahrscheinlich vom kustomer ermittelt werden
- // VertretungsZeitraumVon = start.Value,
- // VertretungsZeitraumBis = ende.Value,
- // AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid, // hmm wie wird das gehandelt ??
- // VertretenderMitarbeiterOid = a.EmployeeDc.EmployeeOid // Oid Vom Mitarbeiter
- //};
-
- //abfrage wegen update oder create | dazu die Verfügbare Vertretung bei Mitarbeiter wochenansicht bearbeiten
- //if ()
- //{
- // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
- //}
- //else
- //{
- // ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
- //}
-
-
- //Schabernack das keiner braucht
- //foreach (var woche in a.KlientvertretungsWoche)
- //{
- //if (woche.Key.Equals(tag))
- //{
- // foreach (var item in woche.Value)
- // {
- //VertretungDC vert = new VertretungDC();
- //if (item.Value.VertretungsDC != null)
- //{
- // vert = item.Value.VertretungsDC;
- // vert.EmployeeOid = item.Value.Mitarbeiteroid;
- // vert.AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value;
- // vert.Notice = item.Value.Beschreibung;
-
- // vert.VertretungsZeitraumVon = item.Key;
- // vert.VertretungsZeitraumBis = item.Key;
-
- // vert.CustomerOid = customer.CustomerOid;
-
-
- // ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
- //}
- //else
- //{
- // vert.EmployeeOid = item.Value.Mitarbeiteroid;
- // vert.AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value;
- // vert.Notice = item.Value.Beschreibung;
-
- // vert.VertretungsZeitraumVon = item.Key;
- // vert.VertretungsZeitraumBis = item.Key;
-
- // vert.CustomerOid = customer.CustomerOid;
-
- // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
- //}
- //}
- //}
- }
-
- #endregion
-
-
-
- #region Klient Wochen Vertretung verarbeiten
-
- private void KlientenWochenAnzeigeSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e)
- {
- var a = (Wochenansichten) GridDataControlKlientenWochenansicht.SelectedItem;
-
- if (!a.IsMitarbeiterKrank)
- {
- var tag = GridDataControlKlientenWochenansicht.CurrentColumn.FieldName;
-
- VertretungDC vertretung = new VertretungDC();
- AbsenceTimeDC absenceTime = new AbsenceTimeDC();
- foreach (var vert in a.KlientvertretungsWoche)
- {
- if (vert.Key.Equals(tag))
- {
- foreach (var val in vert.Value)
- {
- vertretung = val.Value.VertretungsDC;
- absenceTime = val.Value.AbsenceTimeDC;
- }
- }
- }
-
- if (!a.MaKrank.Equals(""))
- {
- //if(vertretung.EmployeeOid != 0){
- if (_view == null)
- {
- _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End,
- Datepicker.DateTime, vertretung.CustomerOid);
-
- _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent);
- _view.ShowDialog();
- }
- else
- {
- _view.Close();
- _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End,
- Datepicker.DateTime, vertretung.CustomerOid);
-
- _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent);
- _view.ShowDialog();
- }
-
- }
- else
- {
- MessageBox.Show("Fehler");
- }
- }
- else
- {
- MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen.","Info");
- }
- }
-
- private void KlientenWochen_RaiseCustomEvent(object sender, CustomEventArgs e)
- {
- UpdateMitarbeiterToVertretungKlientenWochenansicht(e.Message, e.StartDate, e.EndDate);
-
- _view.Close();
- }
-
- private void UpdateMitarbeiterToVertretungKlientenWochenansicht(CompactEmployeeDC employee, DateTime? startDate, DateTime? endDate)
- {
- var a = (Wochenansichten) GridDataControlKlientenWochenansicht.SelectedItem;
-
- var tag = GridDataControlKlientenWochenansicht.CurrentColumn.FieldName;
-
- foreach (var woche in a.VertretungsWoche)
- {
- if (woche.Key.Equals(tag))
- {
- foreach (var item in woche.Value)
- {
- VertretungDC vert = new VertretungDC()
- {
- CustomerOid = item.Value.Klientoid,
- AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value,
- VertretungsZeitraumVon = startDate.Value,
- VertretungsZeitraumBis = endDate.Value,
- VertretenderMitarbeiterOid = employee.EmployeeOid,
- EmployeeOid = item.Value.Mitarbeiteroid,
- Notice = item.Value.Beschreibung,
- };
-
-
-
- if (item.Value.VertretungsDC != null)
- {
- //hier noch ermöglichen dass eine bereits vorhandener vertretungszeitraum / also ein teil davon nochmals abgesplittet werden kann.
-
- //if (item.Key >= vert.VertretungsZeitraumVon && item.Key <= vert.VertretungsZeitraumBis)
- //{
-
- //}
- //else
- //{
-
- //}
-
- vert.VertretungOid = item.Value.VertretungsDC.VertretungOid;
- vert.VertretenderMitarbeiterOid = employee.EmployeeOid;
- vert.VertretungsZeitraumVon = item.Value.VertretungsDC.VertretungsZeitraumVon;
- vert.VertretungsZeitraumBis = item.Value.VertretungsDC.VertretungsZeitraumBis;
-
- 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();
-
-
- //Diese Funktion führt zur fehlerhaften darstellung
- //GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
- var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
- GetAllVertrungenFromWeekRange(x, x.AddDays(5));
- }
- }
- }
-
- #endregion
-
- #region Klienten Wochen 2 Vertretung Verarbeiten
- //Richtigen namen für finden
- private void ButtonInfo_OnClick(object sender, RoutedEventArgs e)
- {
- var a = (Wochenansichten)GridDataControlKlientenWochenansicht2.SelectedItem;
-
- if (!a.IsMitarbeiterKrank)
- {
- // bleibt noch offen
- }
- else
- {
- MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen.","Info");
- }
-
- }
- #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 = (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
- };
-
- //rausnehmen
- //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));
- //}
- }
-
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
- }
-
- #endregion
-
-#endregion
-
-
-
-#region Popup Menue Bereich
-
- private void DataViewBase_OnShowGridMenu(object sender, GridMenuEventArgs e)
- {
- if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
- {
- var a = (SchulbegleitenderDienst) GridDataControlTagesansicht.SelectedItem;
-
- if (e.MenuInfo.Column.FieldName == "Kunde")
- {
- BarButtonItem x = new BarButtonItem() {Content = "Klient/in öffnen"};
- x.ItemClick += Kundeninfo_OnClick;
- e.Customizations.Add(x);
- }
-
- if (e.MenuInfo.Column.FieldName == "KrankerMitarbeiter")
- {
- BarButtonItem x = new BarButtonItem() {Content = "Mitarbeiter/in öffnen"};
- x.ItemClick += Mitarbeiterinfo_OnClick;
- e.Customizations.Add(x);
- }
-
- if (e.MenuInfo.Column.FieldName == "Vertretung")
- {
- BarButtonItem s = new BarButtonItem() {Content = "Mitarbeiter/in öffnen"};
- s.ItemClick += MitarbeiterVertretunginfo_OnClick;
- e.Customizations.Add(s);
- }
-
- if (a.VertretungsDC != null)
- {
- BarButtonItem y = new BarButtonItem() {Content = "Vertretung löschen"};
- y.ItemClick += DeletPerson_OnClick;
- e.Customizations.Add(y);
- }
-
- BarButtonItem ys = new BarButtonItem() {Content = "Abwesenheit löschen"};
- ys.ItemClick += DeleteKrankmeldung_OnClick;
- e.Customizations.Add(ys);
-
- }
- else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
- {
- // ########### KontextMenue Wochenanzeige #########
- //BarButtonItem ys = new BarButtonItem() { Content = "Krankmeldung Löschen" }; // villeicht reaktivieren
- //ys.ItemClick += DeleteKrankmeldung_OnClick;
- //e.Customizations.Add(ys);
-
- if (e.MenuInfo.Column.FieldName == "Kunde") // FieldNames umbennenen
- {
- BarButtonItem x = new BarButtonItem() {Content = "Klient/in öffnen" };
- x.ItemClick += Kundeninfo_OnClick; // bearbeiten
- e.Customizations.Add(x);
- }
-
- if (e.MenuInfo.Column.FieldName == "MaKrank")
- {
- BarButtonItem x = new BarButtonItem() {Content = "Mitarbeiter/in öffnen" };
- x.ItemClick += Mitarbeiterinfo_OnClick; // eee
- e.Customizations.Add(x);
- }
-
- if (e.MenuInfo.Column.FieldName == "VertretungMo" || e.MenuInfo.Column.FieldName == "VertretungDi" ||
- e.MenuInfo.Column.FieldName == "VertretungMi" || e.MenuInfo.Column.FieldName == "VertretungDo" ||
- e.MenuInfo.Column.FieldName == "VertretungFr" || e.MenuInfo.Column.FieldName == "VertretungSa" ||
- e.MenuInfo.Column.FieldName == "VertretungSo")
- {
- BarButtonItem s = new BarButtonItem() {Content = "Mitarbeiter/in öffnen" };
- s.ItemClick += MitarbeiterVertretunginfoWochenanzeige_OnClick;
- e.Customizations.Add(s);
- _mitarbeiterVertretungWocheninfo = e.MenuInfo.Column.FieldName;
-
- BarButtonItem xs = new BarButtonItem() { Content = "Vertretung löschen" };
- xs.ItemClick += DeletVertretungForWochenanzeige_OnClick;
- e.Customizations.Add(xs);
-
- _deletVertretungsWeek = e.MenuInfo.Column.FieldName;
- }
- }
- else
- {
- //>KontextMenue für die Mitarbeiter View
- }
- }
-
- private void Kundeninfo_OnClick(object sender, RoutedEventArgs e)
- {
- var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
-
- if(a.Kunde != null){
- if (!a.Kunde.Equals("") )
- {
- VertretungDC vert = new VertretungDC();
-
- List abf = new List();
-
- if (a.VertretungsDC != null)
- {
- vert = a.VertretungsDC;
- abf.Add(vert.CustomerOid.Value);
- }
- else{
- abf.Add(a.Klientoid);
- }
-
- var sgf = ServiceFacade.DoCustomerServiceSync(s => s.GetCompactCustomersById(abf));
- var selectedCustomer = sgf[0];
-
- VMFactory.CreateCustomerVMAsync(selectedCustomer.CustomerOid,
- cb => this.Dispatch(
- () =>
- BeWoUtils.OpenModalViewWindow(cb, null, () => this.Dispatch(
- delegate
- {
- var updatedCustomer = new CompactCustomerDC();
-
- ServiceFacade.DoCustomerServiceSync(
- s => updatedCustomer = s.GetCompactCustomerDC(selectedCustomer.CustomerOid));
- selectedCustomer = new CompactCustomerDC();
- selectedCustomer = updatedCustomer;
- // UpdateControls();
- // customerText.Text = updatedCustomer.ToString();
-
- BeWoUtils.UpdateAllViews(selectedCustomer);
- }))
- ));
- }
- else
- MessageBox.Show("Es wurde der Vertretung kein Klient zugeteilt");
- }
- else
- {
- MessageBox.Show("Es wurde der Vertretung kein Klient zugeteilt");
- }
- }
-
- private void Mitarbeiterinfo_OnClick(object sender, RoutedEventArgs e)
- {
- var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
-
- if (a.KrankerMitarbeiter != null)
- {
- if (!a.KrankerMitarbeiter.Equals(""))
- {
- VertretungDC vert = new VertretungDC();
-
- List abf = new List();
-
- if (a.VertretungsDC != null)
- {
- vert = a.VertretungsDC;
- abf.Add(vert.EmployeeOid.Value);
- }
- else
- {
- abf.Add(a.Mitarbeiteroid);
- }
-
-
- var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(abf[0]));
- var selectedEmployee = sgf;
-
- VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
- cb => this.Dispatch(
- () =>
- BeWoUtils.OpenModalViewWindow(cb, null,
- () => this.Dispatch(
- delegate
- {
- var updatedEmployee = new CompactEmployeeDC();
-
- ServiceFacade.DoEmployeeServiceSync(
- s =>
- updatedEmployee =
- s.GetActiveCompactEmployeeWithOid(selectedEmployee.EmployeeOid));
- selectedEmployee = new CompactEmployeeDC();
- selectedEmployee = updatedEmployee;
- // UpdateControls();
- // customerText.Text = updatedCustomer.ToString();
-
- BeWoUtils.UpdateAllViews(selectedEmployee);
- }))
- ));
- }
- else
- MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
-
- }
- else
- {
- MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
- }
-
- }
-
- private void MitarbeiterVertretunginfo_OnClick(object sender, RoutedEventArgs e)
- {
- var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
-
- if (a.Vertretung != null)
- {
- if (!a.Vertretung.Equals(""))
- {
- VertretungDC vert = new VertretungDC();
-
- vert = a.VertretungsDC;
-
- List abf = new List();
-
- if (a.VertretungsDC != null)
- {
- vert = a.VertretungsDC;
- abf.Add(vert.VertretenderMitarbeiterOid.Value);
- }
- else
- {
- abf.Add(a.Vertreteroid);
- }
-
- var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(abf[0]));
- var selectedEmployee = sgf;
-
- VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
- cb => this.Dispatch(
- () =>
- BeWoUtils.OpenModalViewWindow(cb, null,
- () => this.Dispatch(
- delegate
- {
- var updatedEmployee = new CompactEmployeeDC();
-
- ServiceFacade.DoEmployeeServiceSync(
- s =>
- updatedEmployee =
- s.GetActiveCompactEmployeeWithOid(selectedEmployee.EmployeeOid));
- selectedEmployee = new CompactEmployeeDC();
- selectedEmployee = updatedEmployee;
- // UpdateControls();
- // customerText.Text = updatedCustomer.ToString();
-
- BeWoUtils.UpdateAllViews(selectedEmployee);
- }))
- ));
- }
- else
- MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
-
- }
- else
- {
- MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
- }
- }
-
-#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;
-
- foreach (var wochentag in x.VertretungsWoche)
- {
- if (wochentag.Key.Equals(_mitarbeiterVertretungWocheninfo))
- {
- _mitarbeiterVertretungWocheninfo = "";
- foreach (var item in wochentag.Value)
- {
- if (item.Key != null)
- {
- if (!item.Value.Vertretung.Equals(""))
- {
- List abf = new List();
-
-
- abf.Add(item.Value.Vertreteroid);
-
-
- var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(abf[0]));
- var selectedEmployee = sgf;
-
- VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
- cb => this.Dispatch(
- () =>
- BeWoUtils.OpenModalViewWindow(cb, null,
- () => this.Dispatch(
- delegate
- {
- var updatedEmployee = new CompactEmployeeDC();
-
- ServiceFacade.DoEmployeeServiceSync(
- s =>
- updatedEmployee =
- s.GetActiveCompactEmployeeWithOid(selectedEmployee.EmployeeOid));
- selectedEmployee = new CompactEmployeeDC();
- selectedEmployee = updatedEmployee;
- // UpdateControls();
- // customerText.Text = updatedCustomer.ToString();
-
- BeWoUtils.UpdateAllViews(selectedEmployee);
- }))
- ));
- }
- else
- MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
-
- }
- else
- {
- MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
- }
-
- }
- }
-
- }
-
- }
-
- private void DeletPerson_OnClick(object sender, RoutedEventArgs e)
- {
- if (MessageBox.Show("Möchten Sie die Vertretung wirklich löschen?", "Vertretung löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
- {
- var a = (SchulbegleitenderDienst) GridDataControlTagesansicht.SelectedItem;
-
- VertretungDC vert = new VertretungDC();
-
- if (a.VertretungsDC != null)
- {
- vert = a.VertretungsDC;
- ServiceFacade.DoOperationsServiceSync(s => s.DeleteVertretung(vert.VertretungOid.Value));
- }
-
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
- }
- }
-
- private void DeletVertretungForWochenanzeige_OnClick(object sender, RoutedEventArgs e)
- {
- if (MessageBox.Show("Möchten Sie die Vertretung wirklich löschen?", "Vertretung löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
- {
- var a = (Wochenansichten)GridDataControlKlientenWochenansicht.SelectedItem;
-
- foreach (var wochentag in a.VertretungsWoche)
- {
- if (wochentag.Key.Equals(_deletVertretungsWeek))
- {
- _deletVertretungsWeek = "";
-
- foreach (var item in wochentag.Value)
- {
- if (item.Key != null)
- {
- if (!item.Value.Vertretung.Equals(""))
- {
- ServiceFacade.DoOperationsServiceSync(s => s.DeleteVertretung(item.Value.VertretungsDC.VertretungOid.Value));
-
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
- }
- }
- }
- }
- }
- }
- }
-
- private void DeleteKrankmeldung_OnClick(object sender, RoutedEventArgs e)
- {
- if (MessageBox.Show("Möchten Sie die Abwesenheit wirklich löschen?", "Abwesenheit löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
- {
- var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
-
- Dictionary ahh = new Dictionary();
- ahh.Add(a.AbsenceTimeDC.AbsenceTimeOid.Value,a.AbsenceTimeDC.AbsenceTimeVersion.Value);
-
- ServiceFacade.DoOperationsServiceSync(s => s.DeactivateAbsenceTime(ahh));
-
- VertretungDC vert = new VertretungDC();
-
- if (a.VertretungsDC != null)
- {
- vert = a.VertretungsDC;
- ServiceFacade.DoOperationsServiceSync(s => s.DeleteVertretung(vert.VertretungOid.Value));
- }
-
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
- }
- }
-
- private void KrankmeldungsZeitraumBearbeitungsView(object sender, RoutedEventArgs e)
- {
- var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
-
- if (_krankView == null)
- {
- _krankView = new KrankheitsZeitraumView(a.StartD,a.EndD);
-
- _krankView.RaiseCustomEvent += new EventHandler(newWindowKrankzeitraum_RaiseCustomEvent);
- _krankView.ShowDialog();
- }
- else
- {
- _krankView.Close();
- _krankView = new KrankheitsZeitraumView(a.StartD, a.EndD);
-
- _krankView.RaiseCustomEvent += new EventHandler(newWindowKrankzeitraum_RaiseCustomEvent);
- _krankView.ShowDialog();
- }
- }
-
- private void newWindowKrankzeitraum_RaiseCustomEvent(object sender, KrankheitsEventArgs e)
- {
- UpdateKrankheitsZeitraum(e.Start,e.Ende);
- }
-
- private void UpdateKrankheitsZeitraum(DateTime startZeit,DateTime endZeit)
- {
- _krankView.Close();
-
- var ab = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
-
- ab.AbsenceTimeDC.Start = startZeit;
- ab.AbsenceTimeDC.End = endZeit;
-
- List a = new List();
-
- a.Add(ab.AbsenceTimeDC);
-
- ServiceFacade.DoCustomerServiceSync(s => s.UpdateAbsenceTimes(a));
-
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
- }
-
- //den gegebenheiten Anpassen
- private void GridViewBase_OnRowUpdated(object sender, RowEventArgs e)
- {
- var a = (SchulbegleitenderDienst) GridDataControlTagesansicht.SelectedItem;
-
- AbsenceTimeDC abstime = new AbsenceTimeDC()
- {
- AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid,
- Start = a.StartD,
- End = a.EndD,
- Reason = a.AbwesenheitsKategorie,
- KrankheitsMeldung = a.KrankheitsMeldung
- };
-
- VertretungDC vert = new VertretungDC()
- {
- CustomerOid = a.Klientoid,
- EmployeeOid = a.Mitarbeiteroid,
-
- AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid,
- VertretenderMitarbeiterOid = a.Vertreteroid,
- Notice = a.Beschreibung
- };
-
- //?? villeicht nur Vertretungszeitraum wenn Mitarbeiter ist geadded
- //if (a.Vertreteroid != 0)
- //{
- vert.VertretungsZeitraumVon = a.StartD;
- vert.VertretungsZeitraumBis = a.EndD;
- //}
-
-
- if (a.VertretungsDC != null)
- {
- vert.VertretungOid = a.VertretungsDC.VertretungOid;
-
- ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretungAndAbsenceTime(vert,abstime));
- }
- else
- {
- // Abfrage muss genauer bestimmt werden oder komplett wegfallen
- //if (a.Vertreteroid != 0)
- //{
- ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
- //}
-
- ServiceFacade.DoOperationsServiceSync(s => s.UpdateAbsenceTime(abstime));
- //}
- //else
- //{
- // ServiceFacade.DoOperationsServiceSync(s => s.UpdateAbsenceTime(abstime));
- //}
- }
-
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
- }
-
- private void ButtonWorkWeekView_Click(object sender, RoutedEventArgs e)
- {
- //if (GridDataControlKlientenWochenansicht.Visibility != Visibility.Visible &&
- // GridDataControlMitarbeiterWochenansicht.Visibility != Visibility.Visible)
- //{
- // KwWochenAnzeigen();
- //}
-
- if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
- {
- GridDataControlTagesansicht.Visibility = Visibility.Collapsed;
- GridDataControlKlientenWochenansicht.Visibility = Visibility.Visible;
- GridDataControlKlientenWochenansicht2.Visibility=Visibility.Visible;
-
- KwWochenAnzeigen();
- }
- else
- if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
- {
- GridDataControlKlientenWochenansicht.Visibility = Visibility.Collapsed;
- GridDataControlKlientenWochenansicht2.Visibility= Visibility.Collapsed;
- GridDataControlMitarbeiterWochenansicht.Visibility = Visibility.Visible;
-
- KwWochenAnzeigen();
-
- }else
- if (GridDataControlMitarbeiterWochenansicht.Visibility == Visibility.Visible)
- {
- GridDataControlMitarbeiterWochenansicht.Visibility = Visibility.Collapsed;
- GridDataControlKlientenWochenansicht.Visibility = Visibility.Visible;
- GridDataControlKlientenWochenansicht2.Visibility = Visibility.Visible;
-
-
- KwWochenAnzeigen();
- }
- }
-
- private void KwWochenAnzeigen()
- {
- DateTime dt = Datepicker.DateTime;
-
- RenameColumnHeader(dt);
-
- DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
- DateTime enddt = startdt.AddDays(5);
-
- 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");
- }
-
- private void ButtonDayView_Click(object sender, RoutedEventArgs e)
- {
- if (GridDataControlTagesansicht.Visibility != Visibility.Visible)
- {
- GridDataControlTagesansicht.Visibility = Visibility.Visible;
- GridDataControlKlientenWochenansicht.Visibility = Visibility.Collapsed;
- GridDataControlMitarbeiterWochenansicht.Visibility = Visibility.Collapsed;
- GridDataControlKlientenWochenansicht2.Visibility = Visibility.Collapsed;
-
-
- TagesAnzeige();
- }
-
-
- }
-
- private void TagesAnzeige()
- {
- DateTime dt = Datepicker.DateTime;
- Datelbl.Content = dt.ToString("dddd dd.MM.yyyy");
-
- GetAllVertretungenOnLoad(dt);
- }
-
- private void Aktualisieren_OnClick(object sender, RoutedEventArgs e)
- {
- if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
- {
- GetAllVertretungenOnLoad(Datepicker.DateTime);
- }
- else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
- {
- var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
-
- 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)
- {
- PfeilControll(-1);
- }
-
- private void PfeilRechtsDatumHoch_OnClick(object sender, RoutedEventArgs e)
- {
- PfeilControll(1);
- }
-
- private void PfeilControll(int i)
- {
- var dt = Datepicker.DateTime;
-
- if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
- {
- var a = dt.Date.AddDays(i);
-
- Datepicker.DateTime = a;
- }
- else
- {
- var x = dt.Date.AddDays(i * 7);
-
- RenameColumnHeader(x);
-
- Datepicker.DateTime = x;
- }
- }
-
- private void RenameColumnHeader(DateTime dt)
- {
- DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
-
- 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);
-
-
- //add hier die header names das datum hinzu
- foreach (var col in GridDataControlKlientenWochenansicht.Columns)
- {
- if (col.FieldName.Equals("Mo"))
- {
- col.Header = "Mo" + " " + montagDt.Date.Day + "." + montagDt.Date.Month;
- }
-
- if (col.FieldName.Equals("Di"))
- {
- col.Header = "Di" + " " + dienstagDt.Date.Day + "." + dienstagDt.Date.Month;
- }
-
- if (col.FieldName.Equals("Mi"))
- {
- col.Header = "Mi" + " " + mittwochDt.Date.Day + "." + mittwochDt.Date.Month;
- }
-
- if (col.FieldName.Equals("Do"))
- {
- col.Header = "Do" + " " + donnerstagDt.Date.Day + "." + donnerstagDt.Date.Month;
- }
-
- if (col.FieldName.Equals("Fr"))
- {
- col.Header = "Fr" + " " + freitagDt.Date.Day + "." + freitagDt.Date.Month;
- }
-
- if (col.FieldName.Equals("Sa"))
- {
- col.Header = "Sa" + " " + samstagDt.Date.Day + "." + samstagDt.Date.Month;
- }
- }
-
- }
-
-
- }
-
-#region Connectoren
-
- //Binding Connectoren
-
- public class SchulbegleitenderDienst //---> muss Verbessert werden
- {
- public VertretungDC VertretungsDC { get; set; } // ---> Sicherheitsrisiko ??
-
- //----------------------------------------------------------------
- public AbsenceTimeDC AbsenceTimeDC { get; set; } // --> muss das sein ?
-
-
- public DateTime StartD { get; set; }
- public DateTime EndD { get; set; }
-
- public Dictionary Wochentagsarbeitszeit { get; set; }
-
- // KAnnn das nicht weg
- public long Mitarbeiteroid { get; set; }
- public long Klientoid { get; set; }
- public long Vertreteroid { get; set; } // --> Nein muss nicht.
- //----------------------------------------------------------------
-
-
- public string Vertretung { get; set; }
- public string Kunde { get; set; }
- public string KrankerMitarbeiter { get; set; }
- public AbsenceReasonDC AbwesenheitsKategorie { get; set; }
- public DateTime KrankheitsMeldung { get; set; }
- //public string MaFehlzeit { get; set; }
- //public string KindFehlzeit { get; set; }
- public string KrankheitsZeitraum { get; set; }
- public string VertretungsZeitraum { get; set; }
- public string Beschreibung { get; set; }
- //public int ParentId { get; set; }
- //public int Oid { get; set; }
-
- //Farbe der Jeweiligen Zeile
- public int IsKunde { get; set; }
-
- public int IsMitarbeiter { get; set; }
-
- //Villeicht mal schauen mal sehen
- public string AbwesenheitsKategorieToString
- {
- get { return AbwesenheitsKategorie.Description; }
- }
-
- public string Arbeitszeit { get; set; }
-
- public bool IsMitarbeiterKrank { get; set; }
-
- public bool IsCustomerKrank { get; set; }
-
- public string WochenansichtBemerkung { get; set; }
- }
-
- public class Wochenansichten
- {
- //public long? VertretungsOid { get; set; }
- public string MaFrei { get; set; }
- public string MaKrank { get; set; }
- public string Kind { get; set; }
-
- //Fürs WPF Klient Wochenanzeige
- public string VertretungMo { get; set; }
- public string VertretungDi { get; set; }
- public string VertretungMi { get; set; }
- public string VertretungDo { get; set; }
- public string VertretungFr { get; set; }
- public string VertretungSa { 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; }
-
-
- //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; }
-
- //MitarbeiterView
- public Dictionary> KlientvertretungsWoche { get; set; }
-
- public bool IsMitarbeiterKrank { get; set; }
-
- public bool isCustomerKrank { get; set; }
-
- public string Bemerkung { get; set; }
-
- public string WochenBeschreibung { get; set; }
-
-
- }
-
- //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; }
- }
-
- //public class WieAbschlagszahlung
- //{
- // public virtual string Klient { get; set; }
- // public virtual string AngelegtAm { get; set; }
- // public virtual string Buchubngsdatum { get; set; }
- // public virtual string Gueltigkeitsdatum { get; set; }
- // public virtual string Betrag { get; set; }
- // public virtual string Kommentar { get; set; }
- // public virtual string isUnterschrift { get; set; }
-
- // public virtual CompactCustomerDC KlientDC { get; set; }
-
- // public WieAbschlagszahlung(string klient, string angelegt, string buchung, string gueltigkeit, string betrag, string kommentar, string unterschrift, CompactCustomerDC klientdc)
- // {
- // Klient = klient;
- // AngelegtAm = angelegt;
- // Buchubngsdatum = buchung;
- // Gueltigkeitsdatum = gueltigkeit;
- // Betrag = betrag;
- // Kommentar = kommentar;
- // isUnterschrift = unterschrift;
- // KlientDC = klientdc;
- // }
- //}
-
- #endregion
-}
diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
index ceb70de53..5980338a0 100644
--- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
+++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
@@ -16,6 +16,11 @@ namespace BeWo.SchulbegleitenderDienst
{
public partial class SchulbegleitenderDienstBearbeitungsView
{
+ #region Variablen
+
+
+
+
public event EventHandler RaiseCustomEvent;
private DateTime? _startDate;
@@ -38,8 +43,14 @@ namespace BeWo.SchulbegleitenderDienst
Dictionary letzteVertretungsListBox = new Dictionary();
+ private TagesAnsicht tagesAnsicht;
- public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate, long? klientOid)
+ private WochenAnsicht wochenAnsicht;
+
+ private string wochentag;
+ #endregion
+
+ public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate, long? klientOid,TagesAnsicht tsa,WochenAnsicht wsa,string tag)
{
InitializeComponent();
@@ -102,7 +113,12 @@ namespace BeWo.SchulbegleitenderDienst
//setze itemsource von allen Letzten Vertretern
SetzeLetzteVertreter();
-
+
+ tagesAnsicht = tsa;
+
+ wochenAnsicht = wsa;
+ wochentag = tag;
+
}
private void RootGroupBox_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
@@ -248,7 +264,7 @@ namespace BeWo.SchulbegleitenderDienst
{
if (_startDate.HasValue && _endDate.HasValue && KVCheckBox.IsChecked.Value)
{
- RaiseCustomEvent(this, new CustomEventArgs(x, _startDate, _endDate));
+ RaiseCustomEvent(this, new CustomEventArgs(x, _startDate, _endDate,tagesAnsicht,wochenAnsicht,wochentag));
Close();
}
@@ -282,7 +298,7 @@ namespace BeWo.SchulbegleitenderDienst
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));
+ RaiseCustomEvent(this, new CustomEventArgs(x, xVon, xBis,tagesAnsicht,wochenAnsicht,wochentag));
Close();
}
@@ -972,12 +988,18 @@ namespace BeWo.SchulbegleitenderDienst
private CompactEmployeeDC dc;
private DateTime? startdt;
private DateTime? enddt;
+ private TagesAnsicht tagesItem;
+ private WochenAnsicht wochenItem;
+ private string wochentag;
- public CustomEventArgs(CompactEmployeeDC s, DateTime? start, DateTime? ende)
+ public CustomEventArgs(CompactEmployeeDC s, DateTime? start, DateTime? ende,TagesAnsicht item,WochenAnsicht wItem,string wtag)
{
dc = s;
startdt = start;
enddt = ende;
+ tagesItem = item;
+ wochenItem = wItem;
+ wochentag = wtag;
}
public CompactEmployeeDC Message
@@ -995,6 +1017,21 @@ namespace BeWo.SchulbegleitenderDienst
get { return enddt; }
}
+ public TagesAnsicht TagesItem
+ {
+ get { return tagesItem; }
+ }
+
+ public WochenAnsicht WochenItem
+ {
+ get { return wochenItem; }
+ }
+
+ public string WochenTag
+ {
+ get { return wochentag; }
+ }
+
}
public class SearchViewDaten
diff --git a/BeWo/View/SchulbegleitenderDienst.xaml b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstView.xaml
similarity index 98%
rename from BeWo/View/SchulbegleitenderDienst.xaml
rename to BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstView.xaml
index b58f1a53c..4dc8757fb 100644
--- a/BeWo/View/SchulbegleitenderDienst.xaml
+++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstView.xaml
@@ -1,4 +1,4 @@
- verfuegbarerAusschlussToken = new Dictionary();
- public SchulbegleitenderDienst(TableID pObjectTid, long? oid,SchulbegleitenderZugehoerigkeitsTyp typ)
+ public SchulbegleitenderDienstView(TableID pObjectTid, long? oid,SchulbegleitenderZugehoerigkeitsTyp typ)
{
InitializeComponent();
diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml b/BeWo/SchulbegleitenderDienst/SchulbegleitenderVertretungsDienstMainView.xaml
similarity index 99%
rename from BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
rename to BeWo/SchulbegleitenderDienst/SchulbegleitenderVertretungsDienstMainView.xaml
index a6bd4b8ab..e32c313cf 100644
--- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
+++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderVertretungsDienstMainView.xaml
@@ -1,4 +1,4 @@
- _items = new List();
+
+ private readonly List _itemsWochen = new List();
+
+ //neu Ist immer Besser
+ private readonly List _itemsWochenKrankerMitarbeiter = new List();
+
+ private SchulbegleitenderDienstBearbeitungsView _view = null;
+
+ private SchulbegleitenderDienstMitarbeiterBearbeitungsView _viewMitarbeiter = null;
+
+ private KrankheitsZeitraumView _krankView = null;
+
+ private string _mitarbeiterVertretungWocheninfo = "";
+
+ private string _deletVertretungsWeek = "";
+
+ private List _mitarbeiterwochen = new List();
+
+ private TagesVertretung _tagesVertretung = new TagesVertretung();
+
+ private WochenVertretung _wochenVertretung = new WochenVertretung();
+
+ #endregion
+
+ #region Konstruktor
+ public SchulbegleitenderVertretungsDienstMainView()
+ {
+ InitializeComponent();
+
+ GridDataControlTagesansicht.ItemsSource = _items;
+
+ GridDataControlKlientenWochenansicht.ItemsSource = _itemsWochen;
+
+ //Only Klienten Krank ?
+ GridDataControlKlientenWochenansicht2.ItemsSource = _itemsWochenKrankerMitarbeiter;
+
+
+ GridDataControlMitarbeiterWochenansicht.ItemsSource = _mitarbeiterwochen;
+
+ SetAktuellesDate();
+ SetAbwesenheiten();
+
+ MVCheckBox.IsChecked = true;
+ KVCheckBox.IsChecked = true;
+
+ }
+ #endregion
+
+ #region Lade TagesAnsicht // Bereits ausgesiedelt
+ //Lade Tagesansichts gedöns
+ private void LadeTagesAnsichtNach(DateTime AusgewaehltesDatum)
+ {
+ _items.Clear();
+ ServiceFacade.DoOperationsServiceAsync(s => s.VertretungsListe(AusgewaehltesDatum),r =>
+ {
+ foreach (var item in r)
+ {
+ AddItemsToGrid(item);
+ }
+
+ #region Dispatcher Refresh Grid
+ this.Dispatch(delegate
+ {
+ GridDataControlTagesansicht.RefreshData();
+ GridDataControlTagesansicht.RefreshUI();
+ });
+ #endregion
+ });
+ }
+
+ private void AddItemsToGrid(VertretungsListeItemsDC item)
+ {
+ var list = _tagesVertretung.VerarbeiteItemZuTagesAnsicht(item);
+
+ foreach (var it in list)
+ {
+ _items.Add(it);
+ }
+ }
+
+ #endregion
+
+ #region Lade WochenAnsicht // Bereits ausgesiedelt
+
+ private void LadeWochenAnsichtNach(DateTime startDatum, DateTime endDatum )
+ {
+ _items.Clear();
+ ServiceFacade.DoOperationsServiceAsync(s => s.VertretungsListeWoechentlich(startDatum,endDatum), r =>
+ {
+ foreach (var item in r)
+ {
+ AddItemsToGrid(item);
+ }
+
+ this.Dispatch(delegate
+ {
+ GetWochenDienstFromItems(startDatum);
+ });
+ });
+ }
+
+ private void GetWochenDienstFromItems(DateTime time)
+ {
+ _itemsWochen.Clear();
+ _itemsWochenKrankerMitarbeiter.Clear();
+
+ var dic = _wochenVertretung.GetWochenAnsichtFromItems(time, _items);
+
+ foreach (var item in dic["_itemsWochen"])
+ {
+ _itemsWochen.Add(item);
+ }
+
+ foreach (var item in dic["_itemsWochenKrankerMitarbeiter"])
+ {
+ _itemsWochenKrankerMitarbeiter.Add(item);
+ }
+
+ GridDataControlKlientenWochenansicht.RefreshData();
+ GridDataControlKlientenWochenansicht.RefreshUI();
+
+ //für Klient
+ GridDataControlKlientenWochenansicht2.RefreshData();
+ GridDataControlKlientenWochenansicht2.RefreshUI();
+ }
+
+ #endregion
+
+ //################ Rausnehmen
+ #region Mitarbeiter Wochenansicht Verarbeitung | Rausnehmen ???
+
+ 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);
+ }
+
+ #region Dispatcher Refresh Grid
+ this.Dispatch(delegate
+ {
+ GridDataControlMitarbeiterWochenansicht.RefreshData();
+ GridDataControlMitarbeiterWochenansicht.RefreshUI();
+ });
+ #endregion
+ });
+ }
+
+ 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;
+ }
+
+ #endregion
+
+ #region Mitarbeiter Wochen Vertretung verarbeitung | wird nicht gebraucht wegnehmen bei ok
+
+ 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
+ //################# Ende rausnehmen
+
+ #region Mitarbeiter Vertretungs Datum von - bis // bleibt so
+
+ private void MVDatepickerVon_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
+ {
+ var dt = (DateTime)e.NewValue;
+
+ if (dt >= MVDatepickerBis.DateTime)
+ {
+ MVDatepickerBis.DateTime = dt;
+ }
+ }
+
+ private void MVDatepickerBis_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
+ {
+ var dt = (DateTime)e.NewValue;
+
+
+ if(dt <= MVDatepickerVon.DateTime) {
+ MVDatepickerVon.DateTime = dt;
+ }
+ }
+
+ #endregion
+
+ #region Klienten Vertretungs Datum von - bis //bleibt so
+
+ private void KVDatepickerVon_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
+ {
+ var dt = (DateTime)e.NewValue;
+
+ if(dt >= KVDatepickerBis.DateTime) {
+ KVDatepickerBis.DateTime = dt;
+ }
+ }
+
+ private void KVDatepickerBis_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
+ {
+ var dt = (DateTime)e.NewValue;
+
+ if(dt <= MVDatepickerVon.DateTime) {
+ KVDatepickerVon.DateTime = dt;
+ }
+ }
+
+ #endregion
+
+ #region Mitarbeiter Vertretung // bleibt so
+
+ private CompactEmployeeDC currentEmployee;
+
+ private void MitarbeiterVertretungsToggleButton_OnChecked(object sender, RoutedEventArgs e)
+ {
+ MVDatepicker_UhrzeitVon.Text = "";
+ MVDatepicker_UhrzeitBis.Text = "";
+
+ MVDatepicker_UhrzeitVon.Visibility = Visibility.Collapsed;
+ MVDatepicker_UhrzeitBis.Visibility = Visibility.Collapsed;
+
+ MVLabelUhrzeitVon.Visibility = Visibility.Collapsed;
+ MVLabelUhrzeitBis.Visibility = Visibility.Collapsed;
+ }
+
+ private void MitarbeiterVertretungsToggleButton_OnUnchecked(object sender, RoutedEventArgs e)
+ {
+ MVDatepicker_UhrzeitVon.Visibility = Visibility.Visible;
+ MVDatepicker_UhrzeitBis.Visibility = Visibility.Visible;
+ MVLabelUhrzeitVon.Visibility = Visibility.Visible;
+ MVLabelUhrzeitBis.Visibility = Visibility.Visible;
+ }
+
+ private void MitarbeiterVertretung_OnClick(object sender, RoutedEventArgs e)
+ {
+ popup_newMitarbeiterVertretung.IsOpen = true;
+ }
+
+ private void Button_cancelMitarbeiterVertretung_OnClick(object sender, RoutedEventArgs e)
+ {
+ ClearAllMitarbeiterValues();
+ popup_newMitarbeiterVertretung.IsOpen = false;
+ }
+
+ private void Popupedit_MitarbeiterVertretungSearch_OnPopUpClick_popupedit_MitarbeiterVertretungSearch_PopUpClick(object sender, RoutedEventArgs e)
+ {
+ MitarbeiterVertretungsearchview.ItemSelected += MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected;
+ popup_MitarbeiterVertretung.IsOpen = true;
+ }
+
+ private void MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected(object sender, EventArgs e)
+ {
+ popup_MitarbeiterVertretung.IsOpen = false;
+ MitarbeiterVertretungsearchview.ItemSelected -= MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected;
+
+ currentEmployee = e.Data;
+ popupedit_MitarbeiterVertretungSearch.Text = currentEmployee.FirstName + " " + currentEmployee.LastName;
+
+ var employeeList = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllActiveEmployeesCompact());
+
+ MitarbeiterVertretungsearchview.ObjectList = employeeList;
+
+ popupedit_MitarbeiterVertretungSearch.Focus();
+ }
+
+ private void Button_addMitarbeiterVertretung_OnClick(object sender, RoutedEventArgs e)
+ {
+ bool xsf = false;
+
+ if (!popupedit_MitarbeiterVertretungSearch.Text.Equals("") && ComboBoxMitarbeiterVertretung.SelectedValue != null )
+ {
+
+ if (MVCheckBox.IsChecked.Value )
+ {
+ xsf = true;
+ }
+ else
+ {
+ 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
+ {
+ MessageBox.Show("Bitte geben sie eine Start und eine Endzeit ein.");
+ }
+ }
+ }
+ else
+ {
+ MessageBox.Show("Bitte wählen sie zuerst einen Mitarbeiter und eine Abwesenheitskategorie aus.");
+ }
+
+
+ if (xsf)
+ {
+ popup_newMitarbeiterVertretung.IsOpen = false;
+
+ SaveEmployeeInVertretung();
+
+ ClearAllMitarbeiterValues();
+
+ if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
+ {
+ LadeTagesAnsichtNach(Datepicker.DateTime.Date);
+ }
+ else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
+ {
+ var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
+ LadeWochenAnsichtNach(x, x.AddDays(5));
+ }
+ }
+ }
+
+ private void ClearAllMitarbeiterValues()
+ {
+ MVDatepickerVon.DateTime = DateTime.Now;
+ MVDatepickerBis.DateTime = DateTime.Now;
+ popupedit_MitarbeiterVertretungSearch.Text = "";
+
+ ComboBoxMitarbeiterVertretung.SelectedIndex = -1;
+ MitarbeiterNotice.Text = "";
+
+ MVDatepicker_UhrzeitVon.Text = "";
+ MVDatepicker_UhrzeitBis.Text = "";
+ }
+
+ private void SaveEmployeeInVertretung()
+ {
+ AbsenceTimeDC at = new AbsenceTimeDC();
+
+ if(MVCheckBox.IsChecked.Value){
+ at.Start = MVDatepickerVon.DateTime.Date;
+ at.End = MVDatepickerBis.DateTime.Date;
+ }
+ else
+ {
+ 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);
+
+ 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);
+
+ var ende = new DateTime(MVDatepickerBis.DateTime.Date.Year, MVDatepickerBis.DateTime.Date.Month, MVDatepickerBis.DateTime.Date.Day, dateTimeEnd.Hour, dateTimeEnd.Minute, dateTimeEnd.Second);
+
+ at.Start = start;
+ at.End = ende;
+
+ }
+
+
+ at.Reason = ComboBoxMitarbeiterVertretung.SelectedValue as AbsenceReasonDC;
+ at.Notice = MitarbeiterNotice.Text;
+ at.KrankheitsMeldung = KrankMeldungMitarbeiterDatepicker.DateTime.Date;
+
+ ServiceFacade.DoOperationsServiceSync(s => s.InsertNewEmployeeAbsenceTime(currentEmployee.EmployeeOid, at));
+ }
+ #endregion
+
+ #region Klient Vertretung //bleibt so
+
+ private CompactCustomerDC currentKlient;
+
+ private void KlientVertretungsToggleButton_OnChecked(object sender, RoutedEventArgs e)
+ {
+ KVDatepicker_UhrzeitVon.Text = "";
+ KVDatepicker_UhrzeitBis.Text = "";
+
+ KVDatepicker_UhrzeitVon.Visibility = Visibility.Collapsed;
+ KVDatepicker_UhrzeitBis.Visibility = Visibility.Collapsed;
+
+ KVLabelUhrzeitVon.Visibility = Visibility.Collapsed;
+ KVLabelUhrzeitBis.Visibility = Visibility.Collapsed;
+ }
+
+ private void KlientVertretungsToggleButton_OnUnchecked(object sender, RoutedEventArgs e)
+ {
+ KVDatepicker_UhrzeitVon.Visibility = Visibility.Visible;
+ KVDatepicker_UhrzeitBis.Visibility = Visibility.Visible;
+ KVLabelUhrzeitVon.Visibility = Visibility.Visible;
+ KVLabelUhrzeitBis.Visibility = Visibility.Visible;
+ }
+
+ private void KlientVertretung_Button_OnClick(object sender, RoutedEventArgs e)
+ {
+ popup_newKlientVertretung.IsOpen = true;
+ }
+
+ private void Button_cancelKlientVertretung_OnClick(object sender, RoutedEventArgs e)
+ {
+ popup_newKlientVertretung.IsOpen = false;
+ ClearAllKlientValues();
+ }
+
+ private void Popupedit_KlientVertretungSearch_OnPopUpClick(object sender, RoutedEventArgs e)
+ {
+ KlientVertretungsearchview.ItemSelected +=KlientVertretungsearchview_KlientVertretungSelected;
+ popup_KlientVertretung.IsOpen = true;
+ }
+
+ private void KlientVertretungsearchview_KlientVertretungSelected(object sender, EventArgs e)
+ {
+ popup_KlientVertretung.IsOpen = false;
+ KlientVertretungsearchview.ItemSelected -= KlientVertretungsearchview_KlientVertretungSelected;
+
+ currentKlient = e.Data;
+ popupedit_KlientVertretungSearch.Text = currentKlient.FullName;
+
+ var customerList = ServiceFacade.DoCustomerServiceSync(s => s.GetAllActiveCompactCustomers());
+
+ KlientVertretungsearchview.ObjectList = customerList;
+
+ popupedit_MitarbeiterVertretungSearch.Focus();
+ }
+
+ private void Button_addKlientVertretung_OnClick(object sender, RoutedEventArgs e)
+ {
+ bool xsf = false;
+
+ if (!popupedit_KlientVertretungSearch.Text.Equals("") && ComboBoxKlientVertretung.SelectedValue != null)
+ {
+ if (KVCheckBox.IsChecked.Value)
+ {
+ xsf = true;
+ }
+ else
+ {
+ if (!KVDatepicker_UhrzeitVon.Text.Equals("") && !KVDatepicker_UhrzeitBis.Text.Equals(""))
+ {
+ 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
+ {
+ MessageBox.Show("Bitte geben sie eine Start und eine Endzeit ein.");
+ }
+ }
+ }
+ else
+ {
+ MessageBox.Show("Bitte wählen Sie eine/n Klient/in und eine Abwesenheitskategorie aus.");
+ }
+
+
+ if(xsf){
+ popup_newKlientVertretung.IsOpen = false;
+
+ SaveKlientInVertretung();
+
+ ClearAllKlientValues();
+
+ if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
+ {
+ LadeTagesAnsichtNach(Datepicker.DateTime.Date);
+ }
+ else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
+ {
+ var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
+ LadeWochenAnsichtNach(x, x.AddDays(5));
+ }
+ }
+ }
+
+ private void ClearAllKlientValues()
+ {
+ KVDatepickerVon.DateTime = DateTime.Now;
+ KVDatepickerBis.DateTime = DateTime.Now;
+ popupedit_KlientVertretungSearch.Text = "";
+
+ ComboBoxKlientVertretung.SelectedIndex = -1;
+ KlientNotice.Text = "";
+
+ KVDatepicker_UhrzeitVon.Text = "";
+ KVDatepicker_UhrzeitBis.Text = "";
+ }
+
+ private void SaveKlientInVertretung()
+ {
+ AbsenceTimeDC at = new AbsenceTimeDC();
+
+ if (KVCheckBox.IsChecked.Value)
+ {
+ at.Start = KVDatepickerVon.DateTime.Date;
+ at.End = KVDatepickerBis.DateTime.Date;
+ }
+ else
+ {
+ 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);
+
+ 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);
+
+ var ende = new DateTime(KVDatepickerBis.DateTime.Date.Year, KVDatepickerBis.DateTime.Date.Month, KVDatepickerBis.DateTime.Date.Day, dateTimeEnd.Hour, dateTimeEnd.Minute, dateTimeEnd.Second);
+
+ at.Start = start;
+ at.End = ende;
+ }
+
+ at.Reason = ComboBoxKlientVertretung.SelectedValue as AbsenceReasonDC;
+ at.Notice = KlientNotice.Text;
+ at.KrankheitsMeldung = KrankMeldungKlientDatepicker.DateTime.Date;
+
+ ServiceFacade.DoOperationsServiceSync(s => s.InsertNewCustomerAbsenceTime(currentKlient.CustomerOid, at));
+ }
+
+ #endregion
+
+ #region Klient Wochen Vertretung verarbeiten // Bereits ausgesiedelt
+
+ private void KlientenWochenAnzeigeSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e)
+ {
+ _wochenVertretung.AddeNeueVertretungforWochenAnsicht((WochenAnsicht)GridDataControlKlientenWochenansicht.SelectedItem, GridDataControlKlientenWochenansicht.CurrentColumn.FieldName, Datepicker.DateTime);
+
+ var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
+ LadeWochenAnsichtNach(x, x.AddDays(5));
+ }
+
+ #endregion
+
+ #region Klienten Wochen 2 Vertretung Verarbeiten //bleibt so
+ //Richtigen namen für finden
+ private void ButtonInfo_OnClick(object sender, RoutedEventArgs e)
+ {
+ var a = (WochenAnsicht)GridDataControlKlientenWochenansicht2.SelectedItem;
+
+ if (!a.IsMitarbeiterKrank)
+ {
+ // bleibt noch offen
+ }
+ else
+ {
+ MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen.","Info");
+ }
+
+ }
+ #endregion
+
+ #region Tages Klient Vertretung verarbeiten // Bereits ausgesiedelt
+
+ private void TagesansichtSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e)
+ {
+ _tagesVertretung.AddeNeueTagesVertretung((TagesAnsicht)GridDataControlTagesansicht.SelectedItem, Datepicker.DateTime);
+
+ LadeTagesAnsichtNach(Datepicker.DateTime.Date);
+ }
+
+ #endregion
+
+ #region Popup Menue Bereich // Bleibt so
+
+ private void DataViewBase_OnShowGridMenu(object sender, GridMenuEventArgs e)
+ {
+ if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
+ {
+ var a = (TagesAnsicht) GridDataControlTagesansicht.SelectedItem;
+
+ if (e.MenuInfo.Column.FieldName == "Kunde")
+ {
+ BarButtonItem x = new BarButtonItem() {Content = "Klient/in öffnen"};
+ x.ItemClick += Kundeninfo_OnClick;
+ e.Customizations.Add(x);
+ }
+
+ if (e.MenuInfo.Column.FieldName == "KrankerMitarbeiter")
+ {
+ BarButtonItem x = new BarButtonItem() {Content = "Mitarbeiter/in öffnen"};
+ x.ItemClick += Mitarbeiterinfo_OnClick;
+ e.Customizations.Add(x);
+ }
+
+ if (e.MenuInfo.Column.FieldName == "Vertretung")
+ {
+ BarButtonItem s = new BarButtonItem() {Content = "Mitarbeiter/in öffnen"};
+ s.ItemClick += MitarbeiterVertretunginfo_OnClick;
+ e.Customizations.Add(s);
+ }
+
+ if (a.VertretungsDC != null)
+ {
+ BarButtonItem y = new BarButtonItem() {Content = "Vertretung löschen"};
+ y.ItemClick += DeletPerson_OnClick;
+ e.Customizations.Add(y);
+ }
+
+ BarButtonItem ys = new BarButtonItem() {Content = "Abwesenheit löschen"};
+ ys.ItemClick += DeleteKrankmeldung_OnClick;
+ e.Customizations.Add(ys);
+
+ }
+ else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
+ {
+ // ########### KontextMenue Wochenanzeige #########
+ //BarButtonItem ys = new BarButtonItem() { Content = "Krankmeldung Löschen" }; // villeicht reaktivieren
+ //ys.ItemClick += DeleteKrankmeldung_OnClick;
+ //e.Customizations.Add(ys);
+
+ if (e.MenuInfo.Column.FieldName == "Kunde") // FieldNames umbennenen
+ {
+ BarButtonItem x = new BarButtonItem() {Content = "Klient/in öffnen" };
+ x.ItemClick += Kundeninfo_OnClick; // bearbeiten
+ e.Customizations.Add(x);
+ }
+
+ if (e.MenuInfo.Column.FieldName == "MaKrank")
+ {
+ BarButtonItem x = new BarButtonItem() {Content = "Mitarbeiter/in öffnen" };
+ x.ItemClick += Mitarbeiterinfo_OnClick; // eee
+ e.Customizations.Add(x);
+ }
+
+ if (e.MenuInfo.Column.FieldName == "VertretungMo" || e.MenuInfo.Column.FieldName == "VertretungDi" ||
+ e.MenuInfo.Column.FieldName == "VertretungMi" || e.MenuInfo.Column.FieldName == "VertretungDo" ||
+ e.MenuInfo.Column.FieldName == "VertretungFr" || e.MenuInfo.Column.FieldName == "VertretungSa" ||
+ e.MenuInfo.Column.FieldName == "VertretungSo")
+ {
+ BarButtonItem s = new BarButtonItem() {Content = "Mitarbeiter/in öffnen" };
+ s.ItemClick += MitarbeiterVertretunginfoWochenanzeige_OnClick;
+ e.Customizations.Add(s);
+ _mitarbeiterVertretungWocheninfo = e.MenuInfo.Column.FieldName;
+
+ BarButtonItem xs = new BarButtonItem() { Content = "Vertretung löschen" };
+ xs.ItemClick += DeletVertretungForWochenanzeige_OnClick;
+ e.Customizations.Add(xs);
+
+ _deletVertretungsWeek = e.MenuInfo.Column.FieldName;
+ }
+ }
+ else
+ {
+ //>KontextMenue für die Mitarbeiter View
+ }
+ }
+
+ private void Kundeninfo_OnClick(object sender, RoutedEventArgs e)
+ {
+ var a = (TagesAnsicht)GridDataControlTagesansicht.SelectedItem;
+
+ if(a.Kunde != null){
+ if (!a.Kunde.Equals("") )
+ {
+ VertretungDC vert = new VertretungDC();
+
+ List abf = new List();
+
+ if (a.VertretungsDC != null)
+ {
+ vert = a.VertretungsDC;
+ abf.Add(vert.CustomerOid.Value);
+ }
+ else{
+ abf.Add(a.Klientoid);
+ }
+
+ var sgf = ServiceFacade.DoCustomerServiceSync(s => s.GetCompactCustomersById(abf));
+ var selectedCustomer = sgf[0];
+
+ VMFactory.CreateCustomerVMAsync(selectedCustomer.CustomerOid,
+ cb => this.Dispatch(
+ () =>
+ BeWoUtils.OpenModalViewWindow(cb, null, () => this.Dispatch(
+ delegate
+ {
+ var updatedCustomer = new CompactCustomerDC();
+
+ ServiceFacade.DoCustomerServiceSync(
+ s => updatedCustomer = s.GetCompactCustomerDC(selectedCustomer.CustomerOid));
+ selectedCustomer = new CompactCustomerDC();
+ selectedCustomer = updatedCustomer;
+ // UpdateControls();
+ // customerText.Text = updatedCustomer.ToString();
+
+ BeWoUtils.UpdateAllViews(selectedCustomer);
+ }))
+ ));
+ }
+ else
+ MessageBox.Show("Es wurde der Vertretung kein Klient zugeteilt");
+ }
+ else
+ {
+ MessageBox.Show("Es wurde der Vertretung kein Klient zugeteilt");
+ }
+ }
+
+ private void Mitarbeiterinfo_OnClick(object sender, RoutedEventArgs e)
+ {
+ var a = (TagesAnsicht)GridDataControlTagesansicht.SelectedItem;
+
+ if (a.KrankerMitarbeiter != null)
+ {
+ if (!a.KrankerMitarbeiter.Equals(""))
+ {
+ VertretungDC vert = new VertretungDC();
+
+ List abf = new List();
+
+ if (a.VertretungsDC != null)
+ {
+ vert = a.VertretungsDC;
+ abf.Add(vert.EmployeeOid.Value);
+ }
+ else
+ {
+ abf.Add(a.Mitarbeiteroid);
+ }
+
+
+ var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(abf[0]));
+ var selectedEmployee = sgf;
+
+ VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
+ cb => this.Dispatch(
+ () =>
+ BeWoUtils.OpenModalViewWindow(cb, null,
+ () => this.Dispatch(
+ delegate
+ {
+ var updatedEmployee = new CompactEmployeeDC();
+
+ ServiceFacade.DoEmployeeServiceSync(
+ s =>
+ updatedEmployee =
+ s.GetActiveCompactEmployeeWithOid(selectedEmployee.EmployeeOid));
+ selectedEmployee = new CompactEmployeeDC();
+ selectedEmployee = updatedEmployee;
+ // UpdateControls();
+ // customerText.Text = updatedCustomer.ToString();
+
+ BeWoUtils.UpdateAllViews(selectedEmployee);
+ }))
+ ));
+ }
+ else
+ MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
+
+ }
+ else
+ {
+ MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
+ }
+
+ }
+
+ private void MitarbeiterVertretunginfo_OnClick(object sender, RoutedEventArgs e)
+ {
+ var a = (TagesAnsicht)GridDataControlTagesansicht.SelectedItem;
+
+ if (a.Vertretung != null)
+ {
+ if (!a.Vertretung.Equals(""))
+ {
+ VertretungDC vert = new VertretungDC();
+
+ vert = a.VertretungsDC;
+
+ List abf = new List();
+
+ if (a.VertretungsDC != null)
+ {
+ vert = a.VertretungsDC;
+ abf.Add(vert.VertretenderMitarbeiterOid.Value);
+ }
+ else
+ {
+ abf.Add(a.Vertreteroid);
+ }
+
+ var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(abf[0]));
+ var selectedEmployee = sgf;
+
+ VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
+ cb => this.Dispatch(
+ () =>
+ BeWoUtils.OpenModalViewWindow(cb, null,
+ () => this.Dispatch(
+ delegate
+ {
+ var updatedEmployee = new CompactEmployeeDC();
+
+ ServiceFacade.DoEmployeeServiceSync(
+ s =>
+ updatedEmployee =
+ s.GetActiveCompactEmployeeWithOid(selectedEmployee.EmployeeOid));
+ selectedEmployee = new CompactEmployeeDC();
+ selectedEmployee = updatedEmployee;
+ // UpdateControls();
+ // customerText.Text = updatedCustomer.ToString();
+
+ BeWoUtils.UpdateAllViews(selectedEmployee);
+ }))
+ ));
+ }
+ else
+ MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
+
+ }
+ else
+ {
+ MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
+ }
+ }
+
+ private void MitarbeiterVertretunginfoWochenanzeige_OnClick(object sender, RoutedEventArgs e)
+ {
+ var x = (WochenAnsicht)GridDataControlKlientenWochenansicht.SelectedItem;
+
+ foreach (var wochentag in x.VertretungsWoche)
+ {
+ if (wochentag.Key.Equals(_mitarbeiterVertretungWocheninfo))
+ {
+ _mitarbeiterVertretungWocheninfo = "";
+ foreach (var item in wochentag.Value)
+ {
+ if (item.Key != null)
+ {
+ if (!item.Value.Vertretung.Equals(""))
+ {
+ List abf = new List();
+
+
+ abf.Add(item.Value.Vertreteroid);
+
+
+ var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(abf[0]));
+ var selectedEmployee = sgf;
+
+ VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
+ cb => this.Dispatch(
+ () =>
+ BeWoUtils.OpenModalViewWindow(cb, null,
+ () => this.Dispatch(
+ delegate
+ {
+ var updatedEmployee = new CompactEmployeeDC();
+
+ ServiceFacade.DoEmployeeServiceSync(
+ s =>
+ updatedEmployee =
+ s.GetActiveCompactEmployeeWithOid(selectedEmployee.EmployeeOid));
+ selectedEmployee = new CompactEmployeeDC();
+ selectedEmployee = updatedEmployee;
+ // UpdateControls();
+ // customerText.Text = updatedCustomer.ToString();
+
+ BeWoUtils.UpdateAllViews(selectedEmployee);
+ }))
+ ));
+ }
+ else
+ MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
+
+ }
+ else
+ {
+ MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
+ }
+
+ }
+ }
+
+ }
+
+ }
+
+ #endregion
+
+ #region Delet WochenAnsicht // Bereits ausgesiedelt
+ private void DeletVertretungForWochenanzeige_OnClick(object sender, RoutedEventArgs e)
+ {
+ if (MessageBox.Show("Möchten Sie die Vertretung wirklich löschen?", "Vertretung löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
+ {
+ _wochenVertretung.DeletVertretendenMitarbeiter((WochenAnsicht) GridDataControlKlientenWochenansicht.SelectedItem, _deletVertretungsWeek);
+
+ var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
+ LadeWochenAnsichtNach(x,x.AddDays(5));
+ }
+ }
+ #endregion
+
+ #region Delete TagesAnischt // Bereits ausgesiedelt
+ private void DeleteKrankmeldung_OnClick(object sender, RoutedEventArgs e)
+ {
+ if (MessageBox.Show("Möchten Sie die Abwesenheit wirklich löschen?", "Abwesenheit löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
+ {
+ _tagesVertretung.DeleteKrankmeldung((TagesAnsicht)GridDataControlTagesansicht.SelectedItem);
+
+ LadeTagesAnsichtNach(Datepicker.DateTime.Date);
+ }
+ }
+
+ private void DeletPerson_OnClick(object sender, RoutedEventArgs e)
+ {
+ if (MessageBox.Show("Möchten Sie die Vertretung wirklich löschen?", "Vertretung löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
+ {
+ _tagesVertretung.DeleteVertretung((TagesAnsicht)GridDataControlTagesansicht.SelectedItem);
+
+ LadeTagesAnsichtNach(Datepicker.DateTime.Date);
+ }
+ }
+ #endregion
+
+ #region Krankmeldung Bearbeiten // Bereits ausgesiedelt
+ private void KrankmeldungsZeitraumBearbeitungsView(object sender, RoutedEventArgs e)
+ {
+ _tagesVertretung.KrankMeldeZeitraumBearbeiten((TagesAnsicht)GridDataControlTagesansicht.SelectedItem);
+
+ LadeTagesAnsichtNach(Datepicker.DateTime.Date);
+ }
+ #endregion
+
+ #region Daten der Row Updaten // Bereits ausgesiedelt
+ private void GridViewBase_OnRowUpdated(object sender, RowEventArgs e)
+ {
+ _tagesVertretung.UpdateRowData((TagesAnsicht)GridDataControlTagesansicht.SelectedItem);
+
+ LadeTagesAnsichtNach(Datepicker.DateTime.Date);
+ }
+ #endregion
+
+ #region Einstellungen / Aktualisierungen //bleibt so
+ private void ButtonWorkWeekView_Click(object sender, RoutedEventArgs e)
+ {
+ if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
+ {
+ GridDataControlTagesansicht.Visibility = Visibility.Collapsed;
+ GridDataControlKlientenWochenansicht.Visibility = Visibility.Visible;
+ GridDataControlKlientenWochenansicht2.Visibility=Visibility.Visible;
+
+ KwWochenAnzeigen();
+ }
+ else
+ if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
+ {
+ GridDataControlKlientenWochenansicht.Visibility = Visibility.Collapsed;
+ GridDataControlKlientenWochenansicht2.Visibility= Visibility.Collapsed;
+ GridDataControlMitarbeiterWochenansicht.Visibility = Visibility.Visible;
+
+ KwWochenAnzeigen();
+
+ }else // Diesen Bereich Rausnehmen ??
+ if (GridDataControlMitarbeiterWochenansicht.Visibility == Visibility.Visible)
+ {
+ GridDataControlMitarbeiterWochenansicht.Visibility = Visibility.Collapsed;
+ GridDataControlKlientenWochenansicht.Visibility = Visibility.Visible;
+ GridDataControlKlientenWochenansicht2.Visibility = Visibility.Visible;
+
+
+ KwWochenAnzeigen();
+ }
+ }
+
+ private void KwWochenAnzeigen()
+ {
+ DateTime dt = Datepicker.DateTime;
+
+ RenameColumnHeader(dt);
+
+ DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
+ DateTime enddt = startdt.AddDays(5);
+
+ if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
+ {
+ LadeWochenAnsichtNach(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");
+ }
+
+ private void ButtonDayView_Click(object sender, RoutedEventArgs e)
+ {
+ if (GridDataControlTagesansicht.Visibility != Visibility.Visible)
+ {
+ GridDataControlTagesansicht.Visibility = Visibility.Visible;
+ GridDataControlKlientenWochenansicht.Visibility = Visibility.Collapsed;
+ GridDataControlMitarbeiterWochenansicht.Visibility = Visibility.Collapsed;
+ GridDataControlKlientenWochenansicht2.Visibility = Visibility.Collapsed;
+
+ TagesAnzeige();
+ }
+ }
+
+ private void TagesAnzeige()
+ {
+ DateTime dt = Datepicker.DateTime;
+ Datelbl.Content = dt.ToString("dddd dd.MM.yyyy");
+
+ LadeTagesAnsichtNach(dt);
+ }
+
+ private void Aktualisieren_OnClick(object sender, RoutedEventArgs e)
+ {
+ if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
+ {
+ LadeTagesAnsichtNach(Datepicker.DateTime);
+ }
+ else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
+ {
+ var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
+
+ LadeWochenAnsichtNach(x,x.AddDays(5));
+ }//Rausnehmen ??
+ 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)
+ {
+ PfeilControll(-1);
+ }
+
+ private void PfeilRechtsDatumHoch_OnClick(object sender, RoutedEventArgs e)
+ {
+ PfeilControll(1);
+ }
+
+ private void PfeilControll(int i)
+ {
+ var dt = Datepicker.DateTime;
+
+ if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
+ {
+ var a = dt.Date.AddDays(i);
+
+ Datepicker.DateTime = a;
+ }
+ else
+ {
+ var x = dt.Date.AddDays(i * 7);
+
+ RenameColumnHeader(x);
+
+ Datepicker.DateTime = x;
+ }
+ }
+
+ private void RenameColumnHeader(DateTime dt)
+ {
+ DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
+
+ 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);
+
+
+ //add hier die header names das datum hinzu
+ foreach (var col in GridDataControlKlientenWochenansicht.Columns)
+ {
+ if (col.FieldName.Equals("Mo"))
+ {
+ col.Header = "Mo" + " " + montagDt.Date.Day + "." + montagDt.Date.Month;
+ }
+
+ if (col.FieldName.Equals("Di"))
+ {
+ col.Header = "Di" + " " + dienstagDt.Date.Day + "." + dienstagDt.Date.Month;
+ }
+
+ if (col.FieldName.Equals("Mi"))
+ {
+ col.Header = "Mi" + " " + mittwochDt.Date.Day + "." + mittwochDt.Date.Month;
+ }
+
+ if (col.FieldName.Equals("Do"))
+ {
+ col.Header = "Do" + " " + donnerstagDt.Date.Day + "." + donnerstagDt.Date.Month;
+ }
+
+ if (col.FieldName.Equals("Fr"))
+ {
+ col.Header = "Fr" + " " + freitagDt.Date.Day + "." + freitagDt.Date.Month;
+ }
+
+ if (col.FieldName.Equals("Sa"))
+ {
+ col.Header = "Sa" + " " + samstagDt.Date.Day + "." + samstagDt.Date.Month;
+ }
+ }
+
+ }
+
+ private void Datepicker_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
+ {
+ var dt = (DateTime)e.NewValue;
+
+ if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
+ {
+ Datelbl.Content = dt.ToString("dddd dd.MM.yyyy");
+
+ LadeTagesAnsichtNach(dt);
+ }
+ else
+ {
+ DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
+ DateTime enddt = startdt.AddDays(5);
+
+ if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
+ {
+ LadeWochenAnsichtNach(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");
+ }
+ }
+
+ private void SetAbwesenheiten()
+ {
+ var abwesenheiten = ServiceFacade.DoCustomerServiceSync(s => s.GetAllAbsenceReasons());
+
+ ComboBoxKlientVertretung.ItemsSource = abwesenheiten;
+ ComboBoxMitarbeiterVertretung.ItemsSource = abwesenheiten;
+
+ AbwesenheitsKategorieComboBox.ItemsSource = abwesenheiten;
+ }
+
+ private void SetAktuellesDate()
+ {
+ DateTime dt = DateTime.Now;
+ Datelbl.Content = dt.ToString("dddd dd.MM.yyyy");
+
+ //hole zuerst alle Daten
+ Datepicker.DateTime = dt;
+
+ //MitarbeiterVertretung
+ MVDatepickerVon.DateTime = dt;
+ MVDatepickerBis.DateTime = dt;
+
+ //KlientenVertretung
+ KVDatepickerVon.DateTime = dt;
+ KVDatepickerBis.DateTime = dt;
+
+ //ArbeitsUnfähigkeitsKrankmeldung Am
+ KrankMeldungMitarbeiterDatepicker.DateTime = dt;
+ KrankMeldungKlientDatepicker.DateTime = dt;
+ }
+ #endregion
+
+ }
+
+ //############## Rausnehmen
+#region Connectoren Letzte Ansicht Mitarbeiter Rausnehmen
+
+ //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/TagesAnsicht.cs b/BeWo/SchulbegleitenderDienst/TagesAnsicht.cs
new file mode 100644
index 000000000..673d11265
--- /dev/null
+++ b/BeWo/SchulbegleitenderDienst/TagesAnsicht.cs
@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BS.Shared;
+using BS.Shared.DataContracts;
+
+namespace BeWo.SchulbegleitenderDienst
+{
+ public class TagesAnsicht //---> muss Verbessert werden
+ {
+ public VertretungDC VertretungsDC { get; set; } // ---> Sicherheitsrisiko ??
+
+ //----------------------------------------------------------------
+ public AbsenceTimeDC AbsenceTimeDC { get; set; } // --> muss das sein ?
+
+
+ public DateTime StartD { get; set; }
+ public DateTime EndD { get; set; }
+
+ public Dictionary Wochentagsarbeitszeit { get; set; }
+
+ // KAnnn das nicht weg
+ public long Mitarbeiteroid { get; set; }
+ public long Klientoid { get; set; }
+ public long Vertreteroid { get; set; } // --> Nein muss nicht.
+ //----------------------------------------------------------------
+
+
+ public string Vertretung { get; set; }
+ public string Kunde { get; set; }
+ public string KrankerMitarbeiter { get; set; }
+ public AbsenceReasonDC AbwesenheitsKategorie { get; set; }
+ public DateTime KrankheitsMeldung { get; set; }
+ //public string MaFehlzeit { get; set; }
+ //public string KindFehlzeit { get; set; }
+ public string KrankheitsZeitraum { get; set; }
+ public string VertretungsZeitraum { get; set; }
+ public string Beschreibung { get; set; }
+ //public int ParentId { get; set; }
+ //public int Oid { get; set; }
+
+ //Farbe der Jeweiligen Zeile
+ public int IsKunde { get; set; }
+
+ public int IsMitarbeiter { get; set; }
+
+ //Villeicht mal schauen mal sehen
+ public string AbwesenheitsKategorieToString
+ {
+ get { return AbwesenheitsKategorie.Description; }
+ }
+
+ public string Arbeitszeit { get; set; }
+
+ public bool IsMitarbeiterKrank { get; set; }
+
+ public bool IsCustomerKrank { get; set; }
+
+ public string WochenansichtBemerkung { get; set; }
+ }
+}
diff --git a/BeWo/SchulbegleitenderDienst/TagesVertretung.cs b/BeWo/SchulbegleitenderDienst/TagesVertretung.cs
new file mode 100644
index 000000000..7fe5a6499
--- /dev/null
+++ b/BeWo/SchulbegleitenderDienst/TagesVertretung.cs
@@ -0,0 +1,412 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using BeWo.Core;
+using BeWo.ServiceProxy;
+using BeWo.View;
+using BeWo.ViewModel;
+using BS.Shared.DataContracts;
+using BS.Shared.DataContracts.Compact;
+
+namespace BeWo.SchulbegleitenderDienst
+{
+ class TagesVertretung
+ {
+ #region variablen
+
+ private SchulbegleitenderDienstBearbeitungsView _view;
+
+ private KrankheitsZeitraumView _krankView;
+
+ private List _items;
+
+ #endregion
+
+ #region Lade Tages Ansicht
+
+ public List VerarbeiteItemZuTagesAnsicht(VertretungsListeItemsDC item)
+ {
+ _items = new List();
+
+
+ int i = 0, y = 0;
+
+ if (!item.VertretenderMitarbeiter.Equals(""))
+ {
+ i = 1;
+ }
+
+ if (!item.EmployeeName.Equals(""))
+ {
+ y = 1;
+ }
+
+ if (item.Customer.Count != 0)
+ {
+
+ #region add Foreach Customers
+
+ foreach (var customer in item.Customer)
+ {
+ TagesAnsicht xyc = CreateSchulbegleitenderDienst(item, y);
+
+
+ if (item.Vertretung != null)
+ {
+ if (item.Vertretung.CustomerOid == customer.Key)
+ {
+ xyc = Vertretungsgedoense(xyc, item, i);
+
+ xyc.Vertreteroid = item.VertetenderMit;
+
+ }
+ else
+ {
+ xyc.Vertretung = "";
+ }
+
+ if (item.Vertretung.VertretenderMitarbeiterOid == 0)
+ {
+ xyc.IsKunde = 0;
+ }
+ }
+ else
+ {
+ xyc.IsKunde = 0;
+ xyc.Vertretung = "";
+ }
+
+ xyc.AbsenceTimeDC = item.Absencetime;
+ xyc.Mitarbeiteroid = item.EmployeeOid;
+ xyc.Klientoid = customer.Key;
+ xyc.Kunde = customer.Value;
+ xyc.WochenansichtBemerkung = item.WochenansichtBemerkung;
+ //xyc.Beschreibung = item.Bemerkung;//nur anzeigen wenn gewollt das man die Message Von der Krankmeldung sieht
+
+ if (item.EmployeeName.Equals(""))
+ {
+ i = 2;
+ xyc.IsKunde = i;
+
+ }
+
+ //neu
+ if (item.isMitarbeiterKrank)
+ {
+ xyc.IsMitarbeiterKrank = true;
+ xyc.IsKunde = 2;
+
+ // hier den Tag merken um auch für WOCHEN bereich die spalte orange zu machen
+
+ }
+
+ if (item.isCustomerKrank)
+ {
+ xyc.IsCustomerKrank = true;
+ xyc.IsKunde = 2;
+ }
+
+ //hier bereich zu abfrage Vertretung Gewünscht / nicht gewünscht
+ //################## Besser auf Server auslagern ?? #############################################
+ List custOid = new List();
+ custOid.Add(customer.Key);
+ var cus = ServiceFacade.DoCustomerServiceSync(r => r.GetCustomersById(custOid));
+
+ foreach (var c in cus)
+ {
+ // 1 für Grün | 0 für Rot
+ if (c.VertretungDringendErforderlich == false && c.VertretungGewuenscht == false)
+ {
+ //anzeige Grün machen
+ xyc.IsKunde = 1;
+ }
+ //else if (c.VertretungDringendErforderlich == false && c.VertretungGewuenscht == true)
+ //{
+ // // anzeige noral halten
+ // xyc.IsKunde = 2;
+ //}
+ //else if (c.VertretungDringendErforderlich == true && c.VertretungGewuenscht == true)
+ //{
+ // //anzeige normal halten
+ // xyc.IsKunde = 2;
+ //}
+ }
+
+ //############################
+
+ _items.Add(xyc);
+ }
+
+ #endregion
+ }
+ else
+ {
+ #region add without customer
+
+ TagesAnsicht xyc = CreateSchulbegleitenderDienst(item, y);
+
+ if (item.Vertretung != null)
+ {
+ xyc = Vertretungsgedoense(xyc, item, i);
+
+ // Vertretung zwar vorhanden aber ohne einem Vertreter
+ if (item.Vertretung.VertretenderMitarbeiterOid == 0)
+ {
+ xyc.IsKunde = 0;
+ }
+ }
+ else
+ {
+ xyc.IsKunde = 0;
+ xyc.Vertretung = "";
+ }
+
+ xyc.AbsenceTimeDC = item.Absencetime;
+ xyc.Vertreteroid = item.VertetenderMit;
+ xyc.Mitarbeiteroid = item.EmployeeOid;
+ xyc.WochenansichtBemerkung = item.WochenansichtBemerkung;
+ //xyc.Beschreibung = item.Bemerkung; //nur anzeigen wenn gewollt das man die Message Von der Krankmeldung sieht
+
+ xyc.Kunde = "";
+ xyc.Klientoid = 0;
+
+
+ if (item.EmployeeName.Equals(""))
+ {
+ i = 2;
+ xyc.IsKunde = i;
+ }
+
+
+
+ _items.Add(xyc);
+
+ #endregion
+ }
+
+ return _items;
+ }
+
+ private TagesAnsicht Vertretungsgedoense(TagesAnsicht xyc, VertretungsListeItemsDC item, int i)
+ {
+ if (item.Vertretung.VertretungsZeitraumVon.Date != item.Vertretung.VertretungsZeitraumBis.Date)
+ {
+ if (item.Vertretung.VertretungsZeitraumVon.Hour == 0 && item.Vertretung.VertretungsZeitraumVon.Minute == 0 &&
+ item.Vertretung.VertretungsZeitraumBis.Hour == 0 && item.Vertretung.VertretungsZeitraumBis.Minute == 0)
+ {
+ xyc.VertretungsZeitraum = item.Vertretung.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy") + " - " +
+ item.Vertretung.VertretungsZeitraumBis.Date.ToString("dd.MM.yyyy");
+ }
+ else
+ {
+ xyc.VertretungsZeitraum = item.Vertretung.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy HH:mm") + " - " +
+ item.Vertretung.VertretungsZeitraumBis.Date.ToString("dd.MM.yyyy HH:mm");
+ }
+ }
+ else
+ {
+ if (item.Vertretung.VertretungsZeitraumVon.Hour == 0 && item.Vertretung.VertretungsZeitraumVon.Minute == 0 &&
+ item.Vertretung.VertretungsZeitraumBis.Hour == 0 && item.Vertretung.VertretungsZeitraumBis.Minute == 0)
+ {
+ xyc.VertretungsZeitraum = item.Vertretung.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy");
+ }
+ else
+ {
+ xyc.VertretungsZeitraum = item.Vertretung.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy HH:mm") + " - " + item.Vertretung.VertretungsZeitraumBis.Date.ToString("HH:mm");
+ }
+ }
+
+ xyc.VertretungsDC = item.Vertretung;
+
+ xyc.Vertretung = item.VertretenderMitarbeiter;
+
+ xyc.IsKunde = i;
+
+ xyc.Beschreibung = item.Vertretung.Notice;
+
+ return xyc;
+ }
+
+ private TagesAnsicht CreateSchulbegleitenderDienst(VertretungsListeItemsDC item, int y)
+ {
+ TagesAnsicht xyc = new TagesAnsicht()
+ {
+ KrankheitsZeitraum = item.Krankheitszeitraum,
+ KrankerMitarbeiter = item.EmployeeName,
+ KrankheitsMeldung = item.Krankheitsmeldung,
+ IsMitarbeiter = y,
+ Arbeitszeit = item.Worktime,
+ Wochentagsarbeitszeit = item.Wochentagsarbeitszeit
+ };
+
+ if (item.Abwesenheitskategorie != null)
+ xyc.AbwesenheitsKategorie = item.Abwesenheitskategorie;
+
+ if (item.Absencetime.End != null && item.Absencetime.Start != null)
+ {
+ xyc.EndD = item.Absencetime.End.Value;
+ xyc.StartD = item.Absencetime.Start.Value;
+ }
+
+ return xyc;
+ }
+
+ #endregion
+
+ #region Adde Der Tagesansicht Eine Vertretung
+ public void AddeNeueTagesVertretung(TagesAnsicht a , DateTime dateTime)
+ {
+ if (a.Mitarbeiteroid != 0)
+ {
+ _view = new SchulbegleitenderDienstBearbeitungsView(1, a.StartD, a.EndD, dateTime, a.Klientoid,a,null,"");
+
+ _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, e.TagesItem);
+
+ _view.Close();
+ }
+
+ private void UpdateMitarbeiterToVertretung(CompactEmployeeDC employee, DateTime? startDate, DateTime? endDate, TagesAnsicht a)
+ {
+ 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
+ };
+
+
+ if (a.VertretungsDC != null)
+ {
+ vert.VertretungOid = a.VertretungsDC.VertretungOid;
+ ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
+ }
+ else
+ {
+ ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
+ }
+ }
+ #endregion
+
+ #region Delete KrankMeldung / Vertretung
+ public void DeleteKrankmeldung(TagesAnsicht a)
+ {
+ Dictionary ahh = new Dictionary();
+ ahh.Add(a.AbsenceTimeDC.AbsenceTimeOid.Value, a.AbsenceTimeDC.AbsenceTimeVersion.Value);
+
+ ServiceFacade.DoOperationsServiceSync(s => s.DeactivateAbsenceTime(ahh));
+
+ VertretungDC vert = new VertretungDC();
+
+ if (a.VertretungsDC != null)
+ {
+ vert = a.VertretungsDC;
+ ServiceFacade.DoOperationsServiceSync(s => s.DeleteVertretung(vert.VertretungOid.Value));
+ }
+ }
+
+ public void DeleteVertretung(TagesAnsicht a)
+ {
+ VertretungDC vert = new VertretungDC();
+
+ if (a.VertretungsDC != null)
+ {
+ vert = a.VertretungsDC;
+ ServiceFacade.DoOperationsServiceSync(s => s.DeleteVertretung(vert.VertretungOid.Value));
+ }
+ }
+ #endregion
+
+ #region KrankheitsZeitraum Bearbeiten
+
+ public void KrankMeldeZeitraumBearbeiten(TagesAnsicht a)
+ {
+ _krankView = new KrankheitsZeitraumView(a.StartD, a.EndD,a);
+
+ _krankView.RaiseCustomEvent += new EventHandler(newWindowKrankzeitraum_RaiseCustomEvent);
+ _krankView.ShowDialog();
+ }
+
+ private void newWindowKrankzeitraum_RaiseCustomEvent(object sender, KrankheitsEventArgs e)
+ {
+ UpdateKrankheitsZeitraum(e.Start, e.Ende,e.TagesItem);
+
+ _krankView.Close();
+ }
+
+ private void UpdateKrankheitsZeitraum(DateTime startZeit, DateTime endZeit, TagesAnsicht ab)
+ {
+ ab.AbsenceTimeDC.Start = startZeit;
+ ab.AbsenceTimeDC.End = endZeit;
+
+ List a = new List();
+
+ a.Add(ab.AbsenceTimeDC);
+
+ ServiceFacade.DoCustomerServiceSync(s => s.UpdateAbsenceTimes(a));
+ }
+
+ #endregion
+
+ #region Update das Bearbeitete Item (Row)
+
+ public void UpdateRowData(TagesAnsicht a)
+ {
+ AbsenceTimeDC abstime = new AbsenceTimeDC()
+ {
+ AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid,
+ Start = a.StartD,
+ End = a.EndD,
+ Reason = a.AbwesenheitsKategorie,
+ KrankheitsMeldung = a.KrankheitsMeldung
+ };
+
+ VertretungDC vert = new VertretungDC()
+ {
+ CustomerOid = a.Klientoid,
+ EmployeeOid = a.Mitarbeiteroid,
+
+ AbsenceTimeOid = a.AbsenceTimeDC.AbsenceTimeOid,
+ VertretenderMitarbeiterOid = a.Vertreteroid,
+ Notice = a.Beschreibung
+ };
+
+ vert.VertretungsZeitraumVon = a.StartD;
+ vert.VertretungsZeitraumBis = a.EndD;
+
+ if (a.VertretungsDC != null)
+ {
+ vert.VertretungOid = a.VertretungsDC.VertretungOid;
+
+ ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretungAndAbsenceTime(vert, abstime));
+ }
+ else
+ {
+ ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
+
+ ServiceFacade.DoOperationsServiceSync(s => s.UpdateAbsenceTime(abstime));
+ }
+ }
+
+ #endregion
+
+
+ }
+}
diff --git a/BeWo/SchulbegleitenderDienst/WochenAnsicht.cs b/BeWo/SchulbegleitenderDienst/WochenAnsicht.cs
new file mode 100644
index 000000000..389f8123b
--- /dev/null
+++ b/BeWo/SchulbegleitenderDienst/WochenAnsicht.cs
@@ -0,0 +1,61 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BeWo.SchulbegleitenderDienst
+{
+ public class WochenAnsicht
+ {
+ //public long? VertretungsOid { get; set; }
+ public string MaFrei { get; set; }
+ public string MaKrank { get; set; }
+ public string Kind { get; set; }
+
+ public bool IsMitarbeiterKrank { get; set; }
+
+ public bool isCustomerKrank { get; set; }
+
+ public string Bemerkung { get; set; }
+
+ public string WochenBeschreibung { get; set; }
+
+
+ //Fürs WPF Klient Wochenanzeige
+ public string VertretungMo { get; set; }
+ public string VertretungDi { get; set; }
+ public string VertretungMi { get; set; }
+ public string VertretungDo { get; set; }
+ public string VertretungFr { get; set; }
+ public string VertretungSa { 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; }
+
+ //KlientenView
+ public Dictionary> VertretungsWoche { 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; }
+
+ //MitarbeiterView
+ public Dictionary> KlientvertretungsWoche { get; set; }
+
+
+
+
+ }
+}
diff --git a/BeWo/SchulbegleitenderDienst/WochenVertretung.cs b/BeWo/SchulbegleitenderDienst/WochenVertretung.cs
new file mode 100644
index 000000000..ead9481d2
--- /dev/null
+++ b/BeWo/SchulbegleitenderDienst/WochenVertretung.cs
@@ -0,0 +1,580 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using BeWo.ServiceProxy;
+using BS.Shared;
+using BS.Shared.DataContracts;
+using BS.Shared.DataContracts.Compact;
+using BS.Shared.Extensions;
+using DevExpress.Xpf.Grid;
+
+namespace BeWo.SchulbegleitenderDienst
+{
+ class WochenVertretung
+ {
+ #region variablen
+
+ private SchulbegleitenderDienstBearbeitungsView _view;
+
+ private Dictionary> a;
+
+ private Dictionary> klientb;
+
+ #endregion
+
+ #region Lade Wochen Ansicht
+
+ public Dictionary> GetWochenAnsichtFromItems(DateTime time,List _items)
+ {
+ List _itemsWochen = new List();
+ List _itemsWochenKrankerMitarbeiter = new List();
+
+ DateTime dt = time;
+
+ DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
+
+ foreach (var item in _items)
+ {
+ a = new Dictionary>();
+
+ klientb = new Dictionary>();
+
+ DateTime anfangDt;
+ DateTime endeDt;
+
+ anfangDt = item.StartD;
+ endeDt = item.EndD;
+
+ 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);
+
+
+ WochenAnsicht wwk = new WochenAnsicht()
+ {
+ MaKrank = item.KrankerMitarbeiter,
+ Kind = item.Kunde,
+ MaFrei = item.Vertretung,
+ WochenBeschreibung = item.WochenansichtBemerkung,
+ //Bemerkung = item.Beschreibung
+
+ };
+
+ // 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;
+
+ wwk.KlientvertretungsWoche = klientb;
+
+
+
+ //Abfrage für Klienten Krank
+ if (wwk.IsMitarbeiterKrank)
+ {
+ _itemsWochenKrankerMitarbeiter.Add(wwk);
+ }
+ else
+ {
+ _itemsWochen.Add(wwk);
+ }
+
+ }
+
+ Dictionary> dic = new Dictionary>();
+
+ dic.Add("_itemsWochenKrankerMitarbeiter", _itemsWochenKrankerMitarbeiter);
+ dic.Add("_itemsWochen", _itemsWochen);
+
+ return dic;
+ }
+
+ private WochenAnsicht WochentagVerarbeitung(DateTime anfangDt, DateTime endeDt, DateTime wochentagDt, TagesAnsicht item, string vertretungstag, string einsetzungstag, WochenAnsicht wwk, int i)
+ {
+ if (anfangDt.Date <= wochentagDt && wochentagDt <= endeDt.Date)
+ {
+ if (item.VertretungsDC != null)
+ {
+ if (item.VertretungsDC.VertretungsZeitraumVon.Date <= wochentagDt.Date &&
+ item.VertretungsDC.VertretungsZeitraumBis.Date >= wochentagDt.Date)
+ {
+ Dictionary sa = new Dictionary();
+ sa.Add(wochentagDt, item); // item.vertreteroid
+
+ a.Add(vertretungstag, sa);
+ klientb.Add(einsetzungstag, sa);
+
+ switch (i)
+ {
+ case 0:
+ if (item.IsCustomerKrank)
+ {
+ wwk.isCustomerKrank = true;
+ }
+ else
+ {
+ wwk.VertretungMo = item.Vertretung;
+ }
+ // wwk.EingesetztBeiMo = item.Kunde;
+ wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 1:
+ if (item.IsCustomerKrank)
+ {
+ wwk.isCustomerKrank = true;
+ }
+ else
+ {
+ wwk.VertretungDi = item.Vertretung;
+ }
+ // wwk.EingesetztBeiDi = item.Kunde;
+ wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 2:
+ if (item.IsCustomerKrank)
+ {
+ wwk.isCustomerKrank = true;
+ }
+ else
+ {
+ wwk.VertretungMi = item.Vertretung;
+ }
+ // wwk.EingesetztBeiMi = item.Kunde;
+ wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 3:
+ if (item.IsCustomerKrank)
+ {
+ wwk.isCustomerKrank = true;
+ }
+ else
+ {
+ wwk.VertretungDo = item.Vertretung;
+ }
+ // wwk.EingesetztBeiDo = item.Kunde;
+ wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 4:
+ if (item.IsCustomerKrank)
+ {
+ wwk.isCustomerKrank = true;
+ }
+ else
+ {
+ wwk.VertretungFr = item.Vertretung;
+ }
+ // wwk.EingesetztBeiFr = item.Kunde;
+ wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 5:
+ if (item.IsCustomerKrank)
+ {
+ wwk.isCustomerKrank = true;
+ }
+ else
+ {
+ wwk.VertretungSa = item.Vertretung;
+ }
+ // wwk.EingesetztBeiSa = item.Kunde;
+ wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ }
+
+ }
+ else
+ {
+ switch (i)
+ {
+ case 0:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungMo = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+ }
+ else
+ {
+ wwk.VertretungMo = "";
+ }
+ // wwk.EingesetztBeiMo = "";
+ wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 1:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungDi = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+ }
+ else
+ {
+ wwk.VertretungDi = "";
+ }
+ wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ // wwk.EingesetztBeiDi = "";
+ break;
+ case 2:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungMi = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+ }
+ else
+ {
+ wwk.VertretungMi = " ";
+ }
+ wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+
+ // wwk.EingesetztBeiMi = "";
+ break;
+ case 3:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungDo = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+ }
+ else
+ {
+ wwk.VertretungDo = "";
+ }
+ wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ //wwk.EingesetztBeiDo = "";
+ break;
+ case 4:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungFr = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+ }
+ else
+ {
+ wwk.VertretungFr = "";
+ }
+ wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ // wwk.EingesetztBeiFr = "";
+ break;
+ case 5:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungSa = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+ }
+ else
+ {
+ wwk.VertretungSa = "";
+ }
+ wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ // 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:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungMo = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+ }
+ else
+ {
+ wwk.VertretungMo = item.Vertretung;
+ }
+ // wwk.EingesetztBeiMo = item.Kunde;
+ wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 1:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungDi = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+
+ }
+ else
+ {
+ wwk.VertretungDi = item.Vertretung;
+ }
+ // wwk.EingesetztBeiDi = item.Kunde;
+ wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 2:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungMi = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+
+ }
+ else
+ {
+ wwk.VertretungMi = item.Vertretung;
+ }
+ // wwk.EingesetztBeiMi = item.Kunde;
+ wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 3:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungDo = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+
+ }
+ else
+ {
+ wwk.VertretungDo = item.Vertretung;
+ }
+ // wwk.EingesetztBeiDo = item.Kunde;
+ wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 4:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungFr = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+
+ }
+ else
+ {
+ wwk.VertretungFr = item.Vertretung;
+ }
+ // wwk.EingesetztBeiFr = item.Kunde;
+ wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ case 5:
+ if (item.IsMitarbeiterKrank)
+ {
+ wwk.VertretungSa = " ";
+ //wwk.isCustomerKrank = true;
+ wwk.IsMitarbeiterKrank = true;
+
+ }
+ else
+ {
+ wwk.VertretungSa = item.Vertretung;
+ }
+ // wwk.EingesetztBeiSa = item.Kunde;
+ wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ break;
+ }
+ }
+ }
+ else
+ {
+ switch (i)
+ {
+ case 0:
+ wwk.VertretungMo = " ";
+ wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ // wwk.EingesetztBeiMo = " ";
+ break;
+ case 1:
+ wwk.VertretungDi = " ";
+ wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ // wwk.EingesetztBeiDi = " ";
+ break;
+ case 2:
+ wwk.VertretungMi = " ";
+ wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ // wwk.EingesetztBeiMi = " ";
+ break;
+ case 3:
+ wwk.VertretungDo = " ";
+ wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ // wwk.EingesetztBeiDo = " ";
+ break;
+ case 4:
+ wwk.VertretungFr = " ";
+ wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ // wwk.EingesetztBeiFr = " ";
+ break;
+ case 5:
+ wwk.VertretungSa = " ";
+ wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
+ // wwk.EingesetztBeiSa = " ";
+ break;
+ }
+
+ }
+
+ return wwk;
+
+
+ }
+
+ private string WochenanzeigeHinzufügen(DateTime dayOfWeekDateTime, Dictionary wochentagsarbeitszeit)
+ {
+ if (wochentagsarbeitszeit.Count != 0)
+ {
+ foreach (var wa in wochentagsarbeitszeit)
+ {
+ if ((int)wa.Key + 1 == (int)dayOfWeekDateTime.DayOfWeek)
+ {
+ return wa.Value;
+ }
+ }
+ }
+
+ return "";
+ }
+
+ #endregion
+
+ #region Adde der WochenAnsicht einen Vertreter
+
+ public void AddeNeueVertretungforWochenAnsicht(WochenAnsicht a,string tag, DateTime dateTime)
+ {
+ if (!a.IsMitarbeiterKrank)
+ {
+ VertretungDC vertretung = new VertretungDC();
+ AbsenceTimeDC absenceTime = new AbsenceTimeDC();
+ foreach (var vert in a.KlientvertretungsWoche)
+ {
+ if (vert.Key.Equals(tag))
+ {
+ foreach (var val in vert.Value)
+ {
+ vertretung = val.Value.VertretungsDC;
+ absenceTime = val.Value.AbsenceTimeDC;
+ }
+ }
+ }
+
+ if (!a.MaKrank.Equals(""))
+ {
+ _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End,
+ dateTime, vertretung.CustomerOid, null, a,tag);
+
+ _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent);
+ _view.ShowDialog();
+ }
+ else
+ {
+ MessageBox.Show("Fehler");
+ }
+ }
+ else
+ {
+ MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen.", "Info");
+ }
+ }
+
+ private void KlientenWochen_RaiseCustomEvent(object sender, CustomEventArgs e)
+ {
+ UpdateMitarbeiterToVertretungKlientenWochenansicht(e.Message, e.StartDate, e.EndDate,e.WochenItem,e.WochenTag);
+
+ _view.Close();
+ }
+
+ private void UpdateMitarbeiterToVertretungKlientenWochenansicht(CompactEmployeeDC employee, DateTime? startDate, DateTime? endDate, WochenAnsicht a, string tag)
+ {
+ foreach (var woche in a.VertretungsWoche)
+ {
+ if (woche.Key.Equals(tag))
+ {
+ foreach (var item in woche.Value)
+ {
+ VertretungDC vert = new VertretungDC()
+ {
+ CustomerOid = item.Value.Klientoid,
+ AbsenceTimeOid = item.Value.AbsenceTimeDC.AbsenceTimeOid.Value,
+ VertretungsZeitraumVon = startDate.Value,
+ VertretungsZeitraumBis = endDate.Value,
+ VertretenderMitarbeiterOid = employee.EmployeeOid,
+ EmployeeOid = item.Value.Mitarbeiteroid,
+ Notice = item.Value.Beschreibung,
+ };
+
+
+
+ if (item.Value.VertretungsDC != null)
+ {
+ //hier irgendwann ermöglichen dass eine bereits vorhandener vertretungszeitraum / also ein teil davon nochmals abgesplittet werden kann.
+
+ vert.VertretungOid = item.Value.VertretungsDC.VertretungOid;
+ vert.VertretenderMitarbeiterOid = employee.EmployeeOid;
+ vert.VertretungsZeitraumVon = item.Value.VertretungsDC.VertretungsZeitraumVon;
+ vert.VertretungsZeitraumBis = item.Value.VertretungsDC.VertretungsZeitraumBis;
+
+ ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
+ }
+ else
+ {
+ //ggf. ermöglichen das nicht der ganze zeitraum gesetzt wird.
+ //zur zeit wird hier die Gesamte Krankheitszeit übernommen
+ ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
+ }
+ }
+ }
+ }
+ }
+
+ #endregion
+
+ #region Delete Vertretenden Mitarbeiter
+
+ public void DeletVertretendenMitarbeiter(WochenAnsicht a, string _deletVertretungsWeek)
+ {
+ foreach (var wochentag in a.VertretungsWoche)
+ {
+ if (wochentag.Key.Equals(_deletVertretungsWeek))
+ {
+ _deletVertretungsWeek = "";
+ foreach (var item in wochentag.Value)
+ {
+ if (item.Key != null)
+ {
+ if (!item.Value.Vertretung.Equals(""))
+ {
+ ServiceFacade.DoOperationsServiceSync(s => s.DeleteVertretung(item.Value.VertretungsDC.VertretungOid.Value));
+ }
+ }
+ }
+ }
+ }
+ }
+
+ #endregion
+
+ }
+}
diff --git a/BeWo/View/Detail/CustomerView.xaml.cs b/BeWo/View/Detail/CustomerView.xaml.cs
index bbde8b780..18fdfb612 100644
--- a/BeWo/View/Detail/CustomerView.xaml.cs
+++ b/BeWo/View/Detail/CustomerView.xaml.cs
@@ -30,6 +30,7 @@ using DevExpress.Xpf.Grid;
using System.Windows.Media.Imaging;
using BeWo.ownChat;
+using BeWo.SchulbegleitenderDienst;
using BS.Shared.Translation;
using DevExpress.XtraGrid;
using Binding = System.Windows.Data.Binding;
@@ -1053,7 +1054,7 @@ namespace BeWo.View.Detail
{
if (tabitem_schuldienst.Content == null)
{
- tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.CustomerOid.Value, SchulbegleitenderZugehoerigkeitsTyp.Klient);
+ tabitem_schuldienst.Content = new SchulbegleitenderDienstView(TableID.Customer, ViewModel.DataContract.CustomerOid.Value, SchulbegleitenderZugehoerigkeitsTyp.Klient);
}
}
diff --git a/BeWo/View/Detail/EmployeeView.xaml.cs b/BeWo/View/Detail/EmployeeView.xaml.cs
index b067179d6..6265e2319 100644
--- a/BeWo/View/Detail/EmployeeView.xaml.cs
+++ b/BeWo/View/Detail/EmployeeView.xaml.cs
@@ -13,6 +13,7 @@ using System.Windows.Media.Imaging;
using BeWo.Core;
using BeWo.Core.Service;
using BeWo.ownChat;
+using BeWo.SchulbegleitenderDienst;
using BeWo.ServiceProxy;
using BeWo.Validation;
using BeWo.ViewModel;
@@ -469,7 +470,7 @@ namespace BeWo.View.Detail
{
if (tabitem_schuldienst.Content == null)
{
- tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.EmployeeOid.Value, SchulbegleitenderZugehoerigkeitsTyp.Mitarbeiter);
+ tabitem_schuldienst.Content = new SchulbegleitenderDienstView(TableID.Customer, ViewModel.DataContract.EmployeeOid.Value, SchulbegleitenderZugehoerigkeitsTyp.Mitarbeiter);
}
}
diff --git a/BeWo/View/Master/SchulbegleitenderDienstMasterView.xaml b/BeWo/View/Master/SchulbegleitenderDienstMasterView.xaml
index 215aa5b15..27ce68e0d 100644
--- a/BeWo/View/Master/SchulbegleitenderDienstMasterView.xaml
+++ b/BeWo/View/Master/SchulbegleitenderDienstMasterView.xaml
@@ -7,7 +7,7 @@
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
-
+
diff --git a/BeWo/View/Master/SchulbegleitenderDienstMasterView.xaml.cs b/BeWo/View/Master/SchulbegleitenderDienstMasterView.xaml.cs
index c6e447332..b3c5570bc 100644
--- a/BeWo/View/Master/SchulbegleitenderDienstMasterView.xaml.cs
+++ b/BeWo/View/Master/SchulbegleitenderDienstMasterView.xaml.cs
@@ -9,7 +9,7 @@ namespace BeWo.View.Master
{
public partial class SchulbegleitenderDienstMasterView
{
- public NewSchulbegleitenderDienstView NewSchulBeleitDienstView;
+ public SchulbegleitenderVertretungsDienstMainView NewSchulBeleitDienstView;
public SchulbegleitenderDienstMasterView()
{
@@ -26,7 +26,7 @@ namespace BeWo.View.Master
}
//Problem NachSchauen
- NewSchulBeleitDienstView = Resources["NewSchulbegleitenderDienstMain"] as NewSchulbegleitenderDienstView;
+ NewSchulBeleitDienstView = Resources["NewSchulbegleitenderDienstMain"] as SchulbegleitenderVertretungsDienstMainView;
if (NewSchulBeleitDienstView == null)
{
diff --git a/BeWo/View/Navigation/SupportConceptNavigationView.xaml.cs b/BeWo/View/Navigation/SupportConceptNavigationView.xaml.cs
index fa21d7ca9..0753cf0c8 100644
--- a/BeWo/View/Navigation/SupportConceptNavigationView.xaml.cs
+++ b/BeWo/View/Navigation/SupportConceptNavigationView.xaml.cs
@@ -63,7 +63,7 @@ namespace BeWo.View.Navigation
this.chkShowOnlyTeamSCs.Foreground = b;
}
- if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.SupportConcept_ViewAllSupportConcepts) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll) && BeWoApp.LoggedOnUser.HasRight(UserRightType.SupportConcept_View MyTeams))
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.SupportConcept_ViewAllSupportConcepts) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll) && BeWoApp.LoggedOnUser.HasRight(UserRightType.SupportConcept_ViewMyTeams))
{
this.chkShowOnlyMySCs.IsChecked = true;
this.chkShowOnlyMySCs.IsEnabled = false;
diff --git a/BeWo/ownChat/ChatServiceCustomer.xaml.cs b/BeWo/ownChat/ChatServiceCustomer.xaml.cs
index d1f15ae80..d331d94d4 100644
--- a/BeWo/ownChat/ChatServiceCustomer.xaml.cs
+++ b/BeWo/ownChat/ChatServiceCustomer.xaml.cs
@@ -349,7 +349,7 @@ namespace BeWo.ownChat
}
#endregion
- #region pdf // auf den server auslagern und als byte[] zurück geben
+ #region pdf // auf den server auslagern und als byte[] zurück geben und hier verarbeiten
private void ZeigeHandoutPDF_OnClick(object sender, RoutedEventArgs e)
{
StartWaiting();