diff --git a/BeWo.sln b/BeWo.sln
index 8ec5b989f..dd8525bd0 100644
--- a/BeWo.sln
+++ b/BeWo.sln
@@ -369,6 +369,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BetreuungsBueroScholzReport
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BAPBielefelderAmbulantePflege", "ReportImp\BAPBielefelderAmbulantePflege\BAPBielefelderAmbulantePflege.csproj", "{7A7E980E-447C-444C-B43B-A23A20F52C02}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LebenshilfeMannheimEV", "ReportImp\LebenshilfeMannheimEV\LebenshilfeMannheimEV.csproj", "{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -2728,6 +2730,18 @@ Global
{7A7E980E-447C-444C-B43B-A23A20F52C02}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7A7E980E-447C-444C-B43B-A23A20F52C02}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7A7E980E-447C-444C-B43B-A23A20F52C02}.Release|x86.ActiveCfg = Release|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|.NET.ActiveCfg = Debug|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|.NET.ActiveCfg = Release|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -2908,5 +2922,6 @@ Global
{56D310FE-DB98-4EFE-8527-DF94628657F8} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{606566D9-B8B5-4522-A2B4-175F4BCE98DD} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{7A7E980E-447C-444C-B43B-A23A20F52C02} = {D8A691C5-146D-4613-86CC-438F02FE9106}
+ {0FDF87A6-B39E-4494-AE31-0CE302D8BA80} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
EndGlobal
diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj
index a55204e7c..a36d349ec 100644
--- a/BeWo/BeWo.csproj
+++ b/BeWo/BeWo.csproj
@@ -182,6 +182,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
MSBuild:Compile
Designer
@@ -432,6 +436,10 @@
MSBuild:Compile
Designer
+
+ MSBuild:Compile
+ Designer
+
MSBuild:Compile
Designer
@@ -534,6 +542,9 @@
ProxyLoginView.xaml
+
+ KrankheitsZeitraumView.xaml
+
SchulbegleitenderDienstBearbeitungsView.xaml
@@ -623,7 +634,11 @@
+
+
+
+
@@ -823,6 +838,9 @@
ChatEmojisView.xaml
+
+ EmployeeArbeitszeitView.xaml
+
SchulbegleitenderDienstCustomer.xaml
diff --git a/BeWo/MainControl.xaml b/BeWo/MainControl.xaml
index 842144f26..30e0bc6bf 100644
--- a/BeWo/MainControl.xaml
+++ b/BeWo/MainControl.xaml
@@ -247,7 +247,7 @@
-
+
diff --git a/BeWo/Scheduler/View/NewSchedulerView.xaml.cs b/BeWo/Scheduler/View/NewSchedulerView.xaml.cs
index 2a0ad8f3c..19af5f7ff 100644
--- a/BeWo/Scheduler/View/NewSchedulerView.xaml.cs
+++ b/BeWo/Scheduler/View/NewSchedulerView.xaml.cs
@@ -1464,8 +1464,6 @@ namespace BeWo.Scheduler.View
OnPropertyChanged("SelectedEmployees");
OnPropertyChanged("SelectedItems");
OnPropertyChanged("ViewModel");
-
- Scheduler.ActiveView.LayoutChanged();
}
//private void ExportAsiCal(object sender, RoutedEventArgs e)
diff --git a/BeWo/Scheduler/ViewModel/NewSchedulerViewModel.cs b/BeWo/Scheduler/ViewModel/NewSchedulerViewModel.cs
index b49b61905..c6b55ce6e 100644
--- a/BeWo/Scheduler/ViewModel/NewSchedulerViewModel.cs
+++ b/BeWo/Scheduler/ViewModel/NewSchedulerViewModel.cs
@@ -30,11 +30,13 @@ namespace BeWo.Scheduler.ViewModel
set
{
if(value != null)
- {
+ {
mActiveAppointmentViewModel = value;
- if(ViewModelChanged != null)
+ if (ViewModelChanged != null)
+ {
ViewModelChanged.Invoke(this, new EventArgs(value));
+ }
}
}
}
diff --git a/BeWo/SchulbegleitenderDienst/KrankheitsZeitraumView.xaml b/BeWo/SchulbegleitenderDienst/KrankheitsZeitraumView.xaml
new file mode 100644
index 000000000..c4b9de825
--- /dev/null
+++ b/BeWo/SchulbegleitenderDienst/KrankheitsZeitraumView.xaml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeWo/SchulbegleitenderDienst/KrankheitsZeitraumView.xaml.cs b/BeWo/SchulbegleitenderDienst/KrankheitsZeitraumView.xaml.cs
new file mode 100644
index 000000000..45830fb56
--- /dev/null
+++ b/BeWo/SchulbegleitenderDienst/KrankheitsZeitraumView.xaml.cs
@@ -0,0 +1,95 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace BeWo.SchulbegleitenderDienst
+{
+ ///
+ /// Interaktionslogik für KrankheitsZeitraumView.xaml
+ ///
+ public partial class KrankheitsZeitraumView : Window
+ {
+
+ public event EventHandler RaiseCustomEvent;
+ public KrankheitsZeitraumView( DateTime start,DateTime ende)
+ {
+ InitializeComponent();
+
+ DateVon.EditValue = start;
+ DateBis.EditValue = ende;
+
+
+
+ CloseWindow();
+ }
+
+
+ private void RootGroupBox_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+ {
+ try
+ {
+ DragMove();
+ }
+ catch (Exception)
+ {
+ }
+ }
+
+ public void CloseWindow()
+ {
+ CommandBindings.Add(
+ new CommandBinding(
+ ApplicationCommands.Close,
+ (s, e) =>
+ {
+ Close();
+ }));
+ }
+
+
+
+ public void RaisEvent_OnClick(object sender, RoutedEventArgs e)
+ {
+ var a = DateVon.DateTime;
+ var b = DateBis.DateTime;
+
+
+ RaiseCustomEvent(this, new KrankheitsEventArgs(a,b));
+ }
+
+ private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
+ {
+ Close();
+ }
+ }
+
+ public class KrankheitsEventArgs : EventArgs
+ {
+ public KrankheitsEventArgs(DateTime s, DateTime e)
+ {
+ _start = s;
+ _end = e;
+ }
+
+ private DateTime _start;
+ private DateTime _end;
+
+ public DateTime Start
+ {
+ get { return _start; }
+ }
+ public DateTime Ende
+ {
+ get { return _end; }
+ }
+ }
+}
diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
index eb88cdc3a..c4cffa469 100644
--- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
+++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
@@ -6,8 +6,7 @@
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxsch="http://schemas.devexpress.com/winfx/2008/xaml/scheduler"
- xmlns:dxschint="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/internal"
- xmlns:dxschui="clr-namespace:DevExpress.Xpf.Scheduler.Drawing;assembly=DevExpress.Xpf.Scheduler.v13.1"
+ xmlns:dxschint="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/internal"
xmlns:dxscht="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/themekeys"
xmlns:view="clr-namespace:BeWo.Scheduler.View"
xmlns:converter="clr-namespace:BeWo.Converter"
@@ -58,7 +57,7 @@
-
+
@@ -71,17 +70,24 @@
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
@@ -248,7 +253,7 @@
-
+
-
+
+
+
+
-
+
-
+
-
+
@@ -368,15 +396,29 @@
+
+
+
-
+
-
+
-
+
@@ -384,15 +426,29 @@
+
+
+
-
+
-
+
-
+
@@ -400,15 +456,29 @@
+
+
+
-
+
-
+
-
+
@@ -416,15 +486,29 @@
+
+
+
-
+
-
+
-
+
@@ -432,22 +516,36 @@
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -476,12 +574,26 @@
-
+
+
+
+
-
+
-
+
@@ -493,11 +605,26 @@
+
+
+
-
+
-
+
@@ -509,11 +636,25 @@
+
+
+
-
+
-
+
@@ -525,11 +666,26 @@
+
+
+
-
+
-
+
@@ -541,11 +697,26 @@
+
+
+
-
+
-
+
@@ -557,11 +728,26 @@
+
+
+
-
-
+
+
@@ -647,12 +833,12 @@
+ Closed="popup_Closed" Opened="popup_Opened">
+ Closed="popup_Closed" Opened="popup_Opened">
diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
index dfdb2e8b8..ae105b507 100644
--- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
+++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
@@ -58,8 +58,16 @@ namespace BeWo.SchulbegleitenderDienst
private List itemsWochen = new List();
+
+
private SchulbegleitenderDienstBearbeitungsView view = null;
+ private KrankheitsZeitraumView krankView = null;
+
+ private string mitarbeiterVertretungWocheninfo = "";
+
+ private string deletVertretungsWeek = "";
+
//private VertretungVM _ViewModel; die klasse sollte genutzt werden um
public NewSchulbegleitenderDienstView()
@@ -118,33 +126,55 @@ namespace BeWo.SchulbegleitenderDienst
public void GetAllVertretungenOnLoad(DateTime AusgewähltesDatum)
{
items.Clear();
+
ServiceFacade.DoOperationsServiceAsync(s => s.VertretungsListe(AusgewähltesDatum),r =>{
List VorhandeneAbsenceTimeOidListe = new List();
+
+
+ #region Füge Der Liste Alle Vertretungen Hinzu inkl. Der Dazu Gehörigen AbsenceTimes
+
foreach (var vertritt in r.Vertretungsliste)
{
+ string worktime = "";
string employeeName = "";
List customerName = new List();
string krankheitszeitraum = "";
AbsenceReasonDC abwesenheitskategorie = new AbsenceReasonDC();
var VertretenderMitarbeiter = "";
DateTime Krankheitsmeldung = new DateTime();
+ AbsenceTimeDC absencetimeOid = new AbsenceTimeDC();
+ long vertetenderMit = 0;
+ long employeeOid = 0;
+ List customerOid = new List();
- if (vertritt.VertretungsZeitraumVon.Date <= AusgewähltesDatum.Date && vertritt.VertretungsZeitraumBis.Date >= AusgewähltesDatum.Date)
+ Dictionary wochentagsarbeitszeit = new Dictionary();
+
+
+
+ Dictionary customer = new Dictionary();
+
+ if (vertritt.VertretungsZeitraumVon.Date <= AusgewähltesDatum.Date && vertritt.VertretungsZeitraumBis.Date >= AusgewähltesDatum.Date )//||
+ //vertritt.VertretungsZeitraumVon.Date >= AusgewähltesDatum.Date && vertritt.VertretungsZeitraumBis.Date <= AusgewähltesDatum.Date ||
+ //vertritt.VertretungsZeitraumVon.Date >= AusgewähltesDatum.Date && vertritt.VertretungsZeitraumBis.Date >= AusgewähltesDatum.Date ) // hier ein logic ding fehlt
{
foreach (var mit in r.Employeesliste)
{
if (vertritt.EmployeeOid == mit.EmployeeOid)
{
employeeName = mit.FirstName + " " + mit.LastName;
+
+ employeeOid = mit.EmployeeOid;
}
if (vertritt.VertretenderMitarbeiterOid == mit.EmployeeOid)
{
VertretenderMitarbeiter = mit.FirstName + " " + mit.LastName;
+
+ vertetenderMit = mit.EmployeeOid;
}
foreach (var hauptbetreuung in r.Employee2CustomerHauptbetreuung)
@@ -157,7 +187,9 @@ namespace BeWo.SchulbegleitenderDienst
{
if (val == cust.CustomerOid)
{
- customerName.Add(cust.FullName);
+ //customerName.Add(cust.FullName);
+ //customerOid.Add(cust.CustomerOid);
+ customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
@@ -170,32 +202,107 @@ namespace BeWo.SchulbegleitenderDienst
if (vertritt.AbsenceTimeOid == ab.AbsenceTimeOid)
{
abwesenheitskategorie = ab.Reason;
- krankheitszeitraum = ab.Start.Value.ToString("dd.MM.yyyy")+ " - " + ab.End.Value.ToString("dd.MM.yyyy");
-
+
+ if (ab.Start.Value != ab.End.Value)
+ krankheitszeitraum = ab.Start.Value.ToString("dd.MM.yyyy")+ " - " + ab.End.Value.ToString("dd.MM.yyyy");
+ else
+ krankheitszeitraum = ab.Start.Value.ToString("dd.MM.yyyy");
+
VorhandeneAbsenceTimeOidListe.Add(ab.AbsenceTimeOid.Value);
if (ab.KrankheitsMeldung != null)
Krankheitsmeldung = ab.KrankheitsMeldung.Value;
else
Krankheitsmeldung = ab.Start.Value;
+
+ absencetimeOid = ab;
+
+ foreach (var arbeitszeit in r.Arbeitszeitliste)
+ {
+ if (vertritt.EmployeeOid == arbeitszeit.EmployeeOid)
+ {
+ if (arbeitszeit.GueltigVon.Value.Date <= ab.Start.Value.Date &&
+ arbeitszeit.GueltigBis.Value.Date <= ab.End.Value.Date ||
+ arbeitszeit.GueltigVon.Value.Date <= ab.Start.Value.Date &&
+ arbeitszeit.GueltigBis.Value.Date >= ab.End.Value.Date)
+ {
+ foreach (var eintrag in arbeitszeit.Eintraege)
+ {
+ if ((int)AusgewähltesDatum.DayOfWeek == (int)eintrag.Tag + 1)
+ {
+ if (!String.IsNullOrEmpty(worktime))
+ {
+ worktime += ", ";
+ }
+ worktime += eintrag.UhrzeitVon + " - " + eintrag.UhrzeitBis;
+ }
+
+ if (!wochentagsarbeitszeit.ContainsKey(eintrag.Tag))
+ {
+ wochentagsarbeitszeit.Add(eintrag.Tag,
+ eintrag.UhrzeitVon + " - " + eintrag.UhrzeitBis);
+ }
+ else
+ {
+ wochentagsarbeitszeit[eintrag.Tag] += " " + eintrag.UhrzeitVon + " - " + eintrag.UhrzeitBis;
+ }
+ }
+ }
+ }
+ }
+
+
+ if (employeeOid == 0 || employeeName.Equals(""))
+ {
+ foreach (var emp in r.Employeesliste)
+ {
+ if (emp.EmployeeOid == ab.EmployeeOid)
+ {
+ employeeOid = ab.EmployeeOid.Value;
+ employeeName = emp.FirstName + " " + emp.LastName;
+
+
+
+ }
+ }
+ }
}
}
- AddItemsToGrid(vertritt, employeeName, customerName, abwesenheitskategorie, VertretenderMitarbeiter, krankheitszeitraum, Krankheitsmeldung);
+ AddItemsToGrid(vertritt, employeeName, abwesenheitskategorie, VertretenderMitarbeiter, krankheitszeitraum, Krankheitsmeldung, absencetimeOid, vertetenderMit, employeeOid, customer, worktime, wochentagsarbeitszeit);
}
}
+ #endregion
+
+ #region Füge AbsenceTime Der Liste Hinzu Die Keine Vertretung inne hat
foreach (var ars in r.AbsenceTimeliste)
{
if (!VorhandeneAbsenceTimeOidListe.Contains(ars.AbsenceTimeOid.Value))
{
string employeeName = "";
- List customerName = new List();
- string krankheitszeitraum = ars.Start.Value.ToString("dd.MM.yyyy") + " - " + ars.End.Value.ToString("dd.MM.yyyy");
+ //List customerName = new List();
+ string worktime = "";
+ string krankheitszeitraum;
+
+ if (ars.Start.Value != ars.End.Value)
+ krankheitszeitraum = ars.Start.Value.ToString("dd.MM.yyyy") + " - " + ars.End.Value.ToString("dd.MM.yyyy");
+ else
+ krankheitszeitraum = ars.Start.Value.ToString("dd.MM.yyyy");
+
AbsenceReasonDC abwesenheitskategorie = ars.Reason;
string VertretenderMitarbeiter = "";
DateTime Krankheitsmeldung = new DateTime();
+ long vertetenderMit = 0;
+ long employeeOid = 0;
+ //List customerOid = new List();
+
+ Dictionary customer = new Dictionary();
+
+ Dictionary wochentagsarbeitszeit = new Dictionary();
+
+
if (ars.KrankheitsMeldung != null)
Krankheitsmeldung = ars.KrankheitsMeldung.Value;
else
@@ -220,7 +327,9 @@ namespace BeWo.SchulbegleitenderDienst
{
if (val == cust.CustomerOid)
{
- customerName.Add(cust.FullName);
+ //customerName.Add(cust.FullName);
+ //customerOid.Add(cust.CustomerOid);
+ customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
@@ -228,10 +337,72 @@ namespace BeWo.SchulbegleitenderDienst
}
}
- AddItemsToGrid(null, employeeName, customerName, abwesenheitskategorie, VertretenderMitarbeiter, krankheitszeitraum, Krankheitsmeldung);
+ if (employeeOid == 0 || employeeName.Equals(""))
+ {
+ foreach (var emp in r.Employeesliste)
+ {
+ if (emp.EmployeeOid == ars.EmployeeOid)
+ {
+ employeeOid = ars.EmployeeOid.Value;
+ employeeName = emp.FirstName + " " + emp.LastName;
+
+
+ foreach (var arbeitszeit in r.Arbeitszeitliste)
+ {
+ if (emp.EmployeeOid == arbeitszeit.EmployeeOid)
+ {
+ if (arbeitszeit.GueltigVon.Value.Date <= ars.Start.Value.Date &&
+ arbeitszeit.GueltigBis.Value.Date <= ars.End.Value.Date ||
+ arbeitszeit.GueltigVon.Value.Date <= ars.Start.Value.Date &&
+ arbeitszeit.GueltigBis.Value.Date >= ars.End.Value.Date )
+ {
+ foreach (var eintrag in arbeitszeit.Eintraege)
+ {
+ if ((int)AusgewähltesDatum.DayOfWeek == (int)eintrag.Tag + 1)
+ {
+ if (!String.IsNullOrEmpty(worktime))
+ {
+ worktime += ", ";
+ }
+ worktime += eintrag.UhrzeitVon + " - " + eintrag.UhrzeitBis;
+ }
+ //var test = (int)DayOfWeek.Wednesday;
+ //var test2 = (int) eintrag.Tag;
+ if (!wochentagsarbeitszeit.ContainsKey(eintrag.Tag))
+ {
+ wochentagsarbeitszeit.Add(eintrag.Tag,
+ eintrag.UhrzeitVon + " - " + eintrag.UhrzeitBis);
+ }
+ else
+ {
+ wochentagsarbeitszeit[eintrag.Tag] += " " + eintrag.UhrzeitVon + " - " + eintrag.UhrzeitBis;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ }
+
+ //Sonderfall wenn keine vertertung verfügbar und employee nicht gegeben aber absence eine customer oid besitzt
+ if (customer.Count == 0 && employeeOid == 0 && ars.CustomerOid.Value !=0 )
+ {
+ foreach (var cust in r.Customersliste)
+ {
+ if (ars.CustomerOid.Value == cust.CustomerOid)
+ {
+ customer.Add(cust.CustomerOid, cust.FullName);
+ }
+ }
+ }
+
+ AddItemsToGrid(null, employeeName, abwesenheitskategorie, VertretenderMitarbeiter, krankheitszeitraum, Krankheitsmeldung, ars, vertetenderMit, employeeOid, customer, worktime, wochentagsarbeitszeit);
}
}
}
+#endregion
this.Dispatch(delegate
@@ -247,61 +418,152 @@ namespace BeWo.SchulbegleitenderDienst
}
- public void AddItemsToGrid(VertretungDC vertritt, string employee, List customers, AbsenceReasonDC abwesenheit, string vertretenderMitarbeiter, string krankheitszeitraum, DateTime krankheitsmeldung)
+ //Verbesserungswürdig bzw Under Construction
+ public void AddItemsToGrid(VertretungDC vertritt, string employee, AbsenceReasonDC abwesenheit, string vertretenderMitarbeiter, string krankheitszeitraum, DateTime krankheitsmeldung, AbsenceTimeDC absenceTime, long vertretenderOid, long employeeOid, Dictionary customers,string arbeitszeit,Dictionary wochenarbeitszeit)
{
- //erstelle mehrere items falls der mitarbeiter mehrere hauptbetreuungen betreuungen hat
int i = 0;
int y = 0;
- foreach (var customer in customers)
+
+
+ if (!vertretenderMitarbeiter.Equals(""))
{
-
- if (!vertretenderMitarbeiter.Equals(""))
- {
- i = 1;
- }
-
- if (!customer.Equals("") && !vertretenderMitarbeiter.Equals("") && !employee.Equals(""))
- {
- i = 1;
- }
-
-
- if (!employee.Equals(""))
- {
- y = 1;
- }
-
- SchulbegleitenderDienst xyc = new SchulbegleitenderDienst()
- {
- KrankheitsZeitraum = krankheitszeitraum,
- KrankerMitarbeiter = employee,
- Vertretung = vertretenderMitarbeiter,
- Kunde = customer,
- AbwesenheitsKategorie = abwesenheit,
- KrankheitsMeldung = krankheitsmeldung,
-
- IsMitarbeiter = y,
- IsKunde = i
- //ParentId = 0,
- //Oid = (int)vertritt.VertretungOid.Value
- //.ToString("dd.MM.yyyy")
-
- };
-
- if (vertritt != null)
- {
- xyc.Beschreibung = vertritt.Notice;
- xyc.VertretungsDC = vertritt;
- }
-
- if (!items.Contains(xyc))
- {
- items.Add(xyc); // hier war vorher eine dierekte initialisierung + die abfrage contains gab es nicht
- }
+ i = 1;
}
+ if (!employee.Equals(""))
+ {
+ y = 1;
+ }
+
+
+ if(customers.Count != 0){
+ foreach (var customer in customers)
+ {
+ //Provisiorisch
+ SchulbegleitenderDienst xyc = new SchulbegleitenderDienst()
+ {
+ KrankheitsZeitraum = krankheitszeitraum,
+ KrankerMitarbeiter = employee,
+ wochentagsarbeitszeit = wochenarbeitszeit,
+ AbwesenheitsKategorie = abwesenheit,
+ KrankheitsMeldung = krankheitsmeldung,
+ IsMitarbeiter = y,
+ Arbeitszeit = arbeitszeit,
+ endD = absenceTime.End.Value,
+ startD = absenceTime.Start.Value,
+
+
+ };
+
+
+
+ if (vertritt != null)
+ {
+ if (vertritt.CustomerOid == customer.Key){
+
+ if (vertritt.VertretungsZeitraumVon != vertritt.VertretungsZeitraumBis)
+ xyc.VertretungsZeitraum = vertritt.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy") + " - " + vertritt.VertretungsZeitraumBis.Date.ToString("dd.MM.yyyy");
+ else
+ xyc.VertretungsZeitraum = vertritt.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy");
+
+ xyc.VertretungsDC = vertritt;
+ xyc.Vertretung = vertretenderMitarbeiter;
+ xyc.IsKunde = 1;
+
+ xyc.Beschreibung = absenceTime.Notice;
+ xyc.vertreteroid = vertretenderOid;
+
+ }else{
+ xyc.Vertretung = "";
+ }
+ }
+ else
+ {
+ xyc.IsKunde = 0;
+ xyc.Vertretung = "";
+ }
+
+ xyc.absenceTimeDC = absenceTime;
+
+ xyc.mitarbeiteroid = employeeOid;
+ //provisorisch
+
+ //#################### Übergebe hier vorsorglich die oid ###################
+ xyc.klientoid = customer.Key ;
+
+
+ if (!customer.Equals("") && !vertretenderMitarbeiter.Equals("") && !employee.Equals(""))
+ {
+ i = 1;
+ }
+
+ //########################################
+
+ xyc.Kunde = customer.Value; //neues item muss erstellt werden
+
+ //if (!items.Exists(x => x.klientoid == customer.Key))
+ //{
+ items.Add(xyc);
+ //}
+ }
+ }
+ else
+ {
+ //provisorisch
+ SchulbegleitenderDienst xyc = new SchulbegleitenderDienst()
+ {
+ KrankheitsZeitraum = krankheitszeitraum,
+ KrankerMitarbeiter = employee,
+ AbwesenheitsKategorie = abwesenheit,
+ KrankheitsMeldung = krankheitsmeldung,
+ IsMitarbeiter = y,
+ Arbeitszeit = arbeitszeit,
+ endD = absenceTime.End.Value,
+ startD = absenceTime.Start.Value,
+ wochentagsarbeitszeit = wochenarbeitszeit,
+ Kunde = "",
+ Beschreibung = absenceTime.Notice
+
+
+ };
+
+ if (vertritt != null)
+ {
+ if (vertritt.VertretungsZeitraumVon != vertritt.VertretungsZeitraumBis)
+ xyc.VertretungsZeitraum = vertritt.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy") + " - " + vertritt.VertretungsZeitraumBis.Date.ToString("dd.MM.yyyy");
+ else
+ xyc.VertretungsZeitraum = vertritt.VertretungsZeitraumVon.Date.ToString("dd.MM.yyyy");
+
+
+ xyc.VertretungsDC = vertritt;
+
+ xyc.Vertretung = vertretenderMitarbeiter;
+
+ xyc.IsKunde = i;
+ }
+ else
+ {
+ xyc.IsKunde = 0;
+ xyc.Vertretung = "";
+ }
+
+ xyc.absenceTimeDC = absenceTime;
+ xyc.vertreteroid = vertretenderOid;
+ xyc.mitarbeiteroid = employeeOid;
+ //Provisorisch
+
+ xyc.klientoid = 0;
+
+
+
+ if (!items.Contains(xyc))
+ {
+ items.Add(xyc);
+ }
+ }
}
+ //Nicht ganz Fertig // mitarbeiterView
public void GetWochenDienstFromItems(DateTime time)
{
itemsWochen.Clear();
@@ -310,16 +572,16 @@ namespace BeWo.SchulbegleitenderDienst
DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
-
foreach (var item in items)
{
- string[] ahh = item.KrankheitsZeitraum.Split('-');
+
+ Dictionary> a = new Dictionary>();
+
+ Dictionary> klientb = new Dictionary>();
- string anfang = ahh[0];
- string ende = ahh[1];
- DateTime anfangDt = DateTime.Parse(anfang);
- DateTime endeDt = DateTime.Parse(ende);
+ DateTime anfangDt = item.startD;//DateTime.Parse(anfang);
+ DateTime endeDt = item.endD;//DateTime.Parse(ende);
DateTime montagDt = startdt.Date;
@@ -333,48 +595,141 @@ namespace BeWo.SchulbegleitenderDienst
{
MaKrank = item.KrankerMitarbeiter,
Kind = item.Kunde,
+ MaFrei = item.Vertretung
+
};
- if (anfangDt.Date <= montagDt && montagDt <= endeDt.Date)
+ if (anfangDt.Date <= montagDt && montagDt <= endeDt.Date /*&& montagDt.Date ==*/ ) // erweitern ??
{
+ Dictionary mo = new Dictionary();
+ mo.Add(montagDt, item);
+
+ a.Add("VertretungMo", mo);
+
+ klientb.Add("EingesetztBeiMo",mo);
+
wwk.VertretungMo = item.Vertretung;
-
+
+ wwk.EingesetztBeiMo = item.Kunde;
+
+ wwk.Mo = WochenanzeigeHinzufügen(montagDt,item.wochentagsarbeitszeit);
+ }
+ else
+ {
+ wwk.VertretungMo = " ";
+ wwk.EingesetztBeiMo = " ";
}
if (anfangDt.Date <= dienstagDt && dienstagDt <= endeDt.Date)
{
+ Dictionary di = new Dictionary();
+ di.Add(dienstagDt, item);
+
+ a.Add("VertretungDi", di);
+
+ klientb.Add("EingesetztBeiDi", di);
+
wwk.VertretungDi = item.Vertretung;
-
- }
+ wwk.EingesetztBeiDi = item.Kunde;
- if (anfangDt.Date <= mittwochDt && mittwochDt <= endeDt.Date)
- {
- wwk.VertretungMi = item.Vertretung;
-
- }
+ wwk.Di = WochenanzeigeHinzufügen(dienstagDt, item.wochentagsarbeitszeit);
- if (anfangDt.Date <= donnerstagDt && donnerstagDt <= endeDt.Date)
- {
- wwk.VertretungDo = item.Vertretung;
-
- }
-
- if (anfangDt.Date <= freitagDt && freitagDt <= endeDt.Date)
- {
- wwk.VertretungFr = item.Vertretung;
-
- }
-
- if (anfangDt.Date <= samstagDt && samstagDt <= endeDt.Date)
- {
- wwk.VertretungSa = item.Vertretung;
+ }
+ else
+ {
+ wwk.VertretungDi = " ";
+ wwk.EingesetztBeiDi = " ";
}
+ if (anfangDt.Date <= mittwochDt && mittwochDt <= endeDt.Date)
+ {
+ Dictionary mi = new Dictionary();
+ mi.Add(mittwochDt, item);
+
+ a.Add("VertretungMi", mi);
+ klientb.Add("EingesetztBeiMi", mi);
+
+ wwk.VertretungMi = item.Vertretung;
+ wwk.EingesetztBeiMi = item.Kunde;
+
+ wwk.Mi = WochenanzeigeHinzufügen(mittwochDt, item.wochentagsarbeitszeit);
+ }
+ else
+ {
+ wwk.VertretungMi = " ";
+ wwk.EingesetztBeiMi = " ";
+ }
+
+
+ if (anfangDt.Date <= donnerstagDt && donnerstagDt <= endeDt.Date)
+ {
+ Dictionary Do = new Dictionary();
+ Do.Add(donnerstagDt, item);
+
+ a.Add("VertretungDo", Do);
+ klientb.Add("EingesetztBeiDo", Do);
+
+ wwk.VertretungDo = item.Vertretung;
+ wwk.EingesetztBeiDo = item.Kunde;
+
+ wwk.Do = WochenanzeigeHinzufügen(donnerstagDt, item.wochentagsarbeitszeit);
+ }
+ else
+ {
+ wwk.VertretungDo = " ";
+ wwk.EingesetztBeiDo = " ";
+ }
+
+ if (anfangDt.Date <= freitagDt && freitagDt <= endeDt.Date)
+ {
+ Dictionary fr = new Dictionary();
+ fr.Add(freitagDt, item);
+
+ a.Add("VertretungFr", fr);
+ klientb.Add("EingesetztBeiFr", fr);
+
+ wwk.VertretungFr = item.Vertretung;
+ wwk.EingesetztBeiFr = item.Kunde;
+
+ wwk.Fr = WochenanzeigeHinzufügen(freitagDt, item.wochentagsarbeitszeit);
+ }
+ else
+ {
+ wwk.VertretungFr = " ";
+ wwk.EingesetztBeiFr = " ";
+ }
+
+ if (anfangDt.Date <= samstagDt && samstagDt <= endeDt.Date)
+ {
+ Dictionary sa = new Dictionary();
+ sa.Add(samstagDt, item); // item.vertreteroid
+
+ a.Add("VertretungSa", sa);
+ klientb.Add("EingesetztBeiSa", sa);
+ wwk.VertretungSa = item.Vertretung;
+ wwk.EingesetztBeiSa = item.Kunde;
+
+ wwk.Sa = WochenanzeigeHinzufügen(samstagDt, item.wochentagsarbeitszeit);
+
+ }
+ else
+ {
+ wwk.VertretungSa = " ";
+ wwk.EingesetztBeiSa = " ";
+ }
+
+
+
+ wwk.vertretungsWoche = a;
+
+ wwk.KlientvertretungsWoche = klientb;
+
itemsWochen.Add(wwk);
- }
+
+ }
GridDataControlMitarbeiterWochenansicht.RefreshData();
@@ -382,10 +737,24 @@ namespace BeWo.SchulbegleitenderDienst
GridDataControlKlientenWochenansicht.RefreshData();
GridDataControlKlientenWochenansicht.RefreshUI();
- //###################################################################################
}
- //------------------------------------------------------------------------------------------------------------------------------------
+ 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 "";
+ }
+
//################################ Mitarbeiter DatePicker Von - Bis ################################
#region Mitarbeiter Vertretungs Datum von - bis
@@ -414,10 +783,8 @@ namespace BeWo.SchulbegleitenderDienst
#endregion
//##################################################################################################
- //-------------------------------------------------------------------------------------------------------------------------------------
+
-
- //-------------------------------------------------------------------------------------------------------------------------------------
//################################ Klienten Vertrtung Von - Bis ####################################
#region Klienten Vertretungs Datum von - bis
@@ -443,9 +810,8 @@ namespace BeWo.SchulbegleitenderDienst
#endregion
//###################################################################################################
- //-------------------------------------------------------------------------------------------------------------------------------------
-
- //------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
//#################### Mitarbeiter Vertretungs Popup gedönse ##########################################################
#region Mitarbeiter Vertretung
@@ -491,13 +857,13 @@ namespace BeWo.SchulbegleitenderDienst
{
bool xsf = false;
- if (!popupedit_MitarbeiterVertretungSearch.Text.Equals(""))
+ if (!popupedit_MitarbeiterVertretungSearch.Text.Equals("") && ComboBoxMitarbeiterVertretung.SelectedValue != null) //zusätzliche abfragen hinzufügen
{
xsf = true;
}
else
{
- MessageBox.Show("Bitte wählen sie zuerst einen Mitarbeiter aus.");
+ MessageBox.Show("Bitte wählen sie zuerst einen Mitarbeiter und eine Krankheits Meldung aus.");
}
@@ -516,7 +882,6 @@ namespace BeWo.SchulbegleitenderDienst
private void ClearAllMitarbeiterValues()
{
- //Diese Methode dient nur als "Puffer" später wird alles via Vertretung Vm Gehändelt
MVDatepickerVon.DateTime = DateTime.Now;
MVDatepickerBis.DateTime = DateTime.Now;
popupedit_MitarbeiterVertretungSearch.Text = "";
@@ -528,33 +893,18 @@ namespace BeWo.SchulbegleitenderDienst
private void SaveEmployeeInVertretung()
{
- VertretungDC vertretung = new VertretungDC();
+ AbsenceTimeDC at = new AbsenceTimeDC();
+ at.Start = MVDatepickerVon.DateTime.Date;
+ at.End = MVDatepickerBis.DateTime.Date;
+ at.Reason = ComboBoxMitarbeiterVertretung.SelectedValue as AbsenceReasonDC;
+ at.Notice = MitarbeiterNotice.Text;
+ at.KrankheitsMeldung = KrankMeldungMitarbeiterDatepicker.DateTime.Date;
- vertretung.VertretungsZeitraumVon = MVDatepickerVon.DateTime.Date;
- vertretung.VertretungsZeitraumBis = MVDatepickerBis.DateTime.Date;
- vertretung.CustomerOid = 0;
- vertretung.EmployeeOid = currentEmployee.EmployeeOid;
- vertretung.VertretenderMitarbeiterOid = 0;
-
- var x = (AbsenceReasonDC)ComboBoxMitarbeiterVertretung.SelectedValue;
-
- //if (x != null){
- // vertretung. = x.AbsenceReasonOid;
- //}
- //else
- //{
- // vertretung.AbwesenheitsOid = 0;
- //}
-
- vertretung.Notice = MitarbeiterNotice.Text;
-
- var Krankheitsmeldung = KrankMeldungMitarbeiterDatepicker.DateTime.Date;
-
- ServiceFacade.DoOperationsServiceSync(s => s.InsertNewMitarbeiterVertretung(vertretung, x.AbsenceReasonOid, Krankheitsmeldung));
+ ServiceFacade.DoOperationsServiceSync(s => s.InsertNewEmployeeAbsenceTime(currentEmployee.EmployeeOid, at));
}
#endregion
- //------------------------------------------------------------------------------------------------------------------------------------------------------
+
// ############################ Klienten Vertretungs Popup gedönse ######################################################
#region Klient Vertretung
@@ -603,13 +953,13 @@ namespace BeWo.SchulbegleitenderDienst
{
bool xsf = false;
- if (!popupedit_KlientVertretungSearch.Text.Equals(""))
+ if (!popupedit_KlientVertretungSearch.Text.Equals("") && ComboBoxKlientVertretung.SelectedValue != null)
{
xsf = true;
}
else
{
- MessageBox.Show("Bitte wählen sie zuerst einen Klienten aus.");
+ MessageBox.Show("Bitte wählen sie zuerst einen Klienten und eine Krankheits Meldung aus.");
}
@@ -628,8 +978,6 @@ namespace BeWo.SchulbegleitenderDienst
private void ClearAllKlientValues()
{
- //Das gleiche gilt hier auch wie bei mitarbeiter
-
KVDatepickerVon.DateTime = DateTime.Now;
KVDatepickerBis.DateTime = DateTime.Now;
popupedit_KlientVertretungSearch.Text = "";
@@ -641,36 +989,21 @@ namespace BeWo.SchulbegleitenderDienst
private void SaveKlientInVertretung()
{
- VertretungDC vertretung = new VertretungDC();
+ AbsenceTimeDC at = new AbsenceTimeDC();
+ at.Start = KVDatepickerVon.DateTime.Date;
+ at.End = KVDatepickerBis.DateTime.Date;
+ at.Reason = ComboBoxKlientVertretung.SelectedValue as AbsenceReasonDC;
+ at.Notice = KlientNotice.Text;
+ at.KrankheitsMeldung = KrankMeldungKlientDatepicker.DateTime.Date;
- vertretung.VertretungsZeitraumVon = KVDatepickerVon.DateTime.Date;
- vertretung.VertretungsZeitraumBis = KVDatepickerBis.DateTime.Date;
- vertretung.CustomerOid = currentKlient.CustomerOid;
- vertretung.EmployeeOid = 0;
- vertretung.VertretenderMitarbeiterOid = 0;
+ ServiceFacade.DoOperationsServiceSync(s => s.InsertNewCustomerAbsenceTime(currentKlient.CustomerOid, at));
- var x = (AbsenceReasonDC)ComboBoxKlientVertretung.SelectedValue;
-
- //if (x != null){
- // vertretung.AbwesenheitsOid = x.AbsenceReasonOid;
- //}
- //else
- //{
- // vertretung.AbwesenheitsOid = 0;
- //}
-
- vertretung.Notice = KlientNotice.Text;
-
- var Krankheitsmeldung = KrankMeldungKlientDatepicker.DateTime.Date;
-
- //Safe in die Daten Tabelle
- ServiceFacade.DoOperationsServiceSync(s => s.InsertNewKlientenVertretung(vertretung, x.AbsenceReasonOid, Krankheitsmeldung));
}
#endregion
//#########################################################################################################################
- //------------------------------------------------------------------------------------------------------------------------------------------------------
+
//######################### Action Event Listener ###########################
@@ -701,59 +1034,117 @@ namespace BeWo.SchulbegleitenderDienst
//Es gibt noch probleme -> Button anclickbar obwohl nicht sichtbar
//Rufe hier ein Neues Fenster auf das VErschiedenste Settings bearbeitet
- if (view == null)
- {
- view = new SchulbegleitenderDienstBearbeitungsView();
+ var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
- view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent);
- view.ShowDialog();
- }
- else
- {
- view.Close();
- view = new SchulbegleitenderDienstBearbeitungsView();
+ if (a.mitarbeiteroid != 0)
+ {
+ if (view == null)
+ {
+ view = new SchulbegleitenderDienstBearbeitungsView(1);
+
+ view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent);
+ view.ShowDialog();
+ }
+ else
+ {
+ view.Close();
+ view = new SchulbegleitenderDienstBearbeitungsView(1);
+
+ view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent);
+ view.ShowDialog();
+ }
+
+ }else
+ {
+ MessageBox.Show("Sorry aber hast du grad versucht einem Kranken Kind einen Vertreter hinzuzufügen ?? Schäm dich.");
+ }
- view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent);
- view.ShowDialog();
- }
}
+ private void ButtonEditSettingsAddKlient_OnDefaultButtonClick(object sender, RoutedEventArgs e)
+ {
+ var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
+
+ if (a.mitarbeiteroid != 0)
+ {
+
+ if (view == null)
+ {
+ view = new SchulbegleitenderDienstBearbeitungsView(2);
+
+ view.RaiseKlientCustomEvent += new EventHandler(newWindowKlient_RaiseCustomEvent);
+ view.ShowDialog();
+ }
+ else
+ {
+ view.Close();
+ view = new SchulbegleitenderDienstBearbeitungsView(2);
+
+ view.RaiseKlientCustomEvent += new EventHandler(newWindowKlient_RaiseCustomEvent);
+ view.ShowDialog();
+ }
+
+
+ }else
+ {
+ MessageBox.Show("Sorry aber hast du grad versucht einem Kranken Kind einen Vertreter hinzuzufügen ?? Schäm dich.");
+ }
+
+ }
+
//Fertig
private void newWindow_RaiseCustomEvent(object sender, CustomEventArgs e)
{
- UpdateMitarbeiterToVertretung(e.Message);
+ if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
+ {
+ UpdateMitarbeiterToVertretung(e.Message);
+ }
+ else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
+ {
+ UpdateMitarbeiterToVertretungWeekEdition(e.Message);
+ }
+ else
+ {
+ view.Close();
+ MessageBox.Show("Not yet implemented");
+ }
}
- //Fertig // noch nicht wegen erweiterung
+ private void newWindowKlient_RaiseCustomEvent(object sender, CustomKlientEventArgs e)
+ {
+ UpdateKlienttoVertretungWeekEdition(e.Message);
+ }
+
+ //Fertig
private void UpdateMitarbeiterToVertretung(CompactEmployeeDC employee)
{
-
var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
- VertretungDC vert = new VertretungDC();
- //Dieser bereich ist nur dazu da um eine Vertretenden Mitarbeiter zuzufügen
- // a. vertretungsDC ist = null bei einigen, da muss eine neues object davon erstellt werden
- if(a.VertretungsDC != null){
- vert = a.VertretungsDC;
-
- vert.VertretenderMitarbeiterOid = employee.EmployeeOid;
-
-
- ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
- }
- else
+ VertretungDC vert = new VertretungDC()
{
+ CustomerOid = a.klientoid,
+ EmployeeOid = a.mitarbeiteroid,
+ VertretungsZeitraumVon = a.startD,
+ VertretungsZeitraumBis = a.endD,
+ AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid,
+ VertretenderMitarbeiterOid = employee.EmployeeOid
+ };
+
- // ServiceFacade.DoOperationsServiceSync()
- //Create Vertretung and update AbsenceTime
-
-
- MessageBox.Show("Hier muss noch was hin ");
+ if (a.VertretungsDC != null)
+ {
+ vert.VertretungOid = a.VertretungsDC.VertretungOid;
+ ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
}
+ else
+ {
+ //Wird Später gebraucht
+ //ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
+ }
view.Close();
@@ -761,34 +1152,220 @@ namespace BeWo.SchulbegleitenderDienst
}
+ private void UpdateMitarbeiterToVertretungWeekEdition(CompactEmployeeDC employee)
+ {
+ var a = (Wochenansichten) GridDataControlKlientenWochenansicht.SelectedItem;
+
+ var tag = GridDataControlKlientenWochenansicht.CurrentColumn.FieldName;
+
+ //VertretungDC vert = new VertretungDC()
+ //{
+ // CustomerOid = a.klientoid,
+ // EmployeeOid = a.mitarbeiteroid,
+ // VertretungsZeitraumVon = a.startD,
+ // VertretungsZeitraumBis = a.endD,
+ // AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid,
+ // VertretenderMitarbeiterOid = a.vertreteroid
+ //};
+
+ //foreach (var woche in a.vertretungsWoche)
+ //{
+ // 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.CustomerOid = item.Value.klientoid;
+ // vert.AbsenceTimeOid = item.Value.absenceTimeDC.AbsenceTimeOid.Value;
+ // vert.Notice = item.Value.Beschreibung;
+
+ // //DateTime[] behh = StringTo2Date(item.Value.KrankheitsZeitraum);
+
+ // vert.VertretungsZeitraumVon = item.Key;//behh[0]; // Den TAg des Ausgewählten tages
+ // vert.VertretungsZeitraumBis = item.Key;//behh[1]; // Den TAg Des Ausgewählten tages
+
+ // vert.VertretenderMitarbeiterOid = employee.EmployeeOid;
+
+
+ // ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert, item.Value.AbwesenheitsKategorie));
+ // }
+ // else
+ // {
+ // vert.VertretenderMitarbeiterOid = employee.EmployeeOid;
+
+ // //DateTime[] behh = StringTo2Date(a.KrankheitsZeitraum); // ersetzt durch, Den Tag des Ausgewählten tages
+
+ // vert.VertretungsZeitraumVon = item.Key;//behh[0];
+ // vert.VertretungsZeitraumBis = item.Key;//behh[1];
+
+
+ // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(item.Value.mitarbeiteroid, item.Value.klientoid, vert.VertretenderMitarbeiterOid.Value, item.Value.absenceTimeDC.AbsenceTimeOid.Value, item.Value.Beschreibung, vert.VertretungsZeitraumVon, vert.VertretungsZeitraumBis));
+ // }
+
+
+ // view.Close();
+
+ // GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
+ // }
+ // }
+ //}
+ MessageBox.Show("Diese Funktion ist derzeitig nicht verfügbar");
+ }
+
+ private void UpdateKlienttoVertretungWeekEdition(CompactCustomerDC customer)
+ {
+ MessageBox.Show("Läuft alles nach schnürchen");
+
+ var a = (Wochenansichten)GridDataControlMitarbeiterWochenansicht.SelectedItem;
+
+ var tag = GridDataControlMitarbeiterWochenansicht.CurrentColumn.FieldName;
+ //bereich das heute fertig gestellt wird
+
+ //VertretungDC vert = new VertretungDC()
+ //{
+ // CustomerOid = a.klientoid,
+ // EmployeeOid = a.mitarbeiteroid,
+ // VertretungsZeitraumVon = a.startD,
+ // VertretungsZeitraumBis = a.endD,
+ // AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid,
+ // VertretenderMitarbeiterOid = a.vertreteroid
+ //};
+
+ //foreach (var woche in a.KlientvertretungsWoche)
+ //{
+ // if (woche.Key.Equals(tag))
+ // {
+ // foreach (var item in woche.Value)
+ // {
+ // VertretungDC vert = new VertretungDC();
+ // if (item.Value.VertretungsDC != null)
+ // {
+
+ // //irgendwas fehlt
+
+ // vert = item.Value.VertretungsDC;
+ // vert.EmployeeOid = item.Value.mitarbeiteroid;
+ // vert.AbsenceTimeOid = item.Value.absenceTimeDC.AbsenceTimeOid.Value;
+ // vert.Notice = item.Value.Beschreibung;
+
+ // //DateTime[] behh = StringTo2Date(item.Value.KrankheitsZeitraum);
+
+ // vert.VertretungsZeitraumVon = item.Key;//behh[0]; // Den TAg des Ausgewählten tages
+ // vert.VertretungsZeitraumBis = item.Key;//behh[1]; // Den TAg Des Ausgewählten tages
+
+ // vert.CustomerOid = customer.CustomerOid;
+
+
+ // ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert, item.Value.AbwesenheitsKategorie));
+ // }
+ // else
+ // {
+ // //DateTime[] behh = StringTo2Date(a.KrankheitsZeitraum); // ersetzt durch, Den Tag des Ausgewählten tages
+
+ // vert.VertretungsZeitraumVon = item.Key;//behh[0];
+ // vert.VertretungsZeitraumBis = item.Key;//behh[1];
+
+
+ // ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(item.Value.mitarbeiteroid,customer.CustomerOid, vert.VertretenderMitarbeiterOid.Value, item.Value.absenceTimeDC.AbsenceTimeOid.Value, item.Value.Beschreibung, vert.VertretungsZeitraumVon, vert.VertretungsZeitraumBis));
+ // }
+ // }
+ // }
+ //}
+
+ MessageBox.Show("Diese Funktion ist derzeitig nicht verfügbar");
+ //zudem müssen alle anderen mitarbeiter auch in die Liste
+ }
+
//################### Kontext Menue bereich ###############################
private void DataViewBase_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
- if (e.MenuInfo.Column.FieldName == "Kunde")
+ if (GridDataControlTagesansicht.Visibility == Visibility.Visible)
{
- BarButtonItem x = new BarButtonItem() {Content = "Kunden Info"};
- x.ItemClick += Kundeninfo_OnClick;
- e.Customizations.Add(x);
- }
+ var a = (SchulbegleitenderDienst) GridDataControlTagesansicht.SelectedItem;
- if (e.MenuInfo.Column.FieldName == "KrankerMitarbeiter")
- {
- BarButtonItem x = new BarButtonItem() {Content = "Mitarbeiter Info"};
- x.ItemClick += Mitarbeiterinfo_OnClick;
- e.Customizations.Add(x);
- }
+ if (e.MenuInfo.Column.FieldName == "Kunde")
+ {
+ BarButtonItem x = new BarButtonItem() {Content = "Kunden Info"};
+ x.ItemClick += Kundeninfo_OnClick;
+ e.Customizations.Add(x);
+ }
- if (e.MenuInfo.Column.FieldName == "Vertretung")
+ if (e.MenuInfo.Column.FieldName == "KrankerMitarbeiter")
+ {
+ BarButtonItem x = new BarButtonItem() {Content = "Mitarbeiter Info"};
+ x.ItemClick += Mitarbeiterinfo_OnClick;
+ e.Customizations.Add(x);
+ }
+
+ if (e.MenuInfo.Column.FieldName == "Vertretung")
+ {
+ BarButtonItem s = new BarButtonItem() {Content = "Mitarbeiter Info"};
+ 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 = "Krankmeldung Löschen"};
+ ys.ItemClick += DeleteKrankmeldung_OnClick;
+ e.Customizations.Add(ys);
+
+ }
+ else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible)
{
- BarButtonItem s = new BarButtonItem() { Content = "Mitarbeiter Info" };
- s.ItemClick += MitarbeiterVertretunginfo_OnClick;
- e.Customizations.Add(s);
- }
+ // ########### KontextMenue Wochenanzeige #########
+
- BarButtonItem y = new BarButtonItem() { Content = "Löschen" };
- y.ItemClick += DeletPerson_OnClick;
- e.Customizations.Add(y);
+ //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 = "Kunden Info"};
+ x.ItemClick += Kundeninfo_OnClick; // bearbeiten
+ e.Customizations.Add(x);
+ }
+
+ if (e.MenuInfo.Column.FieldName == "MaKrank")
+ {
+ BarButtonItem x = new BarButtonItem() {Content = "Mitarbeiter Info"};
+ 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 Info"};
+ 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
+ }
}
//Fertig
@@ -797,40 +1374,51 @@ namespace BeWo.SchulbegleitenderDienst
var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
- if (!a.Kunde.Equals(""))
- {
- VertretungDC vert = new VertretungDC();
+ if(a.Kunde != null){
+ if (!a.Kunde.Equals("") )
+ {
+ VertretungDC vert = new VertretungDC();
- vert = a.VertretungsDC;
+ List abf = new List();
- List abf = new List();
- abf.Add(vert.CustomerOid.Value);
+ 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];
+ 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();
+ 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 Kunde zugeteilt");
+ 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 Kunde zugeteilt");
+ }
+ else
+ {
+ MessageBox.Show("Es wurde der Vertretung kein Kunde zugeteilt");
+ }
}
//Fertig
@@ -838,39 +1426,60 @@ namespace BeWo.SchulbegleitenderDienst
{
var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
- if (!a.KrankerMitarbeiter.Equals(""))
+
+ if (a.KrankerMitarbeiter != null)
{
- VertretungDC vert = new VertretungDC();
+ if (!a.KrankerMitarbeiter.Equals(""))
+ {
+ VertretungDC vert = new VertretungDC();
- vert = a.VertretungsDC;
+ List abf = new List();
- List abf = new List();
- abf.Add(vert.EmployeeOid.Value);
+ if (a.VertretungsDC != null)
+ {
+ vert = a.VertretungsDC;
+ abf.Add(vert.EmployeeOid.Value);
+ }
+ else
+ {
+ abf.Add(a.mitarbeiteroid);
+ }
- var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(vert.EmployeeOid.Value));
- var selectedEmployee = sgf;
- VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
- cb => this.Dispatch(
- () =>
- BeWoUtils.OpenModalViewWindow(cb, null, () => this.Dispatch(
- delegate
- {
- var updatedEmployee = new CompactEmployeeDC();
+ var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(abf[0]));
+ var selectedEmployee = sgf;
- ServiceFacade.DoEmployeeServiceSync(
- s => updatedEmployee = s.GetActiveCompactEmployeeWithOid(selectedEmployee.EmployeeOid));
- selectedEmployee = new CompactEmployeeDC();
- selectedEmployee = updatedEmployee;
- // UpdateControls();
- // customerText.Text = updatedCustomer.ToString();
+ 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");
- BeWoUtils.UpdateAllViews(selectedEmployee);
- }))
- ));
}
else
+ {
MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
+ }
+
}
//Fertig
@@ -878,42 +1487,126 @@ namespace BeWo.SchulbegleitenderDienst
{
var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
- if (!a.Vertretung.Equals(""))
+
+ if (a.Vertretung != null)
{
- VertretungDC vert = new VertretungDC();
+ if (!a.Vertretung.Equals(""))
+ {
+ VertretungDC vert = new VertretungDC();
- vert = a.VertretungsDC;
+ vert = a.VertretungsDC;
- List abf = new List();
- abf.Add(vert.EmployeeOid.Value);
+ List abf = new List();
- var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(vert.VertretenderMitarbeiterOid.Value));
- var selectedEmployee = sgf;
+ if (a.VertretungsDC != null)
+ {
+ vert = a.VertretungsDC;
+ abf.Add(vert.VertretenderMitarbeiterOid.Value);
+ }
+ else
+ {
+ abf.Add(a.vertreteroid);
+ }
- VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
- cb => this.Dispatch(
- () =>
- BeWoUtils.OpenModalViewWindow(cb, null, () => this.Dispatch(
- delegate
- {
- var updatedEmployee = new CompactEmployeeDC();
+ var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(abf[0]));
+ var selectedEmployee = sgf;
- ServiceFacade.DoEmployeeServiceSync(
- s => updatedEmployee = s.GetActiveCompactEmployeeWithOid(selectedEmployee.EmployeeOid));
- selectedEmployee = new CompactEmployeeDC();
- selectedEmployee = updatedEmployee;
- // UpdateControls();
- // customerText.Text = updatedCustomer.ToString();
+ 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");
- BeWoUtils.UpdateAllViews(selectedEmployee);
- }))
- ));
}
else
+ {
MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
+ }
}
- //nicht mehr ganz so Fertig / grund ist die wochenanzeige, diese muss jetzt auch berücksichtigt werden.
+ // Fertig // Zurzeit nur für KlientenWochenansicht
+ 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");
+ }
+
+ }
+ }
+
+ }
+
+ }
+
+ //nicht mehr ganz so Fertig --> wurde dies denn nicht schon erledigt?? Nur Vertretung
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)
@@ -924,136 +1617,274 @@ namespace BeWo.SchulbegleitenderDienst
// delet vertretung from oid
VertretungDC vert = new VertretungDC();
- vert = a.VertretungsDC;
-
- ServiceFacade.DoOperationsServiceSync(s => s.DeleteVertretung(vert));
+ if (a.VertretungsDC != null)
+ {
+ vert = a.VertretungsDC;
+ ServiceFacade.DoOperationsServiceSync(s => s.DeleteVertretung(vert.VertretungOid.Value));
+ }
GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
}
}
+
+ // Delet Für Wochenanzeige // ggf die Krankmeldung mit Löschen
+ 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(""))
+ {
+ // ggf die Krankmeldung mit Löschen
+ ServiceFacade.DoOperationsServiceSync(s => s.DeleteVertretung(item.Value.VertretungsDC.VertretungOid.Value));
+
+ GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ //Fertig
+ public void DeleteKrankmeldung_OnClick(object sender, RoutedEventArgs e)
+ {
+ if (MessageBox.Show("Möchten Sie die Krankmeldung wirklich Löschen?", "Krankmeldung 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);
+ }
+ }
+
//############################################################################
+ //#######String mit 2 DateTimes in DateTimes umwandeln #######################
+
+ private DateTime[] StringTo2Date(string StringtoDate)
+ {
+ DateTime[] ahh = new DateTime[2];
+ try
+ {
+ string[] zeitraum = StringtoDate.Split('-');
+
+
+ ahh[0] = DateTime.Parse(zeitraum[0]);
+
+ if (zeitraum.Length != 1)
+ ahh[1] = DateTime.Parse(zeitraum[1]);
+ else
+ ahh[1] = DateTime.Parse(zeitraum[0]);
+
+ }
+ catch (Exception exception)
+ {
+ MessageBox.Show("Es ist ein Fehler beim splitten eines strings aufgetretten");
+ }
+
+
+ return ahh;
+ }
+
+ 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);
+ }
+
+ public 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);
+ }
+
//################## Ermögliche save nach änderung am grid ###################
private void GridViewBase_OnRowUpdated(object sender, RowEventArgs e)
{
var a = (SchulbegleitenderDienst) GridDataControlTagesansicht.SelectedItem;
- VertretungDC vert = new VertretungDC();
-
- vert = a.VertretungsDC;
-
-
- vert.Notice = a.Beschreibung;
-
- //das muss in die updateVertretung und absencereason muss dann mit übergeben werden + kreankheitsmeldung und der andere rest
- //vert.AbwesenheitsOid = a.AbwesenheitsKategorie.AbsenceReasonOid;
-
- //noch alle daten übergeben
- //vert.KrankheitsMeldung = a.KrankheitsMeldung;
-
- try
+
+ AbsenceTimeDC abstime = new AbsenceTimeDC()
{
- string[] zeitraum = a.KrankheitsZeitraum.Split('-');
+ AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid,
+ Notice = a.Beschreibung,
+ Start = a.startD,
+ End = a.endD,
+ Reason = a.AbwesenheitsKategorie,
+ KrankheitsMeldung = a.KrankheitsMeldung
+ };
- vert.VertretungsZeitraumVon = DateTime.Parse(zeitraum[0]);
- vert.VertretungsZeitraumBis = DateTime.Parse(zeitraum[1]);
- }
- catch (Exception exception)
+ VertretungDC vert = new VertretungDC()
{
- MessageBox.Show("Es ist ein Fehler beim splitten eines strings aufgetretten");
+ CustomerOid = a.klientoid,
+ EmployeeOid = a.mitarbeiteroid,
+ VertretungsZeitraumVon = a.startD,
+ VertretungsZeitraumBis = a.endD,
+ AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid,
+ VertretenderMitarbeiterOid = a.vertreteroid
+ };
+
+
+ if (a.VertretungsDC != null)
+ {
+ vert.VertretungOid = a.VertretungsDC.VertretungOid;
+
+ ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretungAndAbsenceTime(vert,abstime));
}
-
-
- ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
-
-
+ else
+ {
+ if (a.vertreteroid != 0){
+ ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(vert));
+ }
+ else
+ {
+ ServiceFacade.DoOperationsServiceSync(s => s.UpdateAbsenceTime(abstime));
+ }
+ }
+
GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
}
- //Wochenanzeige Save nach änderung am grid
-
+ //Wochenanzeige Save nach änderung am grid // die änderungen weden bei einem change nicht aufgerufen // Dies wird ggf nicht mal benötigt
private void GridViewWochenMitarbeiterBase_OnRowUpdated(object sender, CellValueChangedEventArgs e)
{
- var b = (Wochenansichten)GridDataControlMitarbeiterWochenansicht.SelectedItem;
-
-
- //miess eig. für jede vertretung ein update. / dieser bereiche muss komplett umgeschrieben werden
- //************************************************************************************************************
- var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
- VertretungDC vert = new VertretungDC();
-
- vert = a.VertretungsDC;
+ //var babsi = (Wochenansichten)GridDataControlMitarbeiterWochenansicht.SelectedItem;
- vert.Notice = a.Beschreibung;
-
- //das muss in die updateVertretung und absencereason muss dann mit übergeben werden
- //vert.AbwesenheitsOid = a.AbwesenheitsKategorie.AbsenceReasonOid;
-
- //noch alle daten übergeben
- // vert.KrankheitsMeldung = a.KrankheitsMeldung;
-
- try
- {
- string[] zeitraum = a.KrankheitsZeitraum.Split('-');
-
- vert.VertretungsZeitraumVon = DateTime.Parse(zeitraum[0]);
- vert.VertretungsZeitraumBis = DateTime.Parse(zeitraum[1]);
- }
- catch (Exception exception)
- {
- MessageBox.Show("Es ist ein Fehler beim splitten eines strings aufgetretten");
- }
- ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
+ ////miess eig. für jede vertretung ein update. / dieser bereiche muss komplett umgeschrieben werden
+ ////************************************************************************************************************
+ //var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
+
+
+ //VertretungDC vert = new VertretungDC()
+ //{
+ // CustomerOid = a.klientoid,
+ // EmployeeOid = a.mitarbeiteroid,
+ // VertretungsZeitraumVon = a.startD,
+ // VertretungsZeitraumBis = a.endD,
+ // AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid,
+ // VertretenderMitarbeiterOid = a.vertreteroid
+ //};
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
- //************************************************************************************************************
+ // ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
+
+ MessageBox.Show("Diese Funktion wird erst aktiviert wenn ich weis was mit den Verschiedenen Zeiten abgeht. Ansonsten gilt: \nÄhnliche Funktionsweise wie Bei der Tagesansicht. ");
+ //GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
+ //************************************************************************************************************
}
+ //????? Brauch ich das wirklich
private void GridViewWochenKlientBase_OnRowUpdated(object sender, CellValueChangedEventArgs e)
{
- var b = (Wochenansichten)GridDataControlKlientenWochenansicht.SelectedItem;
+ //var b = (Wochenansichten)GridDataControlKlientenWochenansicht.SelectedItem;
- //************************************************************************************************************
- var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
- VertretungDC vert = new VertretungDC();
+ ////************************************************************************************************************
+ //var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem;
+ //VertretungDC vert = new VertretungDC();
- vert = a.VertretungsDC;
+ //vert = a.VertretungsDC;
- vert.Notice = a.Beschreibung;
+ //vert.Notice = a.Beschreibung;
- //hier das gleiche wie in der MEthode drüber
- //vert.AbwesenheitsOid = a.AbwesenheitsKategorie.AbsenceReasonOid;
+ ////hier das gleiche wie in der MEthode drüber
+ ////vert.AbwesenheitsOid = a.AbwesenheitsKategorie.AbsenceReasonOid;
- //noch alle daten übergeben
- //vert.KrankheitsMeldung = a.KrankheitsMeldung;
+ ////noch alle daten übergeben
+ ////vert.KrankheitsMeldung = a.KrankheitsMeldung;
- try
- {
- string[] zeitraum = a.KrankheitsZeitraum.Split('-');
+ //DateTime[] behh = StringTo2Date(a.KrankheitsZeitraum);
- vert.VertretungsZeitraumVon = DateTime.Parse(zeitraum[0]);
- vert.VertretungsZeitraumBis = DateTime.Parse(zeitraum[1]);
- }
- catch (Exception exception)
- {
- MessageBox.Show("Es ist ein Fehler beim splitten eines strings aufgetretten");
- }
+ //vert.VertretungsZeitraumVon = behh[0];
+ //vert.VertretungsZeitraumBis = behh[1];
- ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
+ //VertretungDC vert = new VertretungDC()
+ //{
+ // CustomerOid = a.klientoid,
+ // EmployeeOid = a.mitarbeiteroid,
+ // VertretungsZeitraumVon = a.startD,
+ // VertretungsZeitraumBis = a.endD,
+ // AbsenceTimeOid = a.absenceTimeDC.AbsenceTimeOid,
+ // VertretenderMitarbeiterOid = a.vertreteroid
+ //};
+
+ //ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
- GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
+ //GetAllVertretungenOnLoad(Datepicker.DateTime.Date);
+
+ MessageBox.Show("Diese Funktion wird erst aktiviert wenn ich weis was mit den Verschiedenen Zeiten abgeht. Ansonsten gilt: \nÄhnliche Funktionsweise wie Bei der Tagesansicht. ");
//************************************************************************************************************
@@ -1088,10 +1919,7 @@ namespace BeWo.SchulbegleitenderDienst
}
public void KWWochenAnzeigen()
- {
- //Umbauen
- //DateTime Datelbl.Content
-
+ {
DateTime dt = DateTime.Parse(Datelbl.Content.ToString());
DateTime startdt = dt.FirstDateOfWeek(dt.GetIso8601WeekOfYear());
@@ -1114,14 +1942,29 @@ namespace BeWo.SchulbegleitenderDienst
}
- public void TagesAnzeige()
+ private void TagesAnzeige()
{
DateTime dt = Datepicker.DateTime;
Datelbl.Content = dt.ToString("dddd dd.MM.yyyy");
}
+ //################## Vertretung für Bstimmte Zeiten #################
+ //------------------------- Wochenanzeige Für jeden Tag eine Vertretung ermöglichen ---------------------
+
+
+
+
+ //-------------------------- StundenWeise Vertretung ermöglichen ----------------------------------------
+
+
+
+ //###################################################################
+ private void Aktualisieren_OnClick(object sender, RoutedEventArgs e)
+ {
+ GetAllVertretungenOnLoad(Datepicker.DateTime);
+ }
}
#region Connectoren
@@ -1131,6 +1974,23 @@ namespace BeWo.SchulbegleitenderDienst
public class SchulbegleitenderDienst //---> muss durch die VertretungsVM ersetzt weden.
{
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; }
@@ -1139,28 +1999,14 @@ namespace BeWo.SchulbegleitenderDienst
//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; }
- //{
- // get
- // {
- // //Bearbeiten, vllt Grid Updaten oder so
- // if (!Kunde.Equals(""))
- // {
- // return 1; //true
- // }
- // else
- // {
- // return 0; //false
- // }
- // }
-
- //}
-
+
public int IsMitarbeiter { get; set; }
//Villeicht mal schauen mal sehen
@@ -1169,6 +2015,7 @@ namespace BeWo.SchulbegleitenderDienst
get { return AbwesenheitsKategorie.Description; }
}
+ public string Arbeitszeit { get; set; }
}
@@ -1176,16 +2023,41 @@ namespace BeWo.SchulbegleitenderDienst
public class Wochenansichten
{
- public long? VertretungsOid { get; set; }
+ //public long? VertretungsOid { get; set; }
public string MaFrei { get; set; }
public string MaKrank { get; set; }
public string Kind { get; set; }
+
+ //Fürs WPF Klient
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; }
+
+ //Fürs WPF Employee
+ 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; }
+
+ //KlientenView
+ public Dictionary> vertretungsWoche { get; set; }
+
+ //MitarbeiterView
+ public Dictionary> KlientvertretungsWoche { get; set; }
+
}
}
diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml
index 9055d4f4b..d44b789c7 100644
--- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml
+++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml
@@ -7,8 +7,11 @@
Title="Chat Dokumentation" Height="500" Width="800" WindowStartupLocation="CenterScreen"
ResizeMode="CanResizeWithGrip" WindowStyle="None" Background="Transparent">
-
-
+
+
+
+
+
@@ -76,8 +79,36 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
index aa733c133..097c5f85b 100644
--- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
+++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
@@ -42,8 +42,10 @@ namespace BeWo.SchulbegleitenderDienst
public event EventHandler RaiseCustomEvent;
+ public event EventHandler RaiseKlientCustomEvent;
- public SchulbegleitenderDienstBearbeitungsView()
+
+ public SchulbegleitenderDienstBearbeitungsView(int y)
{
InitializeComponent();
@@ -53,6 +55,18 @@ namespace BeWo.SchulbegleitenderDienst
CloseWindow();
+
+
+ if (y == 1)
+ {
+ //y == 1 Mitarbeiterauswahl
+ rootGroupBoxMitarbeiter.Visibility = Visibility.Visible;
+ }else if (y == 2)
+ {
+ //y == 2 Klientenauswahl
+ rootGroupBoxKlient.Visibility = Visibility.Visible;
+ }
+
}
@@ -137,7 +151,10 @@ namespace BeWo.SchulbegleitenderDienst
CompactEmployeeDC x = MitarbeiterVertretungsearchview.SelectedItem;
RaiseCustomEvent(this, new CustomEventArgs(x));
+
+ Close();
}
+
}
//Schließe aktuelles Fenster
@@ -145,6 +162,19 @@ namespace BeWo.SchulbegleitenderDienst
{
Close();
}
+
+ private void ButtonBaseKlient_OnClick(object sender, RoutedEventArgs e)
+ {
+ if (Klientsearchview.SelectedItem != null)
+ {
+ CompactCustomerDC x = Klientsearchview.SelectedItem;
+
+ RaiseKlientCustomEvent(this, new CustomKlientEventArgs(x));
+
+ Close();
+ }
+
+ }
}
public class CustomEventArgs : EventArgs
@@ -159,4 +189,19 @@ namespace BeWo.SchulbegleitenderDienst
get { return dc; }
}
}
+
+ public class CustomKlientEventArgs : EventArgs
+ {
+ private CompactCustomerDC dc;
+
+ public CustomKlientEventArgs(CompactCustomerDC s)
+ {
+ dc = s;
+ }
+
+ public CompactCustomerDC Message
+ {
+ get { return dc; }
+ }
+ }
}
diff --git a/BeWo/ServiceProxy/Generated.cs b/BeWo/ServiceProxy/Generated.cs
index 4c7dc54df..ab614cece 100644
--- a/BeWo/ServiceProxy/Generated.cs
+++ b/BeWo/ServiceProxy/Generated.cs
@@ -504,6 +504,14 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetActiveCompactEmployeeWithOidBeWoFaultFault" +
"", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.Compact.CompactEmployeeDC GetActiveCompactEmployeeWithOid(long employeeOid);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/InsertNewArbeitsZeit", ReplyAction="http://tempuri.org/IEmployeeService/InsertNewArbeitsZeitResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/InsertNewArbeitsZeitBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void InsertNewArbeitsZeit(BS.Shared.DataContracts.ArbeitszeitDC arbeitszeit, BS.Shared.DataContracts.ArbeitszeitEintragDC arbeitszeitEintrag);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/UpdateArbeitszeit", ReplyAction="http://tempuri.org/IEmployeeService/UpdateArbeitszeitResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/UpdateArbeitszeitBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ BS.Shared.DataContracts.ArbeitszeitDC UpdateArbeitszeit(BS.Shared.DataContracts.ArbeitszeitDC pArbeitszeit);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -939,6 +947,16 @@ namespace BeWo.ServiceProxy
{
return base.Channel.GetActiveCompactEmployeeWithOid(employeeOid);
}
+
+ public void InsertNewArbeitsZeit(BS.Shared.DataContracts.ArbeitszeitDC arbeitszeit, BS.Shared.DataContracts.ArbeitszeitEintragDC arbeitszeitEintrag)
+ {
+ base.Channel.InsertNewArbeitsZeit(arbeitszeit, arbeitszeitEintrag);
+ }
+
+ public BS.Shared.DataContracts.ArbeitszeitDC UpdateArbeitszeit(BS.Shared.DataContracts.ArbeitszeitDC pArbeitszeit)
+ {
+ return base.Channel.UpdateArbeitszeit(pArbeitszeit);
+ }
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -4126,22 +4144,17 @@ namespace BeWo.ServiceProxy
"dDateBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List GetCustomerServiceRecordsCompactWithStartEndDate(long pCustomerOid, long costbearer2SupportConceptOid, System.DateTime start, System.DateTime ende);
- [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetAllVertretungen", ReplyAction="http://tempuri.org/IOperationsService/GetAllVertretungenResponse")]
- [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetAllVertretungenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
- System.Collections.Generic.List GetAllVertretungen();
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewEmployeeAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/InsertNewEmployeeAbsenceTimeResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewEmployeeAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void InsertNewEmployeeAbsenceTime(long employeeOid, BS.Shared.DataContracts.AbsenceTimeDC at);
- [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewMitarbeiterVertretung", ReplyAction="http://tempuri.org/IOperationsService/InsertNewMitarbeiterVertretungResponse")]
- [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewMitarbeiterVertretungBeWoFaultFaul" +
- "t", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
- void InsertNewMitarbeiterVertretung(BS.Shared.DataContracts.VertretungDC vertretungM, System.Nullable absenceReasonOid, System.DateTime krankheitsMeldung);
-
- [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewKlientenVertretung", ReplyAction="http://tempuri.org/IOperationsService/InsertNewKlientenVertretungResponse")]
- [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewKlientenVertretungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
- void InsertNewKlientenVertretung(BS.Shared.DataContracts.VertretungDC vertretungK, System.Nullable absenceReasonOid, System.DateTime krankheitsMeldung);
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewCustomerAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/InsertNewCustomerAbsenceTimeResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewCustomerAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void InsertNewCustomerAbsenceTime(long customerOid, BS.Shared.DataContracts.AbsenceTimeDC at);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteVertretung", ReplyAction="http://tempuri.org/IOperationsService/DeleteVertretungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteVertretungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
- void DeleteVertretung(BS.Shared.DataContracts.VertretungDC vert);
+ void DeleteVertretung(long vert);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateVertretung", ReplyAction="http://tempuri.org/IOperationsService/UpdateVertretungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateVertretungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
@@ -4151,6 +4164,23 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/VertretungsListeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.VertretungsListeDC VertretungsListe(System.DateTime absenceTime);
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/CreateVertretung", ReplyAction="http://tempuri.org/IOperationsService/CreateVertretungResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/CreateVertretungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void CreateVertretung(BS.Shared.DataContracts.VertretungDC vertretung);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeactivateAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/DeactivateAbsenceTimeResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeactivateAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void DeactivateAbsenceTime(System.Collections.Generic.Dictionary pOid2Version);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateVertretungAndAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/UpdateVertretungAndAbsenceTimeResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateVertretungAndAbsenceTimeBeWoFaultFaul" +
+ "t", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void UpdateVertretungAndAbsenceTime(BS.Shared.DataContracts.VertretungDC vert, BS.Shared.DataContracts.AbsenceTimeDC abs);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/UpdateAbsenceTimeResponse")]
+ [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
+ void UpdateAbsenceTime(BS.Shared.DataContracts.AbsenceTimeDC abs);
+
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeactivateInvoices", ReplyAction="http://tempuri.org/IOperationsService/DeactivateInvoicesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeactivateInvoicesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeactivateInvoices(System.Collections.Generic.List invoices);
@@ -4846,22 +4876,17 @@ namespace BeWo.ServiceProxy
return base.Channel.GetCustomerServiceRecordsCompactWithStartEndDate(pCustomerOid, costbearer2SupportConceptOid, start, ende);
}
- public System.Collections.Generic.List GetAllVertretungen()
+ public void InsertNewEmployeeAbsenceTime(long employeeOid, BS.Shared.DataContracts.AbsenceTimeDC at)
{
- return base.Channel.GetAllVertretungen();
+ base.Channel.InsertNewEmployeeAbsenceTime(employeeOid, at);
}
- public void InsertNewMitarbeiterVertretung(BS.Shared.DataContracts.VertretungDC vertretungM, System.Nullable absenceReasonOid, System.DateTime krankheitsMeldung)
+ public void InsertNewCustomerAbsenceTime(long customerOid, BS.Shared.DataContracts.AbsenceTimeDC at)
{
- base.Channel.InsertNewMitarbeiterVertretung(vertretungM, absenceReasonOid, krankheitsMeldung);
+ base.Channel.InsertNewCustomerAbsenceTime(customerOid, at);
}
- public void InsertNewKlientenVertretung(BS.Shared.DataContracts.VertretungDC vertretungK, System.Nullable absenceReasonOid, System.DateTime krankheitsMeldung)
- {
- base.Channel.InsertNewKlientenVertretung(vertretungK, absenceReasonOid, krankheitsMeldung);
- }
-
- public void DeleteVertretung(BS.Shared.DataContracts.VertretungDC vert)
+ public void DeleteVertretung(long vert)
{
base.Channel.DeleteVertretung(vert);
}
@@ -4876,6 +4901,26 @@ namespace BeWo.ServiceProxy
return base.Channel.VertretungsListe(absenceTime);
}
+ public void CreateVertretung(BS.Shared.DataContracts.VertretungDC vertretung)
+ {
+ base.Channel.CreateVertretung(vertretung);
+ }
+
+ public void DeactivateAbsenceTime(System.Collections.Generic.Dictionary pOid2Version)
+ {
+ base.Channel.DeactivateAbsenceTime(pOid2Version);
+ }
+
+ public void UpdateVertretungAndAbsenceTime(BS.Shared.DataContracts.VertretungDC vert, BS.Shared.DataContracts.AbsenceTimeDC abs)
+ {
+ base.Channel.UpdateVertretungAndAbsenceTime(vert, abs);
+ }
+
+ public void UpdateAbsenceTime(BS.Shared.DataContracts.AbsenceTimeDC abs)
+ {
+ base.Channel.UpdateAbsenceTime(abs);
+ }
+
public void DeactivateInvoices(System.Collections.Generic.List invoices)
{
base.Channel.DeactivateInvoices(invoices);
diff --git a/BeWo/View/Detail/EmployeeView.xaml b/BeWo/View/Detail/EmployeeView.xaml
index 94bda2b16..d1320d119 100644
--- a/BeWo/View/Detail/EmployeeView.xaml
+++ b/BeWo/View/Detail/EmployeeView.xaml
@@ -686,6 +686,8 @@
+
+
diff --git a/BeWo/View/Detail/EmployeeView.xaml.cs b/BeWo/View/Detail/EmployeeView.xaml.cs
index 54e1988bd..2f355c6fc 100644
--- a/BeWo/View/Detail/EmployeeView.xaml.cs
+++ b/BeWo/View/Detail/EmployeeView.xaml.cs
@@ -441,6 +441,14 @@ namespace BeWo.View.Detail
}
}
+ private void tabitem_arbeitszeit_Selected(object sender, RoutedEventArgs e)
+ {
+ if (tabitem_arbeitszeit.Content == null)
+ {
+ tabitem_arbeitszeit.Content = new EmployeeArbeitszeitView(_ViewModel, ViewModel.DataContract.EmployeeOid.Value);
+ }
+ }
+
private void tabitem_chatservice_Selected(object sender, RoutedEventArgs e)
{
if (tabitem_chatservice.Content == null)
diff --git a/BeWo/View/EmployeeArbeitszeitView.xaml b/BeWo/View/EmployeeArbeitszeitView.xaml
new file mode 100644
index 000000000..dfbdbb645
--- /dev/null
+++ b/BeWo/View/EmployeeArbeitszeitView.xaml
@@ -0,0 +1,247 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BeWo/View/EmployeeArbeitszeitView.xaml.cs b/BeWo/View/EmployeeArbeitszeitView.xaml.cs
new file mode 100644
index 000000000..875cdbdfd
--- /dev/null
+++ b/BeWo/View/EmployeeArbeitszeitView.xaml.cs
@@ -0,0 +1,122 @@
+using System;
+using System.ComponentModel;
+using System.IO;
+using System.Linq;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Documents;
+using System.Windows.Forms.VisualStyles;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Navigation;
+using System.Windows.Threading;
+
+using BeWo.Core;
+using BeWo.ViewModel;
+using BeWo.ServiceProxy;
+using BeWo.View.Controls;
+using BS.Shared.DataContracts;
+using BS.Shared.Extensions;
+using BS.Shared;
+using BS.Shared.Core;
+using DevExpress.Xpf.Editors;
+using Microsoft.Win32;
+
+namespace BeWo.View
+{
+ public partial class EmployeeArbeitszeitView
+ {
+
+ private EmployeeVM _ViewModel;
+
+
+ long? employeeOid;
+
+ public EmployeeArbeitszeitView(EmployeeVM employeeVm, long? oid)
+ {
+ InitializeComponent();
+
+ tabcontrol_Arbeitszeit.Loaded += (s, e) =>
+ {
+ if (tabcontrol_Arbeitszeit.Items.Count > 0)
+ {
+ tabcontrol_Arbeitszeit.SelectedIndex = tabcontrol_Arbeitszeit.Items.Count - 1;
+ }
+ };
+
+ employeeOid = oid;
+
+
+ ViewModel = employeeVm;
+
+ }
+
+ private EmployeeVM ViewModel
+ {
+ get { return _ViewModel; }
+
+ set
+ {
+ DataContext = value;
+ _ViewModel = value;
+ }
+ }
+
+
+
+ private void ButtonOpenAndAddArbeitszeitClick(object sender, RoutedEventArgs e)
+ {
+ ViewModel.Arbeitszeiten.AddNewVMToList();
+
+ tabcontrol_Arbeitszeit.SelectedIndex = tabcontrol_Arbeitszeit.Items.Count - 1;
+ }
+
+
+ private void PopupNewArbeitszeit_Click(object sender, RoutedEventArgs e)
+ {
+ var tab = tabcontrol_Arbeitszeit.Items.GetItemAt(tabcontrol_Arbeitszeit.SelectedIndex);
+
+ var avm = tab as ArbeitszeitVM;
+
+ if (avm != null)
+ {
+ avm.ArbeitszeitEintraege.AddNewVMToList();
+ }
+
+
+ var popup = tabcontrol_Arbeitszeit.GetAllChildren().OfType();
+
+ var popup_NewArbeitszeitEintrag = popup.First(x => x.Name.Equals("popup_newArbeitszeitEintrag"));
+
+ popup_NewArbeitszeitEintrag.IsOpen = false;
+
+ }
+
+ private void btn_deleteArbeitszeit_Click(object sender, RoutedEventArgs e)
+ {
+ var arbeitszeit = tabcontrol_Arbeitszeit.SelectedItem as ArbeitszeitVM;
+
+ ViewModel.Arbeitszeiten.VMList.Remove(arbeitszeit);
+ }
+
+
+ private void AddArbeitszeitToView_Click(object sender, RoutedEventArgs e)
+ {
+ var popup = tabcontrol_Arbeitszeit.GetAllChildren().OfType();
+
+ var popup_NewArbeitszeitEintrag = popup.First(x => x.Name.Equals("popup_newArbeitszeitEintrag"));
+
+ popup_NewArbeitszeitEintrag.IsOpen = true;
+ }
+
+ private void PopupArbeitszeitClose_Click(object sender, RoutedEventArgs e)
+ {
+ var popup = tabcontrol_Arbeitszeit.GetAllChildren().OfType();
+
+ var popup_NewArbeitszeitEintrag = popup.First(x => x.Name.Equals("popup_newArbeitszeitEintrag"));
+
+ popup_NewArbeitszeitEintrag.IsOpen = false;
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWo/ViewModel/AbstractDCMapperVM.cs b/BeWo/ViewModel/AbstractDCMapperVM.cs
index bb362c715..0a462aa1e 100644
--- a/BeWo/ViewModel/AbstractDCMapperVM.cs
+++ b/BeWo/ViewModel/AbstractDCMapperVM.cs
@@ -19,6 +19,7 @@ namespace BeWo.ViewModel
public AbstractDCMapperVM(DCType pDataContract, bool pIsNew)
{
+
_IsNew = pIsNew;
DataContract = pDataContract;
InitByDataContract(DataContract);
@@ -45,7 +46,10 @@ namespace BeWo.ViewModel
return _IsNew.Value;
}
- set { _IsNew = value; }
+ set
+ {
+ _IsNew = value;
+ }
}
internal DCType DataContract { get; set; }
diff --git a/BeWo/ViewModel/ArbeitszeitEintragVM.cs b/BeWo/ViewModel/ArbeitszeitEintragVM.cs
new file mode 100644
index 000000000..78c85eaf1
--- /dev/null
+++ b/BeWo/ViewModel/ArbeitszeitEintragVM.cs
@@ -0,0 +1,113 @@
+using BS.Shared;
+using BS.Shared.DataContracts;
+using System;
+
+namespace BeWo.ViewModel
+{
+ public class ArbeitszeitEintragVM : AbstractDCMapperVM
+ {
+ public static string PropertyName_UhrzeitVon = "UhrzeitVon";
+
+ public static string PropertyName_UhrzeitBis = "UhrzeitBis";
+
+ public static string PropertyName_Tag = "Tag";
+
+ public static string PropertyName_Notice = "Notice";
+
+ private string _UhrzeitVon;
+
+ private string _UhrzeitBis;
+
+ private AppointmentDayOfWeek _Tag;
+
+ private string _Notice;
+
+
+ public ArbeitszeitEintragVM(ArbeitszeitEintragDC pDC)
+ : base(pDC, pDC.ArbeitszeitEintragOid == null)
+ {
+ }
+
+ public string UhrzeitVon
+ {
+ get { return this._UhrzeitVon; }
+
+ set
+ {
+ if (this.AreDifferent(this._UhrzeitVon, value))
+ {
+ this._UhrzeitVon = value;
+ this.StoreDirtyInformation(this.AreDifferent(this.DataContract.UhrzeitVon, value), PropertyName_UhrzeitVon);
+ this.FirePropertyChanged(PropertyName_UhrzeitVon);
+ }
+ }
+ }
+
+ public string UhrzeitBis
+ {
+ get { return this._UhrzeitBis; }
+
+ set
+ {
+ if (this.AreDifferent(this._UhrzeitBis, value))
+ {
+ this._UhrzeitBis = value;
+ this.StoreDirtyInformation(this.AreDifferent(this.DataContract.UhrzeitBis, value), PropertyName_UhrzeitBis);
+ this.FirePropertyChanged(PropertyName_UhrzeitBis);
+ }
+ }
+ }
+
+
+ public AppointmentDayOfWeek Tag
+ {
+ get { return this._Tag; }
+
+ set
+ {
+ if (this.AreDifferent(this._Tag, value))
+ {
+ this._Tag = value;
+ this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Tag, value), PropertyName_Tag);
+ this.FirePropertyChanged(PropertyName_Tag);
+ }
+ }
+ }
+
+ public string Notice
+ {
+ get { return _Notice; }
+
+ set
+ {
+ if (AreDifferent(_Notice, value))
+ {
+ _Notice = value;
+ StoreDirtyInformation(AreDifferent(DataContract.Notice, value), PropertyName_Notice);
+ FirePropertyChanged(PropertyName_Notice);
+ }
+ }
+ }
+
+
+ protected override void InitByDataContract(ArbeitszeitEintragDC pDataContract)
+ {
+ this._Tag = pDataContract.Tag;
+ this._UhrzeitVon = pDataContract.UhrzeitVon;
+ this._UhrzeitBis = pDataContract.UhrzeitBis;
+ this._Notice = pDataContract.Notice;
+
+ }
+
+ protected override ArbeitszeitEintragDC MapToDataContract(ArbeitszeitEintragDC pDataContract, bool doCommit)
+ {
+ pDataContract.UhrzeitVon = _UhrzeitVon;
+ pDataContract.UhrzeitBis = _UhrzeitBis;
+ pDataContract.Tag = _Tag;
+ pDataContract.Notice = _Notice;
+
+
+ return pDataContract;
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWo/ViewModel/ArbeitszeitVM.cs b/BeWo/ViewModel/ArbeitszeitVM.cs
new file mode 100644
index 000000000..71b084bae
--- /dev/null
+++ b/BeWo/ViewModel/ArbeitszeitVM.cs
@@ -0,0 +1,157 @@
+using BS.Shared;
+using BS.Shared.DataContracts;
+using System;
+using System.Collections.Generic;
+using BeWo.ViewModel.ListViewModel;
+
+namespace BeWo.ViewModel
+{
+ public class ArbeitszeitVM : AbstractDCMapperVM
+ {
+ public static string PropertyName_GueltigVon = "GueltigVon";
+
+ public static string PropertyName_GueltigBis = "GueltigBis";
+
+ public static string PropertyName_Notice = "Notice";
+
+ public static string PropertyName_ArbeitszeitEintragListeVM = "ArbeitszeitEintragListeVM";
+
+ public static string PropertyName_ArbeitszeitString = "ArbeitszeitString";
+
+ private DateTime? _GueltigVon;
+
+ private DateTime? _GueltigBis;
+
+ private string _Notice;
+
+ private ArbeitszeitEintragListVM _ArbeitszeitEintraege;
+
+
+ public ArbeitszeitVM(ArbeitszeitDC pDC)
+ : base(pDC, pDC.ArbeitszeitOid == null)
+ {
+ }
+
+ public override bool IsDirty
+ {
+ get
+ {
+ return base.IsDirty || (_ArbeitszeitEintraege != null && _ArbeitszeitEintraege.IsDirty);
+ }
+ }
+
+ public DateTime? GueltigVon
+ {
+ get { return this._GueltigVon; }
+
+ set
+ {
+ if (this.AreDifferent(this._GueltigVon, value))
+ {
+ this._GueltigVon = value;
+ this.StoreDirtyInformation(this.AreDifferent(this.DataContract.GueltigVon, value), PropertyName_GueltigVon);
+ this.FirePropertyChanged(PropertyName_GueltigVon);
+ this.FirePropertyChanged(PropertyName_ArbeitszeitString);
+ }
+ }
+ }
+
+ public DateTime? GueltigBis
+ {
+ get { return this._GueltigBis; }
+
+ set
+ {
+ if (this.AreDifferent(this._GueltigBis, value))
+ {
+ this._GueltigBis = value;
+ this.StoreDirtyInformation(this.AreDifferent(this.DataContract.GueltigBis, value), PropertyName_GueltigBis);
+ this.FirePropertyChanged(PropertyName_GueltigBis);
+ this.FirePropertyChanged(PropertyName_ArbeitszeitString);
+ }
+ }
+ }
+
+ public string Notice
+ {
+ get { return _Notice; }
+
+ set
+ {
+ if (AreDifferent(_Notice, value))
+ {
+ _Notice = value;
+ StoreDirtyInformation(AreDifferent(DataContract.Notice, value), PropertyName_Notice);
+ FirePropertyChanged(PropertyName_Notice);
+ }
+ }
+ }
+
+ public string ArbeitszeitString
+ {
+ get
+ {
+ String text = "";
+ if (this._GueltigVon.HasValue)
+ {
+ text = String.Format("Arbeitszeit vom {0:dd.MM.yyyy}", this._GueltigVon);
+
+ if (this._GueltigBis.HasValue)
+ {
+ text += String.Format(" - {0:dd.MM.yyyy}", this._GueltigBis);
+ }
+ }
+ else
+ {
+ if (this._GueltigBis.HasValue)
+ {
+ text = String.Format("Arbeitszeit bis {0:dd.MM.yyyy}", this._GueltigBis);
+ }
+ }
+ if (String.IsNullOrEmpty(text))
+ {
+ if (this.IsNew)
+ text = "Neue Arbeitszeit";
+ else
+ text = "Arbeitszeit";
+ }
+ return text;
+ }
+
+ set { }
+ }
+
+
+
+ public ArbeitszeitEintragListVM ArbeitszeitEintraege
+ {
+ get { return _ArbeitszeitEintraege; }
+ set
+ {
+ _ArbeitszeitEintraege = value;
+ FirePropertyChanged(PropertyName_ArbeitszeitEintragListeVM);
+ }
+ }
+
+ protected override void InitByDataContract(ArbeitszeitDC pDataContract)
+ {
+ this._GueltigBis = pDataContract.GueltigBis;
+ this._GueltigVon = pDataContract.GueltigVon;
+ this._Notice = pDataContract.Notice;
+
+ ArbeitszeitEintraege = VMFactory.CreateArbeitszeitEintragListVm(pDataContract.Eintraege ?? (pDataContract.Eintraege = new List()));
+
+ }
+
+ protected override ArbeitszeitDC MapToDataContract(ArbeitszeitDC pDataContract, bool doCommit)
+ {
+ pDataContract.GueltigVon = _GueltigVon;
+ pDataContract.GueltigBis = _GueltigBis;
+ pDataContract.Notice = _Notice;
+
+ pDataContract.Eintraege = _ArbeitszeitEintraege.CopyToDCList(doCommit);
+
+ return pDataContract;
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWo/ViewModel/EmployeeVM.cs b/BeWo/ViewModel/EmployeeVM.cs
index cbccb879b..9b63a99e9 100644
--- a/BeWo/ViewModel/EmployeeVM.cs
+++ b/BeWo/ViewModel/EmployeeVM.cs
@@ -76,6 +76,7 @@ namespace BeWo.ViewModel
public static String PropertyName_EmployeeColor = "EmployeeColor";
public static String PropertyName_EmployeeBrush = "EmployeeBrush";
public static string PropertyName_EmployeeImage = "EmployeeImage";
+ public static string PropertyName_Arbeitszeiten = "Arbeitszeiten";
#endregion
@@ -126,6 +127,7 @@ namespace BeWo.ViewModel
private String _EmployeeColor;
private SolidColorBrush _EmployeeBrush;
private byte[] _EmployeeImage;
+ private ArbeitszeitListVM _ArbeitszeitListe;
public EmployeeVM(
EmployeeDC pEmployeeDC, IList pPossibleTypes, IEnumerable pPossibleQualifications,
@@ -135,7 +137,8 @@ namespace BeWo.ViewModel
_PossibleEmploymentTypes = pPossibleTypes;
Contracts = new ContractListVM(_PossibleEmploymentTypes, DataContract.Contracts ?? (DataContract.Contracts = new List()));
-
+ Arbeitszeiten = new ArbeitszeitListVM(DataContract.Arbeitszeiten);
+
_PossibleQualifications = DataContract.Qualifications != null
? new ObservableSortCollection(pPossibleQualifications.Except(DataContract.Qualifications), Comparer.ValueListEntryDCComparer)
: new ObservableSortCollection(pPossibleQualifications, Comparer.ValueListEntryDCComparer);
@@ -260,6 +263,17 @@ namespace BeWo.ViewModel
}
}
+ public ArbeitszeitListVM Arbeitszeiten
+ {
+ get { return _ArbeitszeitListe; }
+
+ set
+ {
+ _ArbeitszeitListe = value;
+ FirePropertyChanged(PropertyName_Arbeitszeiten);
+ }
+ }
+
public ContractVM LastContract
{
get
@@ -596,7 +610,7 @@ namespace BeWo.ViewModel
get
{
return base.IsDirty || (CustomerRelations != null && CustomerRelations.IsDirty)
- || (_AbsenceTimes != null && _AbsenceTimes.IsDirty) || (_Contracts != null && _Contracts.IsDirty) || (_Overtimes != null && _Overtimes.IsDirty);
+ || (_AbsenceTimes != null && _AbsenceTimes.IsDirty) || (_Contracts != null && _Contracts.IsDirty) || (_Overtimes != null && _Overtimes.IsDirty) || (_ArbeitszeitListe != null && _ArbeitszeitListe.IsDirty);
}
}
@@ -1073,7 +1087,7 @@ namespace BeWo.ViewModel
_Text5 = pDataContract.Text5;
_Notice2 = pDataContract.Notice2;
_EmployeeColor = pDataContract.EmployeeColor;
-
+
if (pDataContract.Images != null && pDataContract.Images.Count > 0)
{
_EmployeeImage = pDataContract.Images[0];
@@ -1229,6 +1243,11 @@ namespace BeWo.ViewModel
pDataContract.Contracts = _Contracts.CopyToDCList(doCommit);
}
+ if (_ArbeitszeitListe != null)
+ {
+ pDataContract.Arbeitszeiten = _ArbeitszeitListe.CopyToDCList(doCommit);
+ }
+
if (_Overtimes != null)
{
pDataContract.Overtimes = _Overtimes.CopyToDCList(doCommit);
diff --git a/BeWo/ViewModel/ListViewModel/ArbeitszeitEintragListVM.cs b/BeWo/ViewModel/ListViewModel/ArbeitszeitEintragListVM.cs
new file mode 100644
index 000000000..845ea9b5a
--- /dev/null
+++ b/BeWo/ViewModel/ListViewModel/ArbeitszeitEintragListVM.cs
@@ -0,0 +1,15 @@
+using System.Collections.Generic;
+
+using BS.Shared.DataContracts;
+
+namespace BeWo.ViewModel.ListViewModel
+{
+ public class ArbeitszeitEintragListVM : AbstractDCListMapperVM
+ {
+ public ArbeitszeitEintragListVM(IEnumerable pList)
+ : base(pList)
+ {
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWo/ViewModel/ListViewModel/ArbeitszeitListVM.cs b/BeWo/ViewModel/ListViewModel/ArbeitszeitListVM.cs
new file mode 100644
index 000000000..9e634f80b
--- /dev/null
+++ b/BeWo/ViewModel/ListViewModel/ArbeitszeitListVM.cs
@@ -0,0 +1,21 @@
+using System.Collections.Generic;
+
+using BS.Shared.DataContracts;
+
+namespace BeWo.ViewModel.ListViewModel
+{
+ public class ArbeitszeitListVM : AbstractDCListMapperVM
+ {
+ public ArbeitszeitListVM(List pDCs)
+ : base(pDCs)
+ {
+ }
+
+ protected override ArbeitszeitVM CreateVM(ArbeitszeitDC pDC)
+ {
+ ArbeitszeitVM vm = base.CreateVM(pDC);
+
+ return vm;
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWo/ViewModel/VMFactory.cs b/BeWo/ViewModel/VMFactory.cs
index 964fd9cef..55c66bc1b 100644
--- a/BeWo/ViewModel/VMFactory.cs
+++ b/BeWo/ViewModel/VMFactory.cs
@@ -730,5 +730,10 @@ namespace BeWo.ViewModel
{
return new SupportConceptApprovalPeriodEmployeeRelListVM(pList);
}
+
+ public static ArbeitszeitEintragListVM CreateArbeitszeitEintragListVm(IEnumerable pList)
+ {
+ return new ArbeitszeitEintragListVM(pList);
+ }
}
}
\ No newline at end of file
diff --git a/BeWoPlanerAndroid/BeWoPlanerAndroid.csproj b/BeWoPlanerAndroid/BeWoPlanerAndroid.csproj
index 4cb61581c..cebe0478b 100644
--- a/BeWoPlanerAndroid/BeWoPlanerAndroid.csproj
+++ b/BeWoPlanerAndroid/BeWoPlanerAndroid.csproj
@@ -137,7 +137,7 @@
False
True
- 65460
+ 58676
/
http://localhost/BeWoPlanerAndroid
False
diff --git a/BeWoPlanerAndroid/Web.config b/BeWoPlanerAndroid/Web.config
index 5c180b9d0..f0cab4d14 100644
--- a/BeWoPlanerAndroid/Web.config
+++ b/BeWoPlanerAndroid/Web.config
@@ -34,7 +34,7 @@
-
+
diff --git a/BeWoPlanerMobil/Web.config b/BeWoPlanerMobil/Web.config
index 5d3057b1c..8c12ed9ee 100644
--- a/BeWoPlanerMobil/Web.config
+++ b/BeWoPlanerMobil/Web.config
@@ -124,7 +124,7 @@
-
+
diff --git a/Data/Access/SearchDAO.cs b/Data/Access/SearchDAO.cs
index f325eb32c..0daadda88 100644
--- a/Data/Access/SearchDAO.cs
+++ b/Data/Access/SearchDAO.cs
@@ -2053,9 +2053,47 @@ namespace BeWo.Data.Access
var lcustomer = DAOFactory.GenericDAO.GetActiveByIDs(customer);
- liste.Customerlist = lcustomer.ToList();
+ liste.Customerlist = lcustomer.ToList();
+
+
+ var qemployeeArbeitszeit = Session.CreateSQLQuery("SELECT Oid FROM Arbeitszeit");
+ var employeeArbeitszeit = qemployeeArbeitszeit.List();
+
+ var larbeitszeit = DAOFactory.GenericDAO.GetActiveByIDs(employeeArbeitszeit);
+
+ liste.Arbeitszeitliste = larbeitszeit.ToList();
return liste;
}
+
+ public ArbeitszeitListe FindEmployeeArbeitszeitListe(long employeeOid)
+ {
+ var c = CreateCriteria().Add(Restrictions.Eq(Arbeitszeit.PropertyName_EmployeeOid,employeeOid));
+
+ List nAr = new List();
+
+
+ foreach (var item in c.List())
+ {
+ nAr.Add(item.Oid.Value);
+ }
+
+ ArbeitszeitListe a = new ArbeitszeitListe();
+ a.Arbeitszeit = c.List().ToList();
+
+ if(nAr.Count != 0){
+ var cEintrag =
+ CreateCriteria()
+ .Add(Restrictions.In(ArbeitszeitEintrag.PropertyName_ArbeitszeitOid, nAr));
+
+
+
+ a.ArbeitszeitEintrag = cEintrag.List().ToList();
+
+ }
+
+ return a;
+ }
+
}
}
diff --git a/Data/Data.csproj b/Data/Data.csproj
index 269204356..3cba8fa1e 100644
--- a/Data/Data.csproj
+++ b/Data/Data.csproj
@@ -159,6 +159,9 @@
+
+
+
@@ -557,6 +560,12 @@
PreserveNewest
+
+ Designer
+
+
+ Designer
+
Designer
diff --git a/Data/Entities/Arbeitszeit.cs b/Data/Entities/Arbeitszeit.cs
new file mode 100644
index 000000000..0775f4fdc
--- /dev/null
+++ b/Data/Entities/Arbeitszeit.cs
@@ -0,0 +1,88 @@
+using BS.Shared;
+using System;
+using System.Collections.Generic;
+
+namespace BeWo.Data.Entities
+{
+ public class Arbeitszeit : BeWoEntityBase
+ {
+ public static string PropertyName_GueltigVon = "GueltigVon";
+
+ public static string PropertyName_GueltigBis = "GueltigBis";
+
+ public static string PropertyName_EmployeeOid = "EmployeeOid";
+
+ public static string PropertyName_ArbeitsZeiteintragListe = "ArbeitszeitEintraege";
+
+ private DateTime? _GueltigVon;
+
+ private DateTime? _GueltigBis;
+
+ private long? _EmployeeOid;
+
+ private IList _ArbeitszeitEintraege;
+
+
+
+ public virtual DateTime? GueltigVon
+ {
+ get
+ {
+ return this._GueltigVon;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._GueltigVon, value))
+ {
+ this._GueltigVon = value;
+ }
+ }
+ }
+
+ public virtual DateTime? GueltigBis
+ {
+ get
+ {
+ return this._GueltigBis;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._GueltigBis, value))
+ {
+ this._GueltigBis = value;
+ }
+ }
+ }
+
+
+ public virtual long? EmployeeOid
+ {
+ get
+ {
+ return this._EmployeeOid;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._EmployeeOid, value))
+ {
+ this._EmployeeOid = value;
+ }
+ }
+ }
+
+ public virtual IList ArbeitszeitEintraege
+ {
+ get { return this._ArbeitszeitEintraege ?? (_ArbeitszeitEintraege = new List()); }
+ set
+ {
+ if (this.AreDifferent(this._ArbeitszeitEintraege, value))
+ {
+ this._ArbeitszeitEintraege = value;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Data/Entities/ArbeitszeitEintrag.cs b/Data/Entities/ArbeitszeitEintrag.cs
new file mode 100644
index 000000000..012846686
--- /dev/null
+++ b/Data/Entities/ArbeitszeitEintrag.cs
@@ -0,0 +1,91 @@
+using BS.Shared;
+using System;
+
+namespace BeWo.Data.Entities
+{
+ public class ArbeitszeitEintrag : BeWoEntityBase
+ {
+ public static string PropertyName_UhrzeitVon = "UhrzeitVon";
+
+ public static string PropertyName_UhrzeitBis = "UhrzeitBis";
+
+ public static string PropertyName_Tag = "Tag";
+
+ public static string PropertyName_ArbeitszeitOid = "ArbeitszeitOid";
+
+ private string _UhrzeitVon;
+
+ private string _UhrzeitBis;
+
+ private AppointmentDayOfWeek _Tag;
+
+ private long? _ArbeitszeitOid;
+
+
+ public virtual string UhrzeitVon
+ {
+ get
+ {
+ return this._UhrzeitVon;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._UhrzeitVon, value))
+ {
+ this._UhrzeitVon = value;
+ }
+ }
+ }
+
+ public virtual string UhrzeitBis
+ {
+ get
+ {
+ return this._UhrzeitBis;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._UhrzeitBis, value))
+ {
+ this._UhrzeitBis = value;
+ }
+ }
+ }
+
+
+ public virtual AppointmentDayOfWeek Tag
+ {
+ get
+ {
+ return this._Tag;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._Tag, value))
+ {
+ this._Tag = value;
+ }
+ }
+ }
+
+ public virtual long? ArbeitszeitOid
+ {
+ get
+ {
+ return this._ArbeitszeitOid;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._ArbeitszeitOid, value))
+ {
+ this._ArbeitszeitOid = value;
+ }
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Data/Entities/ArbeitszeitListe.cs b/Data/Entities/ArbeitszeitListe.cs
new file mode 100644
index 000000000..f88a74561
--- /dev/null
+++ b/Data/Entities/ArbeitszeitListe.cs
@@ -0,0 +1,51 @@
+using BS.Shared;
+using System;
+using System.Collections.Generic;
+
+namespace BeWo.Data.Entities
+{
+ public class ArbeitszeitListe : BeWoEntityBase
+ {
+ public static string PropertyName_ArbeitszeitEintrag = "ArbeitszeitEintrag";
+
+ public static string PropertyName_Arbeitszeit = "Arbeitszeit";
+
+ private List _ArbeitszeitEintrag;
+
+ private List _Arbeitszeit;
+
+
+ public virtual List ArbeitszeitEintrag
+ {
+ get
+ {
+ return this._ArbeitszeitEintrag;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._ArbeitszeitEintrag, value))
+ {
+ this._ArbeitszeitEintrag = value;
+ }
+ }
+ }
+
+ public virtual List Arbeitszeit
+ {
+ get
+ {
+ return this._Arbeitszeit;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._Arbeitszeit, value))
+ {
+ this._Arbeitszeit = value;
+ }
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Data/Entities/Employee.cs b/Data/Entities/Employee.cs
index 10bac64a4..ade8bbcfe 100644
--- a/Data/Entities/Employee.cs
+++ b/Data/Entities/Employee.cs
@@ -36,6 +36,8 @@ namespace BeWo.Data.Entities
public static string PropertyName_Contracts = "Contracts";
+ public static string PropertyName_Arbeitszeit = "Arbeitszeit";
+
public static string PropertyName_Text1 = "Text1";
public static string PropertyName_Text2 = "Text2";
@@ -54,6 +56,8 @@ namespace BeWo.Data.Entities
private IList _Contracts;
+ private IList _Arbeitszeit;
+
private IList _Employee2CustomerList;
private string _HealthInsurance;
@@ -152,6 +156,19 @@ namespace BeWo.Data.Entities
}
}
+ public virtual IList Arbeitszeit
+ {
+ get { return _Arbeitszeit ?? (_Arbeitszeit = new List()); }
+
+ set
+ {
+ if (AreDifferent(_Arbeitszeit, value))
+ {
+ _Arbeitszeit = value;
+ }
+ }
+ }
+
public virtual IList Employee2CustomerList
{
get { return _Employee2CustomerList ?? (_Employee2CustomerList = new List()); }
diff --git a/Data/Entities/VertretungsListe.cs b/Data/Entities/VertretungsListe.cs
index a844061f3..2c544f7ce 100644
--- a/Data/Entities/VertretungsListe.cs
+++ b/Data/Entities/VertretungsListe.cs
@@ -14,6 +14,8 @@ namespace BeWo.Data.Entities
public static string PropertyName_AbsenceReasonsListe = "AbsenceTimesListe";
+ public static string PropertyName_Arbeitszeitliste = "Arbeitszeitliste";
+
public static string PropertyName_Employee2CustomerHauptbetreuung = "Employee2CustomerHauptbetreuung";
private List _vertretunglist;
@@ -24,6 +26,8 @@ namespace BeWo.Data.Entities
private List _absenceTimelist;
+ private List _arbeitszeitliste;
+
private Dictionary> _employee2CustomerHauptbetreuung;
public virtual List Vertretunglist
@@ -90,6 +94,22 @@ namespace BeWo.Data.Entities
}
}
+ public virtual List Arbeitszeitliste
+ {
+ get
+ {
+ return this._arbeitszeitliste;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._arbeitszeitliste, value))
+ {
+ this._arbeitszeitliste = value;
+ }
+ }
+ }
+
public virtual Dictionary> Employee2CustomerHauptbetreuung
{
get
diff --git a/Data/Mappings/Arbeitszeit.hbm.xml b/Data/Mappings/Arbeitszeit.hbm.xml
new file mode 100644
index 000000000..9b636dcb3
--- /dev/null
+++ b/Data/Mappings/Arbeitszeit.hbm.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Data/Mappings/ArbeitszeitEintrag.hbm.xml b/Data/Mappings/ArbeitszeitEintrag.hbm.xml
new file mode 100644
index 000000000..f877e1914
--- /dev/null
+++ b/Data/Mappings/ArbeitszeitEintrag.hbm.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Data/Mappings/Employee.hbm.xml b/Data/Mappings/Employee.hbm.xml
index 23304347f..f5cff0c87 100644
--- a/Data/Mappings/Employee.hbm.xml
+++ b/Data/Mappings/Employee.hbm.xml
@@ -72,5 +72,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Model/Changes_2017_05_11.txt b/Model/Changes_2017_05_11.txt
new file mode 100644
index 000000000..6b27bcb51
--- /dev/null
+++ b/Model/Changes_2017_05_11.txt
@@ -0,0 +1,55 @@
+CREATE TABLE `1234567890`.`arbeitszeit` (
+ `Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
+
+ `EmployeeOid` BIGINT(19) NULL COMMENT '',
+ `Tid` INT(10) NULL COMMENT '',
+ `Notice` VARCHAR(1024) NULL COMMENT '',
+
+ `InsTs` DATETIME NULL COMMENT '',
+ `InsUser` VARCHAR(1024) NULL COMMENT '',
+ `Version` BIGINT(19) NULL COMMENT '',
+
+`UdpUser` VARCHAR(256) NULL COMMENT '',
+ `isActive` TINYINT(4) NULL COMMENT '',
+ `SystemEntryID` INT(10) NULL COMMENT '',
+
+`GueltigVon` DATETIME NULL COMMENT '',
+ `GueltigBis` DATETIME NULL COMMENT '',
+ PRIMARY KEY (`Oid`) COMMENT '');
+
+
+
+
+
+
+CREATE TABLE `1234567890`.`arbeitszeiteintrag` (
+ `Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
+ `ArbeitszeitOid` BIGINT(19) NULL COMMENT '',
+
+ `Tid` INT(10) NULL COMMENT '',
+ `Notice` VARCHAR(1024) NULL COMMENT '',
+ `InsTs` DATETIME NULL COMMENT '',
+ `InsUser` VARCHAR(1024) NULL COMMENT '',
+
+ `Version` BIGINT(19) NULL COMMENT '',
+ `UdpUser` VARCHAR(256) NULL COMMENT '',
+ `isActive` TINYINT(4) NULL COMMENT '',
+ `SystemEntryID` INT(10) NULL COMMENT '',
+
+ `Tag` DATETIME NULL COMMENT '',
+ `UhrzeitVon` DATETIME NULL COMMENT '',
+ `UhrzeitBis` DATETIME NULL COMMENT '',
+ PRIMARY KEY (`Oid`) COMMENT '');
+
+
+
+
+ALTER TABLE `1234567890`.`arbeitszeiteintrag`
+CHANGE COLUMN `Tag` `Tag` INT(10) NULL DEFAULT NULL COMMENT '' ;
+
+
+ALTER TABLE `1234567890`.`arbeitszeiteintrag`
+
+CHANGE COLUMN `UhrzeitVon` `UhrzeitVon` VARCHAR(256) NULL DEFAULT NULL COMMENT '' ,
+
+CHANGE COLUMN `UhrzeitBis` `UhrzeitBis` VARCHAR(256) NULL DEFAULT NULL COMMENT '' ;
diff --git a/ReportImp/BetreuWoReports/Kostenstellenauswertung2.cs b/ReportImp/BetreuWoReports/Kostenstellenauswertung2.cs
index e5d805bd4..99178d405 100644
--- a/ReportImp/BetreuWoReports/Kostenstellenauswertung2.cs
+++ b/ReportImp/BetreuWoReports/Kostenstellenauswertung2.cs
@@ -10,7 +10,6 @@ using BS.Shared.Extensions;
using BS.Shared.Services;
using BS.Shared.DataContracts;
using BeWo.Service.DCEntityMapper;
-using DevExpress.XtraPivotGrid.Data.Wrappers;
namespace BeWo.BetreuWoReports
{
diff --git a/ReportImp/BetreuWoReports/Kostenstellenauswertung3.cs b/ReportImp/BetreuWoReports/Kostenstellenauswertung3.cs
index 4b0dbe49a..41fc16f39 100644
--- a/ReportImp/BetreuWoReports/Kostenstellenauswertung3.cs
+++ b/ReportImp/BetreuWoReports/Kostenstellenauswertung3.cs
@@ -10,7 +10,6 @@ using BS.Shared.Extensions;
using BS.Shared.Services;
using BS.Shared.DataContracts;
using BeWo.Service.DCEntityMapper;
-using DevExpress.XtraPivotGrid.Data.Wrappers;
namespace BeWo.BetreuWoReports.Kostenstellenauswertung3
{
diff --git a/ReportImp/HphBersenbrueckAtz/HphBersenbrueckAtz.csproj b/ReportImp/HphBersenbrueckAtz/HphBersenbrueckAtz.csproj
index 988e5c175..b6e03fb64 100644
--- a/ReportImp/HphBersenbrueckAtz/HphBersenbrueckAtz.csproj
+++ b/ReportImp/HphBersenbrueckAtz/HphBersenbrueckAtz.csproj
@@ -9,8 +9,9 @@
Properties
HphBersenbrueckAtz
1106039294_Reports
- v4.5.2
+ v4.0
512
+
true
@@ -30,12 +31,11 @@
4
-
-
-
-
-
-
+
+
+
+
+
@@ -53,12 +53,6 @@
-
- Component
-
-
- QueryListReport.cs
-
Component
@@ -68,10 +62,6 @@
-
- QueryListReport.cs
- Designer
-
ServicesOverviewReport.cs
@@ -94,6 +84,9 @@
Shared
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 17, 17
-
-
-
-
- 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
- YII=
-
-
-
- 154, 17
-
-
\ No newline at end of file
diff --git a/Service/DCEntityMapper/AbsenceTimeDC_AbsenceTime.cs b/Service/DCEntityMapper/AbsenceTimeDC_AbsenceTime.cs
index 6603d2bca..742a192e4 100644
--- a/Service/DCEntityMapper/AbsenceTimeDC_AbsenceTime.cs
+++ b/Service/DCEntityMapper/AbsenceTimeDC_AbsenceTime.cs
@@ -19,6 +19,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.EmployeeOid = pEntity.EmployeeOid;
pDataContract.CustomerOid = pEntity.CustomerOid;
+
pDataContract.KrankheitsMeldung = pEntity.KrankheitsMeldung;
return pDataContract;
@@ -36,8 +37,6 @@ namespace BeWo.Service.DCEntityMapper
pEntity.Notice = pDataContract.Notice;
pEntity.Oid = pDataContract.AbsenceTimeOid;
- pEntity.EmployeeOid = pDataContract.EmployeeOid;
- pEntity.CustomerOid = pDataContract.CustomerOid;
pEntity.KrankheitsMeldung = pDataContract.KrankheitsMeldung;
return pEntity;
diff --git a/Service/DCEntityMapper/ArbeitszeitDC_Arbeitszeit.cs b/Service/DCEntityMapper/ArbeitszeitDC_Arbeitszeit.cs
new file mode 100644
index 000000000..0a1e25809
--- /dev/null
+++ b/Service/DCEntityMapper/ArbeitszeitDC_Arbeitszeit.cs
@@ -0,0 +1,53 @@
+using System.IO;
+using BeWo.Data.Entities;
+
+using BS.Shared.DataContracts;
+
+namespace BeWo.Service.DCEntityMapper
+{
+ public class ArbeitszeitDC_Arbeitszeit : AbstractIDCEntityMapper
+ {
+ public override ArbeitszeitDC MergeWithDC(Arbeitszeit pEntity, ArbeitszeitDC pDataContract)
+ {
+ pDataContract.ArbeitszeitOid = pEntity.Oid;
+
+ pDataContract.EmployeeOid = pEntity.EmployeeOid;
+ pDataContract.GueltigVon = pEntity.GueltigVon;
+ pDataContract.GueltigBis = pEntity.GueltigBis;
+ pDataContract.Notice = pEntity.Notice;
+
+ if (pEntity.ArbeitszeitEintraege != null)
+ {
+ pDataContract.Eintraege =
+ MapperFactory.ArbeitszeitEintragDC_ArbeitszeitEintrag.MapToNewDCs(pEntity.ArbeitszeitEintraege);
+ }
+
+ return pDataContract;
+ }
+
+ public override Arbeitszeit MergeWithEntity(ArbeitszeitDC pDataContract, Arbeitszeit pEntity)
+ {
+ pEntity.EmployeeOid = pDataContract.EmployeeOid;
+ pEntity.GueltigVon = pDataContract.GueltigVon;
+ pEntity.GueltigBis = pDataContract.GueltigBis;
+ pEntity.Notice = pDataContract.Notice;
+ pEntity.Oid = pDataContract.ArbeitszeitOid;
+
+
+ MapperFactory.ArbeitszeitEintragDC_ArbeitszeitEintrag.MergeWithEntitys(pDataContract.Eintraege, pEntity.ArbeitszeitEintraege);
+
+ return pEntity;
+ }
+
+ protected override bool AreDCAndEntityEqual(ArbeitszeitDC pDC, Arbeitszeit pEntity)
+ {
+
+ if (pDC.ArbeitszeitOid == null)
+ {
+ return false;
+ }
+
+ return pDC.ArbeitszeitOid == pEntity.Oid;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/DCEntityMapper/ArbeitszeitEintragDC_ArbeitszeitEintrag.cs b/Service/DCEntityMapper/ArbeitszeitEintragDC_ArbeitszeitEintrag.cs
new file mode 100644
index 000000000..637ce89c5
--- /dev/null
+++ b/Service/DCEntityMapper/ArbeitszeitEintragDC_ArbeitszeitEintrag.cs
@@ -0,0 +1,45 @@
+using System.IO;
+using BeWo.Data.Entities;
+
+using BS.Shared.DataContracts;
+
+namespace BeWo.Service.DCEntityMapper
+{
+ public class ArbeitszeitEintragDC_ArbeitszeitEintrag : AbstractIDCEntityMapper
+ {
+ public override ArbeitszeitEintragDC MergeWithDC(ArbeitszeitEintrag pEntity, ArbeitszeitEintragDC pDataContract)
+ {
+ pDataContract.ArbeitszeitEintragOid = pEntity.Oid;
+ pDataContract.ArbeitszeitOid = pEntity.ArbeitszeitOid;
+ pDataContract.Tag = pEntity.Tag;
+ pDataContract.UhrzeitVon = pEntity.UhrzeitVon;
+ pDataContract.UhrzeitBis = pEntity.UhrzeitBis;
+ pDataContract.Notice = pEntity.Notice;
+
+ return pDataContract;
+ }
+
+ public override ArbeitszeitEintrag MergeWithEntity(ArbeitszeitEintragDC pDataContract, ArbeitszeitEintrag pEntity)
+ {
+ pEntity.ArbeitszeitOid = pDataContract.ArbeitszeitOid;
+ pEntity.Tag = pDataContract.Tag;
+ pEntity.UhrzeitVon = pDataContract.UhrzeitVon;
+ pEntity.UhrzeitBis = pDataContract.UhrzeitBis;
+ pEntity.Notice = pDataContract.Notice;
+ pEntity.Oid = pDataContract.ArbeitszeitEintragOid;
+
+ return pEntity;
+ }
+
+ protected override bool AreDCAndEntityEqual(ArbeitszeitEintragDC pDC, ArbeitszeitEintrag pEntity)
+ {
+
+ if (pDC.ArbeitszeitEintragOid == null)
+ {
+ return false;
+ }
+
+ return pDC.ArbeitszeitEintragOid == pEntity.Oid;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/DCEntityMapper/EmployeeDC_Employee.cs b/Service/DCEntityMapper/EmployeeDC_Employee.cs
index 3feab495c..ac00a2807 100644
--- a/Service/DCEntityMapper/EmployeeDC_Employee.cs
+++ b/Service/DCEntityMapper/EmployeeDC_Employee.cs
@@ -67,6 +67,8 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.Contracts = MapperFactory.ContractDC_Contract.MapToNewDCs(pEntity.Contracts);
+ pDataContract.Arbeitszeiten = MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewDCs(pEntity.Arbeitszeit);
+
if (pDataContract.Contracts != null)
{
pDataContract.Contracts.Sort((c1, c2)
@@ -168,6 +170,8 @@ namespace BeWo.Service.DCEntityMapper
MapperFactory.ContractDC_Contract.MergeWithEntitys(pDataContract.Contracts, pEntity.Contracts);
+ MapperFactory.ArbeitszeitDC_Arbeitszeit.MergeWithEntitys(pDataContract.Arbeitszeiten, pEntity.Arbeitszeit);
+
return pEntity;
}
diff --git a/Service/DCEntityMapper/MapperFactory.cs b/Service/DCEntityMapper/MapperFactory.cs
index e07e1d386..d32551007 100644
--- a/Service/DCEntityMapper/MapperFactory.cs
+++ b/Service/DCEntityMapper/MapperFactory.cs
@@ -47,9 +47,13 @@ namespace BeWo.Service.DCEntityMapper
private static VertretungDC_Vertretung _VertretungDC_Vertretung;
+ private static ArbeitszeitDC_Arbeitszeit _ArbeitszeitDC_Arbeitszeit;
+
+ private static ArbeitszeitEintragDC_ArbeitszeitEintrag _ArbeitszeitEintragDC_ArbeitszeitEintrag;
+
private static KriterienDC_Kriterien _KriterienDC_Kriterien;
- private static VertretungsListeDC_VertretungsListe _VertretungsListeDC_VertretungsListe;
+ private static VertretungsListeDC_VertretungsListe _VertretungsListeDC_VertretungsListe;
private static PasswortVerlaufDC_PasswortVerlauf _PasswortVerlaufDC_PasswortVerlauf;
@@ -538,6 +542,21 @@ namespace BeWo.Service.DCEntityMapper
}
}
+ public static ArbeitszeitDC_Arbeitszeit ArbeitszeitDC_Arbeitszeit
+ {
+ get
+ {
+ return _ArbeitszeitDC_Arbeitszeit ?? (_ArbeitszeitDC_Arbeitszeit = new ArbeitszeitDC_Arbeitszeit());
+ }
+ }
+
+ public static ArbeitszeitEintragDC_ArbeitszeitEintrag ArbeitszeitEintragDC_ArbeitszeitEintrag
+ {
+ get
+ {
+ return _ArbeitszeitEintragDC_ArbeitszeitEintrag ?? (_ArbeitszeitEintragDC_ArbeitszeitEintrag = new ArbeitszeitEintragDC_ArbeitszeitEintrag());
+ }
+ }
public static KriterienDC_Kriterien KriterienDC_Kriterien
{
get
diff --git a/Service/DCEntityMapper/VertretungsListeDC_VertretungsListe.cs b/Service/DCEntityMapper/VertretungsListeDC_VertretungsListe.cs
index 0b47133c0..1587a0a7c 100644
--- a/Service/DCEntityMapper/VertretungsListeDC_VertretungsListe.cs
+++ b/Service/DCEntityMapper/VertretungsListeDC_VertretungsListe.cs
@@ -13,6 +13,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.Employeesliste = MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(pEntity.Employeelist);
pDataContract.Vertretungsliste = MapperFactory.VertretungDC_Vertretung.MapToNewDCs(pEntity.Vertretunglist);
pDataContract.AbsenceTimeliste = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDCs(pEntity.AbsenceTimelist);
+ pDataContract.Arbeitszeitliste = MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewDCs(pEntity.Arbeitszeitliste);
pDataContract.Employee2CustomerHauptbetreuung = pEntity.Employee2CustomerHauptbetreuung;
@@ -25,6 +26,7 @@ namespace BeWo.Service.DCEntityMapper
pEntity.Employeelist = MapperFactory.CompactEmployeeDC_Employee.MapToNewEntities(pDataContract.Employeesliste);
pEntity.Vertretunglist = MapperFactory.VertretungDC_Vertretung.MapToNewEntities(pDataContract.Vertretungsliste);
pEntity.AbsenceTimelist = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntities(pDataContract.AbsenceTimeliste);
+ pEntity.Arbeitszeitliste = MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewEntities(pDataContract.Arbeitszeitliste);
pEntity.Employee2CustomerHauptbetreuung = pDataContract.Employee2CustomerHauptbetreuung;
diff --git a/Service/Service.csproj b/Service/Service.csproj
index 41fd39698..fa1fa7914 100644
--- a/Service/Service.csproj
+++ b/Service/Service.csproj
@@ -214,6 +214,8 @@
+
+
diff --git a/Service/ServiceContracts/IEmployeeService.cs b/Service/ServiceContracts/IEmployeeService.cs
index 35fd2f43b..a6c8061ce 100644
--- a/Service/ServiceContracts/IEmployeeService.cs
+++ b/Service/ServiceContracts/IEmployeeService.cs
@@ -330,5 +330,13 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
CompactEmployeeDC GetActiveCompactEmployeeWithOid(long employeeOid);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ void InsertNewArbeitsZeit(ArbeitszeitDC arbeitszeit, ArbeitszeitEintragDC arbeitszeitEintrag);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ ArbeitszeitDC UpdateArbeitszeit(ArbeitszeitDC pArbeitszeit);
}
}
\ No newline at end of file
diff --git a/Service/ServiceContracts/IOperationsService.cs b/Service/ServiceContracts/IOperationsService.cs
index 517f31940..d0133a312 100644
--- a/Service/ServiceContracts/IOperationsService.cs
+++ b/Service/ServiceContracts/IOperationsService.cs
@@ -582,21 +582,29 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
List GetCustomerServiceRecordsCompactWithStartEndDate(long pCustomerOid, long costbearer2SupportConceptOid, DateTime start, DateTime ende);
- [FaultContract(typeof(BeWoFault))]
- [OperationContract]
- List GetAllVertretungen();
+ //[FaultContract(typeof(BeWoFault))]
+ //[OperationContract]
+ //List GetAllVertretungen();
+
+ //[FaultContract(typeof(BeWoFault))]
+ //[OperationContract]
+ //void InsertNewMitarbeiterVertretung(VertretungDC vertretungM, long? absenceReasonOid, DateTime krankheitsMeldung);
+
+ //[FaultContract(typeof(BeWoFault))]
+ //[OperationContract]
+ //void InsertNewKlientenVertretung(VertretungDC vertretungK, long? absenceReasonOid, DateTime krankheitsMeldung);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
- void InsertNewMitarbeiterVertretung(VertretungDC vertretungM, long? absenceReasonOid, DateTime krankheitsMeldung);
+ void InsertNewEmployeeAbsenceTime(long employeeOid, AbsenceTimeDC at);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
- void InsertNewKlientenVertretung(VertretungDC vertretungK, long? absenceReasonOid, DateTime krankheitsMeldung);
+ void InsertNewCustomerAbsenceTime(long customerOid, AbsenceTimeDC at);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
- void DeleteVertretung(VertretungDC vert);
+ void DeleteVertretung(long vert);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
@@ -605,5 +613,26 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
VertretungsListeDC VertretungsListe(DateTime absenceTime);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ void CreateVertretung(VertretungDC vertretung);
+
+ //[FaultContract(typeof(BeWoFault))]
+ //[OperationContract]
+ //void DeletAbsenceTime(long absenceoid);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ void DeactivateAbsenceTime(Dictionary pOid2Version);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ void UpdateVertretungAndAbsenceTime(VertretungDC vert, AbsenceTimeDC abs);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ void UpdateAbsenceTime(AbsenceTimeDC abs);
+
}
}
\ No newline at end of file
diff --git a/Service/ServiceImplementations/EmployeeServiceImp.cs b/Service/ServiceImplementations/EmployeeServiceImp.cs
index 0c2a9ff6e..72e286658 100644
--- a/Service/ServiceImplementations/EmployeeServiceImp.cs
+++ b/Service/ServiceImplementations/EmployeeServiceImp.cs
@@ -1240,6 +1240,44 @@ namespace BeWo.Service.ServiceImplementations
}
}
+ public void InsertNewArbeitsZeit(ArbeitszeitDC arbeitszeit, ArbeitszeitEintragDC arbeitszeitEintrag)
+ {
+ try
+ {
+ var x = MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewEntity(arbeitszeit);
+
+ DAOFactory.GenericDAO.Insert(x);
+
+ arbeitszeitEintrag.ArbeitszeitOid = x.Oid;
+
+ var y = MapperFactory.ArbeitszeitEintragDC_ArbeitszeitEintrag.MapToNewEntity(arbeitszeitEintrag);
+
+ DAOFactory.GenericDAO.Insert(y);
+
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
+ public ArbeitszeitDC UpdateArbeitszeit(ArbeitszeitDC pArbeitszeit)
+ {
+ try
+ {
+ var lOriginal = DAOFactory.GenericDAO.LoadByID(pArbeitszeit.ArbeitszeitOid.Value);
+
+ MapperFactory.ArbeitszeitDC_Arbeitszeit.MergeWithEntity(pArbeitszeit, lOriginal);
+ DAOFactory.GenericDAO.Update(lOriginal);
+
+ return MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewDC(lOriginal);
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
}
}
\ No newline at end of file
diff --git a/Service/ServiceImplementations/OperationsServiceImp.cs b/Service/ServiceImplementations/OperationsServiceImp.cs
index a96478753..4dbcf3765 100644
--- a/Service/ServiceImplementations/OperationsServiceImp.cs
+++ b/Service/ServiceImplementations/OperationsServiceImp.cs
@@ -3490,14 +3490,28 @@ namespace BeWo.Service.ServiceImplementations
}
}
- //all new Audi ##############################################
- public ListGetAllVertretungen()
+ //####################### Schulbegleitender Dienst ##############################################
+
+ //public void DeletAbsenceTime(long absenceoid)
+ //{
+ // try
+ // {
+ // var x = DAOFactory.GenericDAO.GetByID(absenceoid);
+
+ // DAOFactory.GenericDAO.Delete(x);
+
+ // }
+ // catch (Exception e)
+ // {
+ // throw Utils.CreateBeWoFaultException(e);
+ // }
+ //}
+
+ public void DeactivateAbsenceTime( Dictionary pOid2Version)
{
try
{
- var x = DAOFactory.GenericDAO.GetAllActive();
-
- return MapperFactory.VertretungDC_Vertretung.MapToNewDCs(x);
+ ServiceLogic.SetActivationType(pOid2Version, ActivationTypeId.Deleted);
}
catch (Exception e)
{
@@ -3505,79 +3519,123 @@ namespace BeWo.Service.ServiceImplementations
}
}
- public void InsertNewMitarbeiterVertretung(VertretungDC vertretungM, long? absenceReasonOid, DateTime krankheitsMeldung)
+ //public ListGetAllVertretungen()
+ //{
+ // try
+ // {
+ // var x = DAOFactory.GenericDAO.GetAllActive();
+
+ // return MapperFactory.VertretungDC_Vertretung.MapToNewDCs(x);
+ // }
+ // catch (Exception e)
+ // {
+ // throw Utils.CreateBeWoFaultException(e);
+ // }
+ //}
+
+ public void InsertNewEmployeeAbsenceTime(long employeeOid, AbsenceTimeDC at)
+ {
+ try
+ {
+ var emp = DAOFactory.GenericDAO.GetByID(employeeOid);
+ emp.AbsenceTimes.Add(MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(at));
+
+ DAOFactory.GenericDAO.Update(emp);
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
+ public void InsertNewCustomerAbsenceTime(long customerOid, AbsenceTimeDC at)
{
try
{
- //################# AbsenceTime ###########################
- AbsenceTimeDC abstm = new AbsenceTimeDC();
+ var cust = DAOFactory.GenericDAO.GetByID(customerOid);
+ cust.AbsenceTimes.Add(MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(at));
- abstm.Start = vertretungM.VertretungsZeitraumVon;
- abstm.End = vertretungM.VertretungsZeitraumBis;
- abstm.EmployeeOid = vertretungM.EmployeeOid;
- abstm.KrankheitsMeldung = krankheitsMeldung;
- var x = DAOFactory.GenericDAO.GetByID(absenceReasonOid.Value);
+ DAOFactory.GenericDAO.Update(cust);
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
- abstm.Reason = MapperFactory.AbsenceReasonDC_AbsenceReason.MapToNewDC(x);
+ //public void InsertNewMitarbeiterVertretung(VertretungDC vertretungM, long? absenceReasonOid, DateTime krankheitsMeldung)
+ //{
+ // try
+ // {
+ // //################# AbsenceTime ###########################
+ // AbsenceTimeDC abstm = new AbsenceTimeDC();
+
+ // abstm.Start = vertretungM.VertretungsZeitraumVon;
+ // abstm.End = vertretungM.VertretungsZeitraumBis;
+ // abstm.EmployeeOid = vertretungM.EmployeeOid.Value;
+ // abstm.KrankheitsMeldung = krankheitsMeldung;
+
+ // var x = DAOFactory.GenericDAO.GetByID(absenceReasonOid.Value);
+
+ // abstm.Reason = MapperFactory.AbsenceReasonDC_AbsenceReason.MapToNewDC(x);
+
+ // var lAbsenceTime = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(abstm);
+
+
+ // DAOFactory.GenericDAO.Insert(lAbsenceTime);
+
+ // vertretungM.AbsenceTimeOid = lAbsenceTime.Oid.Value;
+
+ // //#########################################################
+
+ // var lVertretung = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretungM);
+ // DAOFactory.GenericDAO.Insert(lVertretung);
+
+ // }
+ // catch (Exception e)
+ // {
+ // throw Utils.CreateBeWoFaultException(e);
+ // }
+ //}
+
+ //public void InsertNewKlientenVertretung(VertretungDC vertretungK, long? absenceReasonOid,DateTime krankheitsMeldung)
+ //{
+ // try
+ // {
+ // //################# AbsenceTime ###########################
+ // AbsenceTimeDC abstm = new AbsenceTimeDC();
+
+ // abstm.Start = vertretungK.VertretungsZeitraumVon;
+ // abstm.End = vertretungK.VertretungsZeitraumBis;
+ // abstm.CustomerOid = vertretungK.CustomerOid.Value;
+ // abstm.KrankheitsMeldung = krankheitsMeldung;
+
+ // var x = DAOFactory.GenericDAO.GetByID(absenceReasonOid.Value);
+
+ // abstm.Reason = MapperFactory.AbsenceReasonDC_AbsenceReason.MapToNewDC(x);
+
+ // var lAbsenceTime = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(abstm);
+ // DAOFactory.GenericDAO.Insert(lAbsenceTime);
- var lAbsenceTime = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(abstm);
-
- DAOFactory.GenericDAO.Insert(lAbsenceTime);
-
- vertretungM.AbsenceTimeOid = lAbsenceTime.Oid;
-
- //#########################################################
-
- var lVertretung = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretungM);
- DAOFactory.GenericDAO.Insert(lVertretung);
-
- }
- catch (Exception e)
- {
- throw Utils.CreateBeWoFaultException(e);
- }
- }
-
- public void InsertNewKlientenVertretung(VertretungDC vertretungK, long? absenceReasonOid,DateTime krankheitsMeldung)
- {
- try
- {
- //################# AbsenceTime ###########################
- AbsenceTimeDC abstm = new AbsenceTimeDC();
-
- abstm.Start = vertretungK.VertretungsZeitraumVon;
- abstm.End = vertretungK.VertretungsZeitraumBis;
- abstm.CustomerOid = vertretungK.CustomerOid;
- abstm.KrankheitsMeldung = krankheitsMeldung;
-
- var x = DAOFactory.GenericDAO.GetByID(absenceReasonOid.Value);
-
- abstm.Reason = MapperFactory.AbsenceReasonDC_AbsenceReason.MapToNewDC(x);
-
-
- var lAbsenceTime = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(abstm);
-
- DAOFactory.GenericDAO.Insert(lAbsenceTime);
-
- vertretungK.AbsenceTimeOid = lAbsenceTime.Oid;
- //#########################################################
+ // vertretungK.AbsenceTimeOid = lAbsenceTime.Oid.Value;
+ // //#########################################################
- var lVertretung = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretungK);
- DAOFactory.GenericDAO.Insert(lVertretung);
- }
- catch (Exception e)
- {
- throw Utils.CreateBeWoFaultException(e);
- }
- }
+ // var lVertretung = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretungK);
+ // DAOFactory.GenericDAO.Insert(lVertretung);
+ // }
+ // catch (Exception e)
+ // {
+ // throw Utils.CreateBeWoFaultException(e);
+ // }
+ //}
- public void DeleteVertretung(VertretungDC vert)
+ public void DeleteVertretung(long vert)
{
try
{
- var origVertretung = DAOFactory.GenericDAO.LoadByID(vert.VertretungOid.Value);
+ var origVertretung = DAOFactory.GenericDAO.LoadByID(vert);
DAOFactory.GenericDAO.Delete(origVertretung);
}
@@ -3604,28 +3662,41 @@ namespace BeWo.Service.ServiceImplementations
}
}
- //Muss noch generiert werden
- public void CreateVertretung(long mitarbeiterOid, long klientenOid,long vertretenderMitarbeiter,string notiz, DateTime vertretungszeitraumVon, DateTime vertretungszeitraumBis)
+ public void UpdateVertretungAndAbsenceTime(VertretungDC vert, AbsenceTimeDC abs)
{
try
{
+ //update auch die dazugehörige AbsenceTime
+ var origVertretung = DAOFactory.GenericDAO.LoadByID(vert.VertretungOid.Value);
- VertretungDC ahh = new VertretungDC()
- {
- EmployeeOid = mitarbeiterOid,
- CustomerOid = klientenOid,
- VertretenderMitarbeiterOid = vertretenderMitarbeiter,
- Notice = notiz,
- VertretungsZeitraumVon = vertretungszeitraumVon,
- VertretungsZeitraumBis = vertretungszeitraumBis,
-
- };
+ MapperFactory.VertretungDC_Vertretung.MergeWithEntity(vert, origVertretung);
- var x = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(ahh);
+ DAOFactory.GenericDAO.Update(origVertretung);
+
+
+ //Upadate AbsenceTime
+ var origAbsenceTime = DAOFactory.GenericDAO.LoadByID(abs.AbsenceTimeOid.Value);
+
+ MapperFactory.AbsenceTimeDC_AbsenceTime.MergeWithEntity(abs, origAbsenceTime);
+
+ DAOFactory.GenericDAO.Update(origAbsenceTime);
+
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
+ //verbesserungswürdig
+ public void CreateVertretung(VertretungDC vertretung)
+ {
+ try
+ {
+ var x = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretung);
DAOFactory.GenericDAO.Insert(x);
-
}
catch (Exception e)
{
@@ -3633,6 +3704,22 @@ namespace BeWo.Service.ServiceImplementations
}
}
+ public void UpdateAbsenceTime(AbsenceTimeDC abs)
+ {
+ try
+ {
+ var x = DAOFactory.GenericDAO.LoadByID(abs.AbsenceTimeOid.Value);
+
+ MapperFactory.AbsenceTimeDC_AbsenceTime.MergeWithEntity(abs, x);
+
+ DAOFactory.GenericDAO.Update(x);
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
//Fertig
public VertretungsListeDC VertretungsListe(DateTime absenceTime)
{
@@ -3680,6 +3767,7 @@ namespace BeWo.Service.ServiceImplementations
}
//#################################################################
+
#endregion
#endregion
diff --git a/Shared/DataContracts/ArbeitszeitDC.cs b/Shared/DataContracts/ArbeitszeitDC.cs
new file mode 100644
index 000000000..65fe0be18
--- /dev/null
+++ b/Shared/DataContracts/ArbeitszeitDC.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.Serialization;
+
+namespace BS.Shared.DataContracts
+{
+ [DataContract]
+ public class ArbeitszeitDC : IDataContract
+ {
+ [DataMember]
+ public long? ArbeitszeitOid { get; set; }
+
+ [DataMember]
+ public long? EmployeeOid { get; set; }
+
+ [DataMember]
+ public DateTime? GueltigVon { get; set; }
+
+ [DataMember]
+ public DateTime? GueltigBis { get; set; }
+
+ [DataMember]
+ public string Notice { get; set; }
+
+ [DataMember]
+ public List Eintraege { get; set; }
+
+
+ }
+}
\ No newline at end of file
diff --git a/Shared/DataContracts/ArbeitszeitEintragDC.cs b/Shared/DataContracts/ArbeitszeitEintragDC.cs
new file mode 100644
index 000000000..3e01cf74f
--- /dev/null
+++ b/Shared/DataContracts/ArbeitszeitEintragDC.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.Serialization;
+
+namespace BS.Shared.DataContracts
+{
+ [DataContract]
+ public class ArbeitszeitEintragDC : IDataContract
+ {
+ [DataMember]
+ public long? ArbeitszeitEintragOid { get; set; }
+
+ [DataMember]
+ public long? ArbeitszeitOid { get; set; }
+
+ [DataMember]
+ public AppointmentDayOfWeek Tag { get; set; }
+
+ [DataMember]
+ public string UhrzeitVon { get; set; }
+
+ [DataMember]
+ public string UhrzeitBis { get; set; }
+
+ [DataMember]
+ public string Notice { get; set; }
+
+
+ }
+}
\ No newline at end of file
diff --git a/Shared/DataContracts/EmployeeDC.cs b/Shared/DataContracts/EmployeeDC.cs
index 5cff7ab49..1da3dc02c 100644
--- a/Shared/DataContracts/EmployeeDC.cs
+++ b/Shared/DataContracts/EmployeeDC.cs
@@ -18,6 +18,9 @@ namespace BS.Shared.DataContracts
[DataMember]
public List Contracts { get; set; }
+ [DataMember]
+ public List Arbeitszeiten { get; set; }
+
//[DataMember]
//public int CancellationPeriod { get; set; }
diff --git a/Shared/DataContracts/VertretungsListeDC.cs b/Shared/DataContracts/VertretungsListeDC.cs
index 5279e486d..eb35cd293 100644
--- a/Shared/DataContracts/VertretungsListeDC.cs
+++ b/Shared/DataContracts/VertretungsListeDC.cs
@@ -23,6 +23,9 @@ namespace BS.Shared.DataContracts
[DataMember]
public List AbsenceTimeliste { get; set; }
+ [DataMember]
+ public List Arbeitszeitliste { get; set; }
+
[DataMember]
public Dictionary> Employee2CustomerHauptbetreuung { get; set; }
diff --git a/Shared/Shared.csproj b/Shared/Shared.csproj
index 84aa27e2c..581a46aa4 100644
--- a/Shared/Shared.csproj
+++ b/Shared/Shared.csproj
@@ -170,6 +170,8 @@
+
+