diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj
index 940771c54..4846b425e 100644
--- a/BeWo/BeWo.csproj
+++ b/BeWo/BeWo.csproj
@@ -429,6 +429,10 @@
MSBuild:Compile
Designer
+
+ MSBuild:Compile
+ Designer
+
MSBuild:Compile
Designer
@@ -616,6 +620,7 @@
+
@@ -815,6 +820,9 @@
ChatEmojisView.xaml
+
+ SchulbegleitenderDienstCustomer.xaml
+
SchulbegleitenderDienstMasterView.xaml
@@ -2024,352 +2032,352 @@
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
False
- Include
- True
+ Include
+ True
Assembly
diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
index 74b38dfde..6d1e2e591 100644
--- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
+++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml
@@ -57,12 +57,16 @@
-
+
-
+
+
+
@@ -81,14 +85,16 @@
+
-
+
-
-
-
+
+
+
+
-
+ Grid.Column="1" Margin="3" Height="23" Grid.Row="1" Grid.ColumnSpan="2" />-->
+
+
+
-
-
-
+
-
+
-
-
-
-
@@ -144,8 +151,14 @@
-
-
+
+
+
+
+
+
@@ -163,13 +176,15 @@
+
-
-
-
+
+
+
+
-
-
-
@@ -214,10 +231,10 @@
-
+
-
+
@@ -231,19 +248,80 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
index a81db4b1c..2aca33c15 100644
--- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
+++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
+using System.Drawing;
using System.Globalization;
using System.IO;
using System.Linq;
@@ -12,6 +13,7 @@ using System.Windows.Data;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
+using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using BeWo.Annotations;
@@ -20,6 +22,7 @@ using BeWo.Core.Service;
using BeWo.Scheduler.Converter;
using BeWo.Scheduler.ViewModel;
using BeWo.ServiceProxy;
+using BeWo.View;
using BeWo.View.Detail;
using BeWo.ViewModel;
using BS.Shared;
@@ -39,7 +42,9 @@ using Appointment = DevExpress.XtraScheduler.Appointment;
using ColorConverter = System.Windows.Media.ColorConverter;
using DragDropEffects = System.Windows.DragDropEffects;
using DragEventArgs = System.Windows.DragEventArgs;
+using Image = System.Windows.Controls.Image;
using MessageBox = System.Windows.MessageBox;
+using Point = System.Windows.Point;
using SchedulerControl = DevExpress.Xpf.Scheduler.SchedulerControl;
@@ -51,85 +56,32 @@ namespace BeWo.SchulbegleitenderDienst
private List items = new List();
+ private SchulbegleitenderDienstBearbeitungsView view = null;
+
public NewSchulbegleitenderDienstView()
{
InitializeComponent();
GridDataControl.ItemsSource = items;
- getAllVertretungenOnLoad(null,DateTime.Now,null);
+ GetAllVertretungenOnLoad(null, DateTime.Now, null);
setAktDate();
SetAbwesenheiten();
-
- //AbsenceReasonDC
-
-
-
- //TestSchulBegleitenderDienst();
-
-
-
-
- //SchulbegleitenderDienstList.ItemContainerStyle = (Style)SchulbegleitenderDienstList.Resources["itemstyle"];
+
}
+
+
+
public void SetAbwesenheiten()
{
var abwesenheiten = ServiceFacade.DoCustomerServiceSync(s => s.GetAllAbsenceReasons());
- // List a = new List();
-
- //foreach (var reason in abwesenheiten)
- //{
- // a.Add(reason.Description);
- //}
-
ComboBoxKlientVertretung.ItemsSource = abwesenheiten;
ComboBoxMitarbeiterVertretung.ItemsSource = abwesenheiten;
}
- public void TestMitarebieter()
- {
- // Hier muss nacher die Funktion hin die Alle Verfügbaen Mitarbeiter Rauspickt
-
- //List items = new List();
-
- //items.Add(new User() { Mitarbeiter = "John Doe" });
- //items.Add(new User() { Mitarbeiter = "Miss Piggi" });
- //items.Add(new User() { Mitarbeiter = "Lynchknoten" });
- //items.Add(new User() { Mitarbeiter = "Franz Dita von HodenKnecht" });
-
- //List items = new List();
-
- //items.Add("John Doe");
- //items.Add("Miss Piggi");
- //items.Add("Lynchknoten");
- //items.Add("Franz Dita von HodenKnecht");
-
- //Mitarbeiter = items.ToList();
- //ComboBoxEditSettingsVertretung.ItemsSource = items;
- // MitarbeiterList.ItemsSource = items;
-
- }
-
- public void TestSchulBegleitenderDienst()
- {
- ////Hier muss nacher die Funktion hin die Alle Daten Rauspickt
- //List items = new List();
-
- //items.Add(new SchulbegleitenderDienst() { Vertretung = "John Doe" , Kunde = "Schlumpfine", AbwesenheitsKategorie = "Husten",KrankerMitarbeiter = "Hanz", KrankheitsZeitraum = "10.03.2017 - 13.03.2017", MaFehlzeit = "KEine",KindFehlzeit = "Keine"});
- //items.Add(new SchulbegleitenderDienst() { Vertretung = "Miss Piggi" , Kunde = "Schlumpfine", AbwesenheitsKategorie = "Husten", KrankerMitarbeiter = "Hanz", KrankheitsZeitraum = "10.05.2017 - 13.06.2017", MaFehlzeit = "KEine", KindFehlzeit = "Keine" });
- //items.Add(new SchulbegleitenderDienst() { Vertretung = "Lynchknoten" , Kunde = "Schlumpfine", AbwesenheitsKategorie = "Husten", KrankerMitarbeiter = "Hanz", KrankheitsZeitraum = "10.06.2017 - 13.07.2017", MaFehlzeit = "KEine", KindFehlzeit = "Keine" });
- //items.Add(new SchulbegleitenderDienst() { Vertretung = "Franz Dita von HodenKnecht" , Kunde = "Schlumpfine", AbwesenheitsKategorie = "Husten", KrankerMitarbeiter = "Hanz", KrankheitsZeitraum = "02.03.2017 - 13.03.2017", MaFehlzeit = "KEine", KindFehlzeit = "Keine" });
- //items.Add(new SchulbegleitenderDienst() { Vertretung = "Miss Piggi", Kunde = "Schlumpfine", AbwesenheitsKategorie = "Husten", KrankerMitarbeiter = "Hanz", KrankheitsZeitraum = "10.05.2017 - 13.06.2017", MaFehlzeit = "KEine", KindFehlzeit = "Keine" });
- //items.Add(new SchulbegleitenderDienst() { Vertretung = "Miss Piggi", Kunde = "Schlumpfine", AbwesenheitsKategorie = "Husten", KrankerMitarbeiter = "Hanz", KrankheitsZeitraum = "10.05.2017 - 13.06.2017", MaFehlzeit = "KEine", KindFehlzeit = "Keine" });
- //items.Add(new SchulbegleitenderDienst() { Kunde = "Schlumpfine", KrankerMitarbeiter = "Hanz", AbwesenheitsKategorie = "Husten", KrankheitsZeitraum = "10.05.2017 - 13.06.2017", MaFehlzeit = "KEine", KindFehlzeit = "Keine" });
- //items.Add(new SchulbegleitenderDienst() { Vertretung = "Miss Piggi", Kunde = "Schlumpfine", AbwesenheitsKategorie = "Husten", KrankerMitarbeiter = "Hanz", KrankheitsZeitraum = "10.05.2017 - 13.06.2017", MaFehlzeit = "KEine", KindFehlzeit = "Keine" });
-
- ////SchulbegleitenderDienstList.ItemsSource = items;
- //GridDataControl.ItemsSource = items;
- }
public void setAktDate()
{
@@ -149,128 +101,117 @@ namespace BeWo.SchulbegleitenderDienst
KVDatepickerVon.DateTime = dt;
KVDatepickerBis.DateTime = dt;
-
- }
-
- public void ColorDataGrid()
- {
- GridControl grid = GridDataControl;
-
- foreach (object column in grid.Columns)
- {
-
- var Schulbegleit = (SchulbegleitenderDienst) column;
-
- if (Schulbegleit.Vertretung.IsNullOrEmpty())
- {
- //Farbe Rot Fordergrund gelb
-
- //new SolidColorBrush(Colors.Red);
-
- //new SolidColorBrush(Colors.Yellow);
-
- }
- else
- {
- //Farbe Grün und Fordergrund weis
-
- //new SolidColorBrush(Colors.Green);
-
-
- //new SolidColorBrush(Colors.White);
- }
-
- }
- }
-
- public void getAllVertretungenOnLoad(string MitarbeiterAbsenstime, DateTime AusgewähltesDatum, string KlientenAbsenstime)
- {
- //Erstmal hole alle vertretungen aus der Datenbank und zeige diese an.
- var vertretungen = ServiceFacade.DoOperationsServiceSync(s => s.GetAllVertretungen());
-
-
- //hole alle klieneten
- var klienten = ServiceFacade.DoCustomerServiceSync(s => s.GetAllCustomersCompact(BeWoApp.LoggedOnUser.Employee.EmployeeOid));
-
-
- //hole alle mitarbeiter
- var mitarbeiter = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllActiveEmployeesCompact());
-
- //holle die alle AbsenceReasons
- var abwesenheiten = ServiceFacade.DoCustomerServiceSync(s => s.GetAllAbsenceReasons());
-
-
- items.Clear();
- //Muss noch vollendet werden
-
- string employeeName = "";
- string customerName = "";
- string abwesenheitskategorie = "";
-
- foreach (var vertritt in vertretungen)
- {
- employeeName = "";
- customerName = "";
- abwesenheitskategorie = "";
- foreach (var klient in klienten)
- {
- if (vertritt.CustomerOid == klient.CustomerOid)
- {
- customerName = klient.FullName;
- }
- }
-
- foreach (var mit in mitarbeiter)
- {
- if (vertritt.EmployeeOid == mit.EmployeeOid)
- {
- employeeName = mit.FirstName + " " + mit.LastName;
- }
- }
-
- foreach (var ab in abwesenheiten)
- {
- if (vertritt.AbwesenheitsOid == ab.AbsenceReasonOid)
- {
- abwesenheitskategorie = ab.Description;
- }
- }
-
- AddItemsToGrid(vertritt,employeeName,customerName,abwesenheitskategorie);
- }
-
- GridDataControl.RefreshData();
-
- //------------------------------------------------------------------------------------------------------
-
- //Dann suche mit mit hilfe aller Absense Times und dem gewählten datum alle passenden Daten
-
-
-
+ //ArbeitsUnfähigkeitsKrankmeldung Am
+ KrankMeldungMitarbeiterDatepicker.DateTime = dt;
+ KrankMeldungKlientDatepicker.DateTime = dt;
}
- public void AddItemsToGrid(VertretungDC vertritt,string employee, string customer, string abwesenheit)
+ //public void ColorDataGrid()
+ //{
+ // //GridControl grid = GridDataControl;
+
+ // foreach (object column in grid.Columns)
+ // {
+
+ // var Schulbegleit = (SchulbegleitenderDienst) column;
+
+ // if (Schulbegleit.Vertretung.IsNullOrEmpty())
+ // {
+ // //Farbe Rot Fordergrund gelb
+
+ // //new SolidColorBrush(Colors.Red);
+
+ // //new SolidColorBrush(Colors.Yellow);
+
+ // }
+ // else
+ // {
+ // //Farbe Grün und Fordergrund weis
+
+ // //new SolidColorBrush(Colors.Green);
+
+
+ // //new SolidColorBrush(Colors.White);
+ // }
+
+ // }
+ //}
+
+ public void GetAllVertretungenOnLoad(string MitarbeiterAbsenstime, DateTime AusgewähltesDatum, string KlientenAbsenstime)
+ {
+ var schulbegleitenderDienst = ServiceFacade.DoOperationsServiceSync(s => s.VertretungsListe(AusgewähltesDatum));
+
+ items.Clear();
+ foreach (var vertritt in schulbegleitenderDienst.Vertretungsliste)
+ {
+ if (vertritt.VertretungsZeitraumVon.Date == AusgewähltesDatum.Date)
+ {
+ var employeeName = "";
+ var customerName = "";
+ var abwesenheitskategorie = "";
+ var VertretenderMitarbeiter = " ";
+
+ foreach (var klient in schulbegleitenderDienst.Customersliste)
+ {
+ if (vertritt.CustomerOid == klient.CustomerOid)
+ {
+ customerName = klient.FirstName + " " + klient.LastName;
+ }
+ }
+
+ foreach (var mit in schulbegleitenderDienst.Employeesliste)
+ {
+ if (vertritt.EmployeeOid == mit.EmployeeOid)
+ {
+ employeeName = mit.FirstName + " " + mit.LastName;
+ }
+
+ if (vertritt.VertretenderMitarbeiterOid == mit.EmployeeOid)
+ {
+ VertretenderMitarbeiter = mit.FirstName + " " + mit.LastName;
+ }
+ }
+
+ foreach (var ab in schulbegleitenderDienst.AbsenceReasonsliste)
+ {
+ if (vertritt.AbwesenheitsOid == ab.AbsenceReasonOid)
+ {
+ abwesenheitskategorie = ab.Description;
+ }
+ }
+ AddItemsToGrid(vertritt, employeeName, customerName, abwesenheitskategorie, VertretenderMitarbeiter);
+
+ }
+ }
+
+ UpdateGridControl();
+
+
+ }
+
+ public void AddItemsToGrid(VertretungDC vertritt,string employee, string customer, string abwesenheit,string vertretenderMitarbeiter)
{
items.Add(new SchulbegleitenderDienst()
{
KrankheitsZeitraum = vertritt.VertretungsZeitraumVon.ToString("dd.MM.yyyy") + " - " + vertritt.VertretungsZeitraumBis.ToString("dd.MM.yyyy"),
KrankerMitarbeiter = employee,
- Vertretung = "", //--> ist gleich eine andere MitarbeiterOid
+ Vertretung = vertretenderMitarbeiter,
Kunde = customer,
AbwesenheitsKategorie = abwesenheit,
- Beschreibung = vertritt.Notice
+ Beschreibung = vertritt.Notice,
+ KrankheitsMeldung = vertritt.KrankheitsMeldung.ToString("dd.MM.yyyy"),
+ VertretungsDC = vertritt
+ //ParentId = 0,
+ //Oid = (int)vertritt.VertretungOid.Value
+
});
}
public void UpdateGridControl()
{
- //erstelle ein GetallNewVertretung
-
- //itemlist mit allen Schulbegleitenden diensten übergeben
-
- // liste der der items hinzufügen
-
+ GridDataControl.RefreshData();
+ GridDataControl.RefreshUI();
}
@@ -376,57 +317,15 @@ namespace BeWo.SchulbegleitenderDienst
}
- private void Popupedit_MitarbeiterVertretungSearch_OnNewClickpopupedit_MitarbeiterVertretungSearch_NewClick(object sender, RoutedEventArgs e)
- {
- //popup_newMitarbeiterVertretung.IsOpen = false;
- //VMFactory.CreateEmployeeVMAsync(
- // cb => this.Dispatch(() => BeWoUtils.OpenModalViewWindow(cb, this,
- // () => this.Dispatch(delegate { }), _EmployeeModalPopUp_EmployeeSavedOrUpdated, allowSaveIfParentDirty: true)));
- }
-
- private void _EmployeeModalPopUp_EmployeeSavedOrUpdated(object sender, EventArgs e)
- {
- ServiceFacade.DoEmployeeServiceAsync(
- s => s.LoadCompactEmployee(e.Data.DataContract.EmployeeOid.Value),
- p => this.Dispatch(
- delegate
- {
- MainControl.CloseCurrentPopUp();
- BeWoUtils.UpdateAllViews(p);
- //ViewModel.EnvironmentOrganisations.NewVM.Organisation = p;
- //popup_newEnvironmentOrganisation.IsOpen = true;
- //popupedit_environmentOrganisationSearch.Focus();
-
-
- }));
- }
-
private void Button_addMitarbeiterVertretung_OnClick(object sender, RoutedEventArgs e)
{
popup_newMitarbeiterVertretung.IsOpen = false;
-
- //Speichere alle daten in die Vertretungs Daten tabelle
- VertretungDC vertretung = new VertretungDC();
-
- //initialisiere die vertretung
- vertretung.VertretungsZeitraumVon = MVDatepickerVon.DateTime.Date;
- vertretung.VertretungsZeitraumBis = MVDatepickerBis.DateTime.Date;
- vertretung.CustomerOid = 0;
- vertretung.EmployeeOid = currentEmployee.EmployeeOid;
-
- var x = (AbsenceReasonDC)ComboBoxMitarbeiterVertretung.SelectedValue;
-
- vertretung.AbwesenheitsOid = x.AbsenceReasonOid;
-
- vertretung.Notice = MitarbeiterNotice.Text;
-
- //Save in die Daten Tabelle
- ServiceFacade.DoOperationsServiceSync(s => s.InsertNewMitarbeiterVertretung(vertretung));
+ SaveEmployeeInVertretung();
ClearAllMitarbeiterValues();
- getAllVertretungenOnLoad(null, DateTime.Now, null);
+ // GetAllVertretungenOnLoad(null, DateTime.Now, null);
}
@@ -441,6 +340,26 @@ namespace BeWo.SchulbegleitenderDienst
MitarbeiterNotice.Text = "";
}
+
+ private void SaveEmployeeInVertretung()
+ {
+ VertretungDC vertretung = new VertretungDC();
+
+ vertretung.VertretungsZeitraumVon = MVDatepickerVon.DateTime.Date;
+ vertretung.VertretungsZeitraumBis = MVDatepickerBis.DateTime.Date;
+ vertretung.CustomerOid = 0;
+ vertretung.EmployeeOid = currentEmployee.EmployeeOid;
+ vertretung.KrankheitsMeldung = KrankMeldungMitarbeiterDatepicker.DateTime.Date;
+ vertretung.VertretenderMitarbeiterOid = 0;
+
+ var x = (AbsenceReasonDC)ComboBoxMitarbeiterVertretung.SelectedValue;
+
+ vertretung.AbwesenheitsOid = x.AbsenceReasonOid;
+
+ vertretung.Notice = MitarbeiterNotice.Text;
+
+ ServiceFacade.DoOperationsServiceSync(s => s.InsertNewMitarbeiterVertretung(vertretung));
+ }
#endregion
//------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -487,31 +406,6 @@ namespace BeWo.SchulbegleitenderDienst
}
- private void Popupedit_KlientSearch_OnNewClickpopupedit_KlientSearch_NewClick(object sender, RoutedEventArgs e)
- {
- //popup_newMitarbeiterVertretung.IsOpen = false;
- //VMFactory.CreateEmployeeVMAsync(
- // cb => this.Dispatch(() => BeWoUtils.OpenModalViewWindow(cb, this,
- // () => this.Dispatch(delegate { }), _KlientModalPopUp_KlientSavedOrUpdated, allowSaveIfParentDirty: true)));
- }
-
- private void _KlientModalPopUp_KlientSavedOrUpdated(object sender, EventArgs e)
- {
- ServiceFacade.DoCustomerServiceAsync(
- s => s.LoadPersonCompact(e.Data.DataContract.PersonOid.Value),
- p => this.Dispatch(
- delegate
- {
- MainControl.CloseCurrentPopUp();
- BeWoUtils.UpdateAllViews(p);
- //ViewModel.EnvironmentOrganisations.NewVM.Organisation = p;
- //popup_newEnvironmentOrganisation.IsOpen = true;
- //popupedit_environmentOrganisationSearch.Focus();
-
-
- }));
- }
-
private void Button_addKlientVertretung_OnClick(object sender, RoutedEventArgs e)
{
popup_newKlientVertretung.IsOpen = false;
@@ -523,6 +417,8 @@ namespace BeWo.SchulbegleitenderDienst
vertretung.VertretungsZeitraumBis = KVDatepickerBis.DateTime.Date;
vertretung.CustomerOid = currentKlient.CustomerOid;
vertretung.EmployeeOid = 0;
+ vertretung.KrankheitsMeldung = KrankMeldungKlientDatepicker.DateTime.Date;
+ vertretung.VertretenderMitarbeiterOid = 0;
var x = (AbsenceReasonDC) ComboBoxKlientVertretung.SelectedValue;
@@ -534,7 +430,7 @@ namespace BeWo.SchulbegleitenderDienst
ClearAllKlientValues();
- getAllVertretungenOnLoad(null, DateTime.Now, null);
+ // GetAllVertretungenOnLoad(null, DateTime.Now, null);
}
private void ClearAllKlientValues()
@@ -558,45 +454,290 @@ namespace BeWo.SchulbegleitenderDienst
//######################### Action Event Listener ###########################
+ //Fertig
private void Datepicker_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
{
var dt = (DateTime)e.NewValue;
Datelbl.Content = dt.ToString("dddd dd.MM.yyyy");
-
+
+ //Vorbereitung hole alle vom ausgewählten Datum
+ GetAllVertretungenOnLoad(null, dt, null);
}
+ //Fertig
private void ButtonEditSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e)
{
//Es gibt noch probleme -> Button anclickbar obwohl nicht sichtbar
//Rufe hier ein Neues Fenster auf das VErschiedenste Settings bearbeitet
-
- SchulbegleitenderDienstBearbeitungsView view = new SchulbegleitenderDienstBearbeitungsView();
-
- view.Show();
+
+ if (view == null)
+ {
+ view = new SchulbegleitenderDienstBearbeitungsView();
+
+ view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent);
+ view.ShowDialog();
+ }
+ else
+ {
+ view.Close();
+ view = new SchulbegleitenderDienstBearbeitungsView();
+
+ view.RaiseCustomEvent += new EventHandler(newWindow_RaiseCustomEvent);
+ view.ShowDialog();
+ }
}
+
+ //Fertig
+ private void newWindow_RaiseCustomEvent(object sender, CustomEventArgs e)
+ {
+ UpdateMitarbeiterToVertretung(e.Message);
+ }
+
+ //Fertig
+ private void UpdateMitarbeiterToVertretung(CompactEmployeeDC employee)
+ {
+ var a = (SchulbegleitenderDienst)GridDataControl.SelectedItem;
+ VertretungDC vert = new VertretungDC();
+
+ vert = a.VertretungsDC;
+
+ vert.VertretenderMitarbeiterOid = employee.EmployeeOid;
+
+
+ ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(vert));
+
+ view.Close();
+
+ GetAllVertretungenOnLoad(null, DateTime.Now, null);
+
+ }
+
+ //################### Kontext Menue bereich ###############################
+
+ private void DataViewBase_OnShowGridMenu(object sender, GridMenuEventArgs e)
+ {
+ 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 == "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);
+ }
+
+ BarButtonItem y = new BarButtonItem() { Content = "Löschen" };
+ y.ItemClick += DeletPerson_OnClick;
+ e.Customizations.Add(y);
+ }
+
+ //Fertig
+ private void Kundeninfo_OnClick(object sender, RoutedEventArgs e)
+ {
+
+ var a = (SchulbegleitenderDienst)GridDataControl.SelectedItem;
+
+ if (!a.Kunde.Equals(""))
+ {
+ VertretungDC vert = new VertretungDC();
+
+ vert = a.VertretungsDC;
+
+ List abf = new List();
+ abf.Add(vert.CustomerOid.Value);
+
+ var sgf = ServiceFacade.DoCustomerServiceSync(s => s.GetCompactCustomersById(abf));
+ var selectedCustomer = sgf[0];
+
+ VMFactory.CreateCustomerVMAsync(selectedCustomer.CustomerOid,
+ cb => this.Dispatch(
+ () =>
+ BeWoUtils.OpenModalViewWindow(cb, null, () => this.Dispatch(
+ delegate
+ {
+ var updatedCustomer = new CompactCustomerDC();
+
+ ServiceFacade.DoCustomerServiceSync(
+ s => updatedCustomer = s.GetCompactCustomerDC(selectedCustomer.CustomerOid));
+ selectedCustomer = new CompactCustomerDC();
+ selectedCustomer = updatedCustomer;
+ // UpdateControls();
+ // customerText.Text = updatedCustomer.ToString();
+
+ BeWoUtils.UpdateAllViews(selectedCustomer);
+ }))
+ ));
+ }
+ else
+ MessageBox.Show("Es wurde der Vertretung kein Kunde zugeteilt");
+
+ }
+
+ //Fertig
+ private void Mitarbeiterinfo_OnClick(object sender, RoutedEventArgs e)
+ {
+ var a = (SchulbegleitenderDienst)GridDataControl.SelectedItem;
+
+ if (!a.KrankerMitarbeiter.Equals(""))
+ {
+ VertretungDC vert = new VertretungDC();
+
+ vert = a.VertretungsDC;
+
+ List abf = new List();
+ abf.Add(vert.EmployeeOid.Value);
+
+ 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();
+
+ 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");
+ }
+
+ //Fertig
+ private void MitarbeiterVertretunginfo_OnClick(object sender, RoutedEventArgs e)
+ {
+ var a = (SchulbegleitenderDienst)GridDataControl.SelectedItem;
+
+ if (!a.Vertretung.Equals(""))
+ {
+ VertretungDC vert = new VertretungDC();
+
+ vert = a.VertretungsDC;
+
+ List abf = new List();
+ abf.Add(vert.EmployeeOid.Value);
+
+ var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(vert.VertretenderMitarbeiterOid.Value));
+ 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");
+ }
+
+ //Fertig
+ 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)
+ {
+ //get oid from vertretung
+ var a = (SchulbegleitenderDienst) GridDataControl.SelectedItem;
+
+ // delet vertretung from oid
+ VertretungDC vert = new VertretungDC();
+
+ vert = a.VertretungsDC;
+
+
+ ServiceFacade.DoOperationsServiceSync(s => s.DeleteVertretung(vert));
+
+ GetAllVertretungenOnLoad(null, DateTime.Now, null);
+ }
+ }
+
+ //############################################################################
}
#region Connectoren
//Binding Connectoren
- public class User
- {
- public string Mitarbeiter { get; set; }
- }
public class SchulbegleitenderDienst
{
+ public VertretungDC VertretungsDC { get; set; }
public string Vertretung { get; set; }
public string Kunde { get; set; }
public string KrankerMitarbeiter { get; set; }
public string AbwesenheitsKategorie { get; set; }
+ public string KrankheitsMeldung { get; set; }
//public string MaFehlzeit { get; set; }
//public string KindFehlzeit { get; set; }
public string KrankheitsZeitraum { get; set; }
public string Beschreibung { get; set; }
-
+ //public int ParentId { get; set; }
+ //public int Oid { get; set; }
+ public bool IsKunde
+ {
+ get
+ {
+ //Bearbeiten, vllt Grid Updaten oder so
+ if (!Kunde.Equals(""))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+
+ public bool IsMitarbeiter
+ {
+ get
+ {
+ //Bearbeiten, vllt Grid Updaten oder so
+ if (!KrankerMitarbeiter.Equals(""))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
}
#endregion
diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml
index ac942f0ac..9055d4f4b 100644
--- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml
+++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml
@@ -2,26 +2,80 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:view="clr-namespace:BeWo.View"
- Title="Chat Dokumentation" Height="500" Width="800" WindowStartupLocation="CenterScreen" WindowStyle="None"
- AllowsTransparency="True"
- Background="Transparent"
- ResizeMode="CanResizeWithGrip">
+ xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
+ xmlns:search="clr-namespace:BeWo.View.Search"
+ Title="Chat Dokumentation" Height="500" Width="800" WindowStartupLocation="CenterScreen"
+ ResizeMode="CanResizeWithGrip" WindowStyle="None" Background="Transparent">
-
+
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
index 4afa275c4..aa733c133 100644
--- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
+++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstBearbeitungsView.xaml.cs
@@ -21,10 +21,12 @@ using System.Text;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Media.Imaging;
+using BeWo.Core;
using BeWo.Core.Service;
using BeWo.View.Detail;
using BeWo.ViewModel.ListViewModel;
using BS.Shared;
+using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using DevExpress.Xpf.Core;
@@ -37,6 +39,10 @@ namespace BeWo.SchulbegleitenderDienst
{
public partial class SchulbegleitenderDienstBearbeitungsView
{
+
+ public event EventHandler RaiseCustomEvent;
+
+
public SchulbegleitenderDienstBearbeitungsView()
{
InitializeComponent();
@@ -72,5 +78,85 @@ namespace BeWo.SchulbegleitenderDienst
}));
}
+
+ //Bereich zum auswählen des Mitarbeiters
+
+#region MitarbeiterSearch
+
+
+ private CompactEmployeeDC currentEmployee;
+
+
+
+ //private void Popupedit_MitarbeiterVertretungSearch_OnPopUpClick_popupedit_MitarbeiterVertretungSearch_PopUpClick(object sender, RoutedEventArgs e)
+ //{
+ // MitarbeiterVertretungsearchview.ItemSelected += MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected;
+ // popup_MitarbeiterVertretung.IsOpen = true;
+ //}
+
+ private void MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected(object sender, EventArgs e)
+ {
+ //popup_MitarbeiterVertretung.IsOpen = false;
+ MitarbeiterVertretungsearchview.ItemSelected -= MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected;
+
+ currentEmployee = e.Data;
+ //popupedit_MitarbeiterVertretungSearch.Text = currentEmployee.FirstName + " " + currentEmployee.LastName;
+
+ //hole alle mit Service Raus
+ var employeeList = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllActiveEmployeesCompact());
+
+ MitarbeiterVertretungsearchview.ObjectList = employeeList;
+
+ //popupedit_MitarbeiterVertretungSearch.Focus();
+
+
+ }
+
+ //Ein TextFeld
+
+
+#endregion
+
+ private void MitarbeiterVertretungsearchview_OnSelected(object sender, RoutedEventArgs e)
+ {
+ //MessageBox.Show("Item wurde Selektiert");
+ }
+
+ private void MitarbeiterVertretungsearchview_OnItemSelected(object sender, EventArgs e)
+ {
+ //MessageBox.Show("Youre welcome! Not");
+ }
+
+
+ //Übergebe die Daten Zurück an die SBD View
+ private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
+ {
+ //Hier den Employee zurück geben
+ if (MitarbeiterVertretungsearchview.SelectedItem != null)
+ {
+ CompactEmployeeDC x = MitarbeiterVertretungsearchview.SelectedItem;
+
+ RaiseCustomEvent(this, new CustomEventArgs(x));
+ }
+ }
+
+ //Schließe aktuelles Fenster
+ private void ButtonClose_OnClick(object sender, RoutedEventArgs e)
+ {
+ Close();
+ }
+ }
+
+ public class CustomEventArgs : EventArgs
+ {
+ public CustomEventArgs(CompactEmployeeDC s)
+ {
+ dc = s;
+ }
+ private CompactEmployeeDC dc;
+ public CompactEmployeeDC Message
+ {
+ get { return dc; }
+ }
}
}
diff --git a/BeWo/ServiceProxy/Generated.cs b/BeWo/ServiceProxy/Generated.cs
index cd1591efd..ec270526f 100644
--- a/BeWo/ServiceProxy/Generated.cs
+++ b/BeWo/ServiceProxy/Generated.cs
@@ -499,6 +499,11 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/DeleteEmployeeCustomerRelationForEmployeeBeWo" +
"FaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteEmployeeCustomerRelationForEmployee(long employeeOid);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetActiveCompactEmployeeWithOid", ReplyAction="http://tempuri.org/IEmployeeService/GetActiveCompactEmployeeWithOidResponse")]
+ [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.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -929,6 +934,11 @@ namespace BeWo.ServiceProxy
{
base.Channel.DeleteEmployeeCustomerRelationForEmployee(employeeOid);
}
+
+ public BS.Shared.DataContracts.Compact.CompactEmployeeDC GetActiveCompactEmployeeWithOid(long employeeOid)
+ {
+ return base.Channel.GetActiveCompactEmployeeWithOid(employeeOid);
+ }
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -4129,6 +4139,18 @@ namespace BeWo.ServiceProxy
[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.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);
+
+ [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")]
+ void UpdateVertretung(BS.Shared.DataContracts.VertretungDC vert);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/VertretungsListe", ReplyAction="http://tempuri.org/IOperationsService/VertretungsListeResponse")]
+ [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/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);
@@ -4839,6 +4861,21 @@ namespace BeWo.ServiceProxy
base.Channel.InsertNewKlientenVertretung(vertretungK);
}
+ public void DeleteVertretung(BS.Shared.DataContracts.VertretungDC vert)
+ {
+ base.Channel.DeleteVertretung(vert);
+ }
+
+ public void UpdateVertretung(BS.Shared.DataContracts.VertretungDC vert)
+ {
+ base.Channel.UpdateVertretung(vert);
+ }
+
+ public BS.Shared.DataContracts.VertretungsListeDC VertretungsListe(System.DateTime absenceTime)
+ {
+ return base.Channel.VertretungsListe(absenceTime);
+ }
+
public void DeactivateInvoices(System.Collections.Generic.List invoices)
{
base.Channel.DeactivateInvoices(invoices);
diff --git a/BeWo/View/Detail/CustomerView.xaml b/BeWo/View/Detail/CustomerView.xaml
index e8cb067ef..777a94e96 100644
--- a/BeWo/View/Detail/CustomerView.xaml
+++ b/BeWo/View/Detail/CustomerView.xaml
@@ -1965,7 +1965,9 @@
-
+
+
+
diff --git a/BeWo/View/Detail/CustomerView.xaml.cs b/BeWo/View/Detail/CustomerView.xaml.cs
index 364524f3a..d7920b719 100644
--- a/BeWo/View/Detail/CustomerView.xaml.cs
+++ b/BeWo/View/Detail/CustomerView.xaml.cs
@@ -991,6 +991,14 @@ namespace BeWo.View.Detail
}
}
+ private void tabitem_SchulDienst_Selected(object sender, RoutedEventArgs e)
+ {
+ if (tabitem_schuldienst.Content == null)
+ {
+ tabitem_schuldienst.Content = new SchulbegleitenderDienstCustomer(TableID.Customer, ViewModel.DataContract.CustomerOid.Value);
+ }
+ }
+
private void tabitem_log_Selected(object sender, RoutedEventArgs e)
{
if (ShouldLog)
diff --git a/BeWo/View/SchulbegleitenderDienstCustomer.xaml b/BeWo/View/SchulbegleitenderDienstCustomer.xaml
new file mode 100644
index 000000000..ea014e332
--- /dev/null
+++ b/BeWo/View/SchulbegleitenderDienstCustomer.xaml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BeWo/View/SchulbegleitenderDienstCustomer.xaml.cs b/BeWo/View/SchulbegleitenderDienstCustomer.xaml.cs
new file mode 100644
index 000000000..cd79e5d7d
--- /dev/null
+++ b/BeWo/View/SchulbegleitenderDienstCustomer.xaml.cs
@@ -0,0 +1,123 @@
+using System;
+using System.IO;
+using System.Linq;
+using System.Windows;
+using System.Windows.Controls.Primitives;
+using System.Windows.Documents;
+using System.Windows.Forms;
+using System.Windows.Forms.VisualStyles;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Navigation;
+using System.Windows.Threading;
+
+using BeWo.Core;
+using BeWo.Core.Service;
+using BeWo.ViewModel;
+using BeWo.ServiceProxy;
+using BeWo.View.Detail;
+using BS.Shared.DataContracts;
+using BS.Shared.Extensions;
+using BS.Shared;
+using BS.Shared.Core;
+
+using Microsoft.Win32;
+using CheckBox = System.Windows.Controls.CheckBox;
+using MessageBox = System.Windows.MessageBox;
+
+namespace BeWo.View
+{
+ public partial class SchulbegleitenderDienstCustomer
+ {
+
+ private CustomerVM _ViewModel;
+
+ // TableID tableid;
+ long? customerOid;
+
+ public SchulbegleitenderDienstCustomer(TableID pObjectTid, long? oid)
+ {
+ InitializeComponent();
+
+ customerOid = oid;
+ // tableid = pObjectTid;
+
+ //LaodInfostoView();
+
+ }
+
+
+ public CustomerVM PublicViewModel { get { return _ViewModel; } }
+
+
+
+
+ public override bool IsDirty
+ {
+ get
+ {
+ return ViewModel != null && ViewModel.IsDirty;
+ }
+ }
+
+ private CustomerVM ViewModel
+ {
+ get { return _ViewModel; }
+
+ set
+ {
+ DataContext = value;
+ _ViewModel = value;
+ }
+ }
+
+ //TODO Speicher Button Aktivieren
+
+ /* private bool DoSaveCheck()
+ {
+ Cache.GetInstance().GetActiveSupportConceptCostbearer(scList =>
+ VMFactory.CreateServiceRecordVMAsync(
+ BeWoApp.LoggedOnUser.Employee.EmployeeOid,
+ vm => this.Dispatch(
+ delegate
+ {
+ ChatServiceCustomer newView = new ChatServiceCustomer(tableid, customerOid);
+
+ if (newView.CommandBindings.Count == 0)
+ {
+ newView.CommandBindings.Add(
+ new CommandBinding(
+ ApplicationCommands.Close,
+ (s, e) =>
+ {
+ if (!newView.DoSaveCheck())
+ {
+ return;
+ }
+
+ }));
+ newView.CommandBindings.Add(
+ new CommandBinding(
+ ApplicationCommands.Save,
+ (s, e) =>
+ {
+ bool save = true;
+
+ if (!save)
+ {
+ return;
+ }
+
+ newView.SaveData();
+
+ }));
+ }
+ })));
+
+ }
+ */
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/BeWo/ViewModel/KriterienVM.cs b/BeWo/ViewModel/KriterienVM.cs
new file mode 100644
index 000000000..06d73ebb9
--- /dev/null
+++ b/BeWo/ViewModel/KriterienVM.cs
@@ -0,0 +1,96 @@
+using BS.Shared;
+using BS.Shared.DataContracts;
+using System;
+
+namespace BeWo.ViewModel
+{
+ public class KriterienVM : AbstractDCMapperVM
+ {
+ public static string PropertyName_AusschlussKriterien = "AusschlussKriterien";
+
+ public static string PropertyName_WunschKriterien = "WunschKriterien";
+
+ //public static string PropertyName_Notice = "Notice";
+
+ private string _AusschlussKriterien;
+
+ private string _WunschKriterien;
+
+ //private string _Notice;
+
+
+ public KriterienVM(KriterienDC pDC)
+ : base(pDC, true)
+ {
+ }
+
+ public string AusschlussKriterien
+ {
+ get { return this._AusschlussKriterien; }
+
+ set
+ {
+ if (this.AreDifferent(this._AusschlussKriterien, value))
+ {
+ this._AusschlussKriterien = value;
+ this.StoreDirtyInformation(this.AreDifferent(this.DataContract.AusschlussKriterien, value), PropertyName_AusschlussKriterien);
+ this.FirePropertyChanged(PropertyName_AusschlussKriterien);
+ }
+ }
+ }
+
+ public string WunschKriterien
+ {
+ get { return this._WunschKriterien; }
+
+ set
+ {
+ if (this.AreDifferent(this._WunschKriterien, value))
+ {
+ this._WunschKriterien = value;
+ this.StoreDirtyInformation(this.AreDifferent(this.DataContract.WunschKriterien, value), PropertyName_WunschKriterien);
+ this.FirePropertyChanged(PropertyName_WunschKriterien);
+ }
+ }
+ }
+
+
+
+ //public string Notice
+ //{
+ // get { return _Notice; }
+
+ // set
+ // {
+ // if (AreDifferent(_Notice, value))
+ // {
+ // _Notice = value;
+ // StoreDirtyInformation(AreDifferent(DataContract.Notice, value), PropertyName_Notice);
+ // FirePropertyChanged(PropertyName_Notice);
+ // }
+ // }
+ //}
+
+
+ protected override void InitByDataContract(KriterienDC pDataContract)
+ {
+ this._AusschlussKriterien = pDataContract.AusschlussKriterien;
+ this._WunschKriterien = pDataContract.WunschKriterien;
+
+
+ //this._Notice = pDataContract.Notice;
+
+
+ }
+
+ protected override KriterienDC MapToDataContract(KriterienDC pDataContract, bool doCommit)
+ {
+ pDataContract.AusschlussKriterien = _AusschlussKriterien;
+ pDataContract.WunschKriterien = _WunschKriterien;
+ //pDataContract.Notice = _Notice;
+
+
+ return pDataContract;
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWo/ViewModel/VertretungVM.cs b/BeWo/ViewModel/VertretungVM.cs
index bd04a75d5..567bafbff 100644
--- a/BeWo/ViewModel/VertretungVM.cs
+++ b/BeWo/ViewModel/VertretungVM.cs
@@ -10,12 +10,16 @@ namespace BeWo.ViewModel
public static string PropertyName_VertretungsZeitraumBis = "VertretungsZeitraumBis";
- public static string PropertyName_Notice = "Notice";
+ public static string PropertyName_KrankheitsMeldung = "KrankheitsMeldung";
+
+ public static string PropertyName_Notice = "Notice";
private DateTime _VertretungsZeitraumVon;
private DateTime _VertretungsZeitraumBis;
+ private DateTime _KrankheitsMeldung;
+
private long? _AbwesenheitsOid;
private string _Notice;
@@ -56,6 +60,21 @@ namespace BeWo.ViewModel
}
}
+ public DateTime KrankheitsMeldung
+ {
+ get { return this._KrankheitsMeldung; }
+
+ set
+ {
+ if (this.AreDifferent(this._KrankheitsMeldung, value))
+ {
+ this._KrankheitsMeldung = value;
+ this.StoreDirtyInformation(this.AreDifferent(this.DataContract.KrankheitsMeldung, value), PropertyName_KrankheitsMeldung);
+ this.FirePropertyChanged(PropertyName_KrankheitsMeldung);
+ }
+ }
+ }
+
public string Notice
{
get { return _Notice; }
@@ -93,6 +112,7 @@ namespace BeWo.ViewModel
{
this._VertretungsZeitraumVon = pDataContract.VertretungsZeitraumVon;
this._VertretungsZeitraumBis = pDataContract.VertretungsZeitraumBis;
+ this._KrankheitsMeldung = pDataContract.KrankheitsMeldung;
this._Notice = pDataContract.Notice;
@@ -103,7 +123,7 @@ namespace BeWo.ViewModel
pDataContract.VertretungsZeitraumVon = _VertretungsZeitraumVon;
pDataContract.VertretungsZeitraumBis = _VertretungsZeitraumBis;
pDataContract.Notice = _Notice;
-
+ pDataContract.KrankheitsMeldung = _KrankheitsMeldung;
return pDataContract;
diff --git a/Data/Access/SearchDAO.cs b/Data/Access/SearchDAO.cs
index d596b439f..4437745de 100644
--- a/Data/Access/SearchDAO.cs
+++ b/Data/Access/SearchDAO.cs
@@ -2017,5 +2017,43 @@ namespace BeWo.Data.Access
return c.UniqueResult();
}
+
+ public VertretungsListe VertretungListe()
+ {
+ VertretungsListe liste = new VertretungsListe();
+
+ var qVert = Session.CreateSQLQuery("SELECT Oid FROM Vertretung ");
+ var vert = qVert.List();
+
+ var lvert = DAOFactory.GenericDAO.GetActiveByIDs(vert);
+
+ liste.Vertretunglist = lvert.ToList();
+
+
+ var qabsence = Session.CreateSQLQuery("SELECT Oid FROM AbsenceReason ");
+ var absence = qabsence.List();
+
+ var labsence = DAOFactory.GenericDAO.GetActiveByIDs(absence);
+
+ liste.Absencereasonlist = labsence.ToList();
+
+
+ var qemployee = Session.CreateSQLQuery("SELECT Oid FROM Employee WHERE isActive = 1");
+ var employee = qemployee.List();
+
+ var lemployee = DAOFactory.GenericDAO.GetActiveByIDs(employee);
+
+ liste.Employeelist = lemployee.ToList();
+
+
+ var qcustomer = Session.CreateSQLQuery("SELECT Oid FROM Customer WHERE isActive = 1");
+ var customer = qcustomer.List();
+
+ var lcustomer = DAOFactory.GenericDAO.GetActiveByIDs(customer);
+
+ liste.Customerlist = lcustomer.ToList();
+
+ return liste;
+ }
}
}
diff --git a/Data/Data.csproj b/Data/Data.csproj
index 533efed9e..269204356 100644
--- a/Data/Data.csproj
+++ b/Data/Data.csproj
@@ -159,6 +159,8 @@
+
+
@@ -555,6 +557,9 @@
PreserveNewest
+
+ Designer
+
Designer
diff --git a/Data/Entities/Kriterien.cs b/Data/Entities/Kriterien.cs
new file mode 100644
index 000000000..b325702ec
--- /dev/null
+++ b/Data/Entities/Kriterien.cs
@@ -0,0 +1,70 @@
+using BS.Shared;
+using System;
+
+namespace BeWo.Data.Entities
+{
+ public class Kriterien : BeWoEntityBase
+ {
+ public static string PropertyName_AusschlussKriterien = "AusschlussKriterien";
+
+ public static string PropertyName_WunschKriterien = "WunschKriterien";
+
+ public static string PropertyName_CustomerOid = "CustomerOid";
+
+ private string _AusschlussKriterien;
+
+ private string _WunschKriterien;
+
+ private long? _CustomerOid;
+
+
+ public virtual string AusschlussKriterien
+ {
+ get
+ {
+ return this._AusschlussKriterien;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._AusschlussKriterien, value))
+ {
+ this._AusschlussKriterien = value;
+ }
+ }
+ }
+
+ public virtual string WunschKriterien
+ {
+ get
+ {
+ return this._WunschKriterien;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._WunschKriterien, value))
+ {
+ this._WunschKriterien = value;
+ }
+ }
+ }
+
+ public virtual long? CustomerOid
+ {
+ get
+ {
+ return this._CustomerOid;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._CustomerOid, value))
+ {
+ this._CustomerOid = value;
+ }
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Data/Entities/Vertretung.cs b/Data/Entities/Vertretung.cs
index 35a454a1f..f1fa0ae0e 100644
--- a/Data/Entities/Vertretung.cs
+++ b/Data/Entities/Vertretung.cs
@@ -7,23 +7,31 @@ namespace BeWo.Data.Entities
{
public static string PropertyName_VertretungsZeitraumVon = "VertretungsZeitraumVon";
- public static string PropertyName_VertretungsZeitraumBis = "VertretungsZeitraumBis";
+ public static string PropertyName_VertretungsZeitraumBis = "VertretungsZeitraumBis";
+
+ public static string PropertyName_KrankheitsMeldung = "KrankheitsMeldung";
public static string PropertyName_CustomerOid = "CustomerOid";
public static string PropertyName_EmployeeOid = "EmployeeOid";
+ public static string PropertyName_VertretenderMitarbeiterOid = "VertretenderMitarbeiterOid";
+
public static string PropertyName_AbwesenheitsOid = "AbwesenheitsOid";
private DateTime _VertretungsZeitraumVon;
private DateTime _VertretungsZeitraumBis;
+ private DateTime _KrankheitsMeldung;
+
private long? _CustomerOid;
private long? _EmployeeOid;
- private long? _AbwesenheitsOid;
+ private long? _AbwesenheitsOid;
+
+ private long? _VertretenderMitarbeiterOid;
public virtual DateTime VertretungsZeitraumVon
@@ -58,6 +66,22 @@ namespace BeWo.Data.Entities
}
}
+ public virtual DateTime KrankheitsMeldung
+ {
+ get
+ {
+ return this._KrankheitsMeldung;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._KrankheitsMeldung, value))
+ {
+ this._KrankheitsMeldung = value;
+ }
+ }
+ }
+
public virtual long? CustomerOid
{
get
@@ -106,6 +130,21 @@ namespace BeWo.Data.Entities
}
}
+ public virtual long? VertretenderMitarbeiterOid
+ {
+ get
+ {
+ return this._VertretenderMitarbeiterOid;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._VertretenderMitarbeiterOid, value))
+ {
+ this._VertretenderMitarbeiterOid = value;
+ }
+ }
+ }
}
diff --git a/Data/Entities/VertretungsListe.cs b/Data/Entities/VertretungsListe.cs
new file mode 100644
index 000000000..ea7b26293
--- /dev/null
+++ b/Data/Entities/VertretungsListe.cs
@@ -0,0 +1,92 @@
+using BS.Shared;
+using System;
+using System.Collections.Generic;
+
+namespace BeWo.Data.Entities
+{
+ public class VertretungsListe : BeWoEntityBase
+ {
+ public static string PropertyName_VertretungsListe = "VertretungsListe";
+
+ public static string PropertyName_EmployeesListe = "EmployeesListe";
+
+ public static string PropertyName_CustomersListe = "CustomersListe";
+
+ public static string PropertyName_AbsenceReasonsListe = "AbsenceReasonsListe";
+
+ private List _vertretunglist;
+
+ private List _employeelist;
+
+ private List _customerlist;
+
+ private List _absencereasonlist;
+
+
+ public virtual List Vertretunglist
+ {
+ get
+ {
+ return this._vertretunglist;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._vertretunglist, value))
+ {
+ this._vertretunglist = value;
+ }
+ }
+ }
+
+ public virtual List Employeelist
+ {
+ get
+ {
+ return this._employeelist;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._employeelist, value))
+ {
+ this._employeelist = value;
+ }
+ }
+ }
+
+ public virtual List Customerlist
+ {
+ get
+ {
+ return this._customerlist;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._customerlist, value))
+ {
+ this._customerlist = value;
+ }
+ }
+ }
+
+ public virtual List Absencereasonlist
+ {
+ get
+ {
+ return this._absencereasonlist;
+ }
+
+ set
+ {
+ if (this.AreDifferent(this._absencereasonlist, value))
+ {
+ this._absencereasonlist = value;
+ }
+ }
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/Data/Mappings/Kriterien.hbm.xml b/Data/Mappings/Kriterien.hbm.xml
new file mode 100644
index 000000000..a7e703009
--- /dev/null
+++ b/Data/Mappings/Kriterien.hbm.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Data/Mappings/Vertretung.hbm.xml b/Data/Mappings/Vertretung.hbm.xml
index 088935aa6..5192f4143 100644
--- a/Data/Mappings/Vertretung.hbm.xml
+++ b/Data/Mappings/Vertretung.hbm.xml
@@ -19,7 +19,11 @@
+
+
+
+
-
+
\ No newline at end of file
diff --git a/Model/Changes_2017_03_30.txt b/Model/Changes_2017_03_30.txt
new file mode 100644
index 000000000..416f2405b
--- /dev/null
+++ b/Model/Changes_2017_03_30.txt
@@ -0,0 +1,3 @@
+ALTER TABLE `1234567890`.`vertretung`
+
+ADD COLUMN `AbsenceReasonOid` BIGINT(19) NULL DEFAULT NULL COMMENT '' AFTER `VertretungsZeitraumBis`;
diff --git a/Model/Changes_2017_04_03.txt b/Model/Changes_2017_04_03.txt
new file mode 100644
index 000000000..4c96c5de8
--- /dev/null
+++ b/Model/Changes_2017_04_03.txt
@@ -0,0 +1,3 @@
+ALTER TABLE `1234567890`.`vertretung`
+ADD COLUMN `KrankheitsMeldung`
+DATETIME NULL DEFAULT NULL COMMENT '' AFTER `AbsenceReasonOid`;
diff --git a/Model/Changes_2017_04_03_2.txt b/Model/Changes_2017_04_03_2.txt
new file mode 100644
index 000000000..6cac77c0f
--- /dev/null
+++ b/Model/Changes_2017_04_03_2.txt
@@ -0,0 +1,24 @@
+CREATE TABLE `1234567890`.`kriterien` (
+ `Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
+
+`KlientenOid` BIGINT(19) NULL DEFAULT NULL COMMENT '',
+ `Tid` INT(10) NULL DEFAULT NULL COMMENT '',
+
+ `Notice` VARCHAR(1024) NULL DEFAULT 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 '',
+
+`AusschlussKriterien` VARCHAR(1024) NULL COMMENT '',
+
+`WunschKriterien` VARCHAR(1024) NULL COMMENT '',
+
+ PRIMARY KEY (`Oid`) COMMENT '');
diff --git a/Model/Changes_2017_04_06.txt b/Model/Changes_2017_04_06.txt
new file mode 100644
index 000000000..ab1ad776e
--- /dev/null
+++ b/Model/Changes_2017_04_06.txt
@@ -0,0 +1,4 @@
+ALTER TABLE `1234567890`.`vertretung`
+
+ADD COLUMN `VertretenderMitarbeiterOid`
+BIGINT(19) NULL DEFAULT 0 COMMENT '' AFTER `KrankheitsMeldung`;
diff --git a/Service/DCEntityMapper/KriterienDC_Kriterien.cs b/Service/DCEntityMapper/KriterienDC_Kriterien.cs
new file mode 100644
index 000000000..997a23e7a
--- /dev/null
+++ b/Service/DCEntityMapper/KriterienDC_Kriterien.cs
@@ -0,0 +1,45 @@
+using System.IO;
+using BeWo.Data.Entities;
+
+using BS.Shared.DataContracts;
+
+namespace BeWo.Service.DCEntityMapper
+{
+ public class KriterienDC_Kriterien : AbstractIDCEntityMapper
+ {
+ public override KriterienDC MergeWithDC(Kriterien pEntity, KriterienDC pDataContract)
+ {
+
+ pDataContract.CustomerOid = pEntity.CustomerOid;
+ pDataContract.AusschlussKriterien = pEntity.AusschlussKriterien;
+ pDataContract.WunschKriterien = pEntity.WunschKriterien;
+
+ //pDataContract.Notice = pEntity.Notice;
+
+ return pDataContract;
+ }
+
+ public override Kriterien MergeWithEntity(KriterienDC pDataContract, Kriterien pEntity)
+ {
+ pEntity.CustomerOid = pDataContract.CustomerOid;
+ pEntity.AusschlussKriterien = pDataContract.AusschlussKriterien;
+ pEntity.WunschKriterien = pDataContract.WunschKriterien;
+
+ //pEntity.Notice = pDataContract.Notice;
+
+
+ return pEntity;
+ }
+
+ protected override bool AreDCAndEntityEqual(KriterienDC pDC, Kriterien pEntity)
+ {
+
+ if (pDC.KriterienOid == null)
+ {
+ return false;
+ }
+
+ return pDC.KriterienOid == pEntity.Oid;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/DCEntityMapper/MapperFactory.cs b/Service/DCEntityMapper/MapperFactory.cs
index 7c69c7d88..e07e1d386 100644
--- a/Service/DCEntityMapper/MapperFactory.cs
+++ b/Service/DCEntityMapper/MapperFactory.cs
@@ -47,6 +47,10 @@ namespace BeWo.Service.DCEntityMapper
private static VertretungDC_Vertretung _VertretungDC_Vertretung;
+ private static KriterienDC_Kriterien _KriterienDC_Kriterien;
+
+ private static VertretungsListeDC_VertretungsListe _VertretungsListeDC_VertretungsListe;
+
private static PasswortVerlaufDC_PasswortVerlauf _PasswortVerlaufDC_PasswortVerlauf;
private static ChatMessageDC_ChatMessage _ChatMessageDC_ChatMessage;
@@ -534,6 +538,22 @@ namespace BeWo.Service.DCEntityMapper
}
}
+ public static KriterienDC_Kriterien KriterienDC_Kriterien
+ {
+ get
+ {
+ return _KriterienDC_Kriterien ?? (_KriterienDC_Kriterien = new KriterienDC_Kriterien());
+ }
+ }
+
+ public static VertretungsListeDC_VertretungsListe VertretungsListeDC_VertretungsListe
+ {
+ get
+ {
+ return _VertretungsListeDC_VertretungsListe ?? (_VertretungsListeDC_VertretungsListe = new VertretungsListeDC_VertretungsListe());
+ }
+ }
+
public static PasswortVerlaufDC_PasswortVerlauf PasswortVerlaufDC_PasswortVerlauf
{
get
diff --git a/Service/DCEntityMapper/VertretungDC_Vertretung.cs b/Service/DCEntityMapper/VertretungDC_Vertretung.cs
index f671b4e06..dd1afbcfb 100644
--- a/Service/DCEntityMapper/VertretungDC_Vertretung.cs
+++ b/Service/DCEntityMapper/VertretungDC_Vertretung.cs
@@ -9,13 +9,15 @@ namespace BeWo.Service.DCEntityMapper
{
public override VertretungDC MergeWithDC(Vertretung pEntity, VertretungDC pDataContract)
{
-
+ pDataContract.VertretungOid = pEntity.Oid;
pDataContract.CustomerOid = pEntity.CustomerOid;
pDataContract.EmployeeOid = pEntity.EmployeeOid;
pDataContract.AbwesenheitsOid = pEntity.AbwesenheitsOid;
pDataContract.VertretungsZeitraumVon = pEntity.VertretungsZeitraumVon;
pDataContract.VertretungsZeitraumBis = pEntity.VertretungsZeitraumBis;
+ pDataContract.KrankheitsMeldung = pEntity.KrankheitsMeldung;
pDataContract.Notice = pEntity.Notice;
+ pDataContract.VertretenderMitarbeiterOid = pEntity.VertretenderMitarbeiterOid;
return pDataContract;
}
@@ -27,8 +29,10 @@ namespace BeWo.Service.DCEntityMapper
pEntity.AbwesenheitsOid = pDataContract.AbwesenheitsOid;
pEntity.VertretungsZeitraumVon = pDataContract.VertretungsZeitraumVon;
pEntity.VertretungsZeitraumBis = pDataContract.VertretungsZeitraumBis;
+ pEntity.KrankheitsMeldung = pDataContract.KrankheitsMeldung;
pEntity.Notice = pDataContract.Notice;
-
+ pEntity.Oid = pDataContract.VertretungOid;
+ pEntity.VertretenderMitarbeiterOid = pDataContract.VertretenderMitarbeiterOid;
return pEntity;
}
diff --git a/Service/DCEntityMapper/VertretungsListeDC_VertretungsListe.cs b/Service/DCEntityMapper/VertretungsListeDC_VertretungsListe.cs
new file mode 100644
index 000000000..b32334b53
--- /dev/null
+++ b/Service/DCEntityMapper/VertretungsListeDC_VertretungsListe.cs
@@ -0,0 +1,41 @@
+using System.IO;
+using BeWo.Data.Entities;
+
+using BS.Shared.DataContracts;
+
+namespace BeWo.Service.DCEntityMapper
+{
+ public class VertretungsListeDC_VertretungsListe : AbstractIDCEntityMapper
+ {
+ public override VertretungsListeDC MergeWithDC(VertretungsListe pEntity, VertretungsListeDC pDataContract)
+ {
+ pDataContract.Customersliste = MapperFactory.CustomerDC_Customer.MapToNewDCs(pEntity.Customerlist);
+ pDataContract.Employeesliste = MapperFactory.EmployeeDC_Employee.MapToNewDCs(pEntity.Employeelist);
+ pDataContract.Vertretungsliste = MapperFactory.VertretungDC_Vertretung.MapToNewDCs(pEntity.Vertretunglist);
+ pDataContract.AbsenceReasonsliste = MapperFactory.AbsenceReasonDC_AbsenceReason.MapToNewDCs(pEntity.Absencereasonlist);
+
+ return pDataContract;
+ }
+
+ public override VertretungsListe MergeWithEntity(VertretungsListeDC pDataContract, VertretungsListe pEntity)
+ {
+ pEntity.Customerlist = MapperFactory.CustomerDC_Customer.MapToNewEntities(pDataContract.Customersliste);
+ pEntity.Employeelist = MapperFactory.EmployeeDC_Employee.MapToNewEntities(pDataContract.Employeesliste);
+ pEntity.Vertretunglist = MapperFactory.VertretungDC_Vertretung.MapToNewEntities(pDataContract.Vertretungsliste);
+ pEntity.Absencereasonlist = MapperFactory.AbsenceReasonDC_AbsenceReason.MapToNewEntities(pDataContract.AbsenceReasonsliste);
+
+ return pEntity;
+ }
+
+ protected override bool AreDCAndEntityEqual(VertretungsListeDC pDC, VertretungsListe pEntity)
+ {
+
+ if (pDC.VertretungslisteOid == null)
+ {
+ return false;
+ }
+
+ return pDC.VertretungslisteOid == pEntity.Oid;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/Service.csproj b/Service/Service.csproj
index 457c11dc7..3127cfaac 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 c93cd2039..35fd2f43b 100644
--- a/Service/ServiceContracts/IEmployeeService.cs
+++ b/Service/ServiceContracts/IEmployeeService.cs
@@ -326,5 +326,9 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void DeleteEmployeeCustomerRelationForEmployee(long employeeOid);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ CompactEmployeeDC GetActiveCompactEmployeeWithOid(long employeeOid);
}
}
\ No newline at end of file
diff --git a/Service/ServiceContracts/IOperationsService.cs b/Service/ServiceContracts/IOperationsService.cs
index 9709dc70a..98ae677d8 100644
--- a/Service/ServiceContracts/IOperationsService.cs
+++ b/Service/ServiceContracts/IOperationsService.cs
@@ -593,5 +593,17 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void InsertNewKlientenVertretung(VertretungDC vertretungK);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ void DeleteVertretung(VertretungDC vert);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ void UpdateVertretung(VertretungDC vert);
+
+ [FaultContract(typeof(BeWoFault))]
+ [OperationContract]
+ VertretungsListeDC VertretungsListe(DateTime absenceTime);
}
}
\ No newline at end of file
diff --git a/Service/ServiceImplementations/EmployeeServiceImp.cs b/Service/ServiceImplementations/EmployeeServiceImp.cs
index bd1fc7e5c..0c2a9ff6e 100644
--- a/Service/ServiceImplementations/EmployeeServiceImp.cs
+++ b/Service/ServiceImplementations/EmployeeServiceImp.cs
@@ -1224,7 +1224,21 @@ namespace BeWo.Service.ServiceImplementations
{
throw Utils.CreateBeWoFaultException(e);
}
- }
+ }
+
+ public CompactEmployeeDC GetActiveCompactEmployeeWithOid(long employeeOid)
+ {
+ try
+ {
+ var employee = DAOFactory.GenericDAO.GetByID(employeeOid);
+
+ return MapperFactory.CompactEmployeeDC_Employee.MapToNewDC(employee);
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
}
diff --git a/Service/ServiceImplementations/OperationsServiceImp.cs b/Service/ServiceImplementations/OperationsServiceImp.cs
index 9c0b1ee27..06af29e05 100644
--- a/Service/ServiceImplementations/OperationsServiceImp.cs
+++ b/Service/ServiceImplementations/OperationsServiceImp.cs
@@ -3471,8 +3471,10 @@ namespace BeWo.Service.ServiceImplementations
public ListGetAllVertretungen()
{
try
- {
- return MapperFactory.VertretungDC_Vertretung.MapToNewDCs(DAOFactory.GenericDAO.GetAllActive());
+ {
+ var x = DAOFactory.GenericDAO.GetAllActive();
+
+ return MapperFactory.VertretungDC_Vertretung.MapToNewDCs(x);
}
catch (Exception e)
{
@@ -3509,6 +3511,59 @@ namespace BeWo.Service.ServiceImplementations
}
}
+
+ public void DeleteVertretung(VertretungDC vert)
+ {
+ try
+ {
+ var origVertretung = DAOFactory.GenericDAO.LoadByID(vert.VertretungOid.Value);
+
+ DAOFactory.GenericDAO.Delete(origVertretung);
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
+ public void UpdateVertretung(VertretungDC vert)
+ {
+ try
+ {
+ var origVertretung = DAOFactory.GenericDAO.LoadByID(vert.VertretungOid.Value);
+
+ MapperFactory.VertretungDC_Vertretung.MergeWithEntity(vert, origVertretung);
+
+ DAOFactory.GenericDAO.Update(origVertretung);
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
+
+ public VertretungsListeDC VertretungsListe(DateTime absenceTime)
+ {
+ try
+ {
+ var x = DAOFactory.SearchDAO.VertretungListe();
+
+ var schulbegleitenderDienst = MapperFactory.VertretungsListeDC_VertretungsListe.MapToNewDC(x);
+
+ //schulbegleitenden Dienst nur die nehmen wo bei vertretung die zeit passt
+
+
+
+
+
+ return schulbegleitenderDienst;
+
+ }
+ catch (Exception e)
+ {
+ throw Utils.CreateBeWoFaultException(e);
+ }
+ }
//#################################################################
#endregion
diff --git a/Shared/DataContracts/KriterienDC.cs b/Shared/DataContracts/KriterienDC.cs
new file mode 100644
index 000000000..d5fab8078
--- /dev/null
+++ b/Shared/DataContracts/KriterienDC.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.Serialization;
+
+namespace BS.Shared.DataContracts
+{
+ [DataContract]
+ public class KriterienDC : IDataContract
+ {
+ [DataMember]
+ public long? KriterienOid { get; set; }
+
+ [DataMember]
+ public long? CustomerOid { get; set; }
+
+ [DataMember]
+ public string AusschlussKriterien { get; set; }
+
+ [DataMember]
+ public string WunschKriterien { get; set; }
+
+
+ //[DataMember]
+ //public string Notice { get; set; }
+
+ }
+}
\ No newline at end of file
diff --git a/Shared/DataContracts/VertretungDC.cs b/Shared/DataContracts/VertretungDC.cs
index cbf0b052a..130b19db6 100644
--- a/Shared/DataContracts/VertretungDC.cs
+++ b/Shared/DataContracts/VertretungDC.cs
@@ -25,8 +25,15 @@ namespace BS.Shared.DataContracts
[DataMember]
public DateTime VertretungsZeitraumBis { get; set; }
+ [DataMember]
+ public DateTime KrankheitsMeldung { get; set; }
+
[DataMember]
public string Notice { get; set; }
+ [DataMember]
+ public long? VertretenderMitarbeiterOid { get; set; }
+
+
}
}
\ No newline at end of file
diff --git a/Shared/DataContracts/VertretungsListeDC.cs b/Shared/DataContracts/VertretungsListeDC.cs
new file mode 100644
index 000000000..972351404
--- /dev/null
+++ b/Shared/DataContracts/VertretungsListeDC.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.Serialization;
+
+namespace BS.Shared.DataContracts
+{
+ [DataContract]
+ public class VertretungsListeDC : IDataContract
+ {
+ [DataMember]
+ public long? VertretungslisteOid { get; set; }
+
+ [DataMember]
+ public List Vertretungsliste { get; set; }
+
+ [DataMember]
+ public List Employeesliste { get; set; }
+
+ [DataMember]
+ public List Customersliste { get; set; }
+
+ [DataMember]
+ public List AbsenceReasonsliste { get; set; }
+
+ }
+}
\ No newline at end of file
diff --git a/Shared/Shared.csproj b/Shared/Shared.csproj
index 3167f1db1..ac7fb7829 100644
--- a/Shared/Shared.csproj
+++ b/Shared/Shared.csproj
@@ -170,6 +170,8 @@
+
+