diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs
index 16ba83807..71a42c46e 100644
--- a/BeWo/BeWoApp.xaml.cs
+++ b/BeWo/BeWoApp.xaml.cs
@@ -48,8 +48,8 @@ namespace BeWo
public static LoginControl LoginControl;
public static MainControl MainControl;
- public static string ShortVersion = "3.4";
- public static string Version = "Version 3.4";
+ public static string ShortVersion = "3.5";
+ public static string Version = "Version 3.5";
public static int RenderTier = 0;
diff --git a/BeWo/Scheduler/View/NewSchedulerView.xaml.cs b/BeWo/Scheduler/View/NewSchedulerView.xaml.cs
index d540530fc..b87fc506c 100644
--- a/BeWo/Scheduler/View/NewSchedulerView.xaml.cs
+++ b/BeWo/Scheduler/View/NewSchedulerView.xaml.cs
@@ -53,6 +53,8 @@ namespace BeWo.Scheduler.View
{
public partial class NewSchedulerView : INotifyPropertyChanged
{
+ private bool _disableUpdateRequestString = false;
+
private bool _IsEmployeeBrushVisible;
public bool IsEmployeeBrushVisible
@@ -1007,6 +1009,10 @@ namespace BeWo.Scheduler.View
public void UpdateRequestString()
{
+ if (_disableUpdateRequestString)
+ {
+ return;
+ }
ServiceFacade.DoResourceServiceSync(r => _Liste = r.GetAllOpenAppointmentsForEmployee(BeWoApp.LoggedOnEmployee.EmployeeOid.Value));
var count = 0;
diff --git a/BeWo/Scheduler/View/RequestAnswerView.xaml b/BeWo/Scheduler/View/RequestAnswerView.xaml
index 584f5d278..9a9a97615 100644
--- a/BeWo/Scheduler/View/RequestAnswerView.xaml
+++ b/BeWo/Scheduler/View/RequestAnswerView.xaml
@@ -152,7 +152,7 @@
-
+
@@ -163,9 +163,9 @@
-
+
-
+
diff --git a/BeWo/Scheduler/View/RequestAnswerView.xaml.cs b/BeWo/Scheduler/View/RequestAnswerView.xaml.cs
index 458b6794f..1e0eee419 100644
--- a/BeWo/Scheduler/View/RequestAnswerView.xaml.cs
+++ b/BeWo/Scheduler/View/RequestAnswerView.xaml.cs
@@ -24,6 +24,8 @@ namespace BeWo.Scheduler.View
{
public partial class RequestAnswerView : INotifyPropertyChanged
{
+ private bool raiseChangeEvent = true;
+
public static readonly RoutedEvent ParticipationChangedEvent = EventManager.RegisterRoutedEvent(nameof(ParticipationChanged), RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(RequestAnswerView));
public event RoutedEventHandler ParticipationChanged
{
@@ -155,6 +157,7 @@ namespace BeWo.Scheduler.View
});
ToggleControls();
+ raiseChangeEvent = true;
ServiceFacade.DoResourceServiceAsync(s => s.UpdateSchedulerAppointments(new List { termin.CommitToDataContract() }), UpdateView);
}
@@ -182,9 +185,13 @@ namespace BeWo.Scheduler.View
this.Dispatch(() =>
{
OffeneTermine = OffeneTermine.Where(w => !w.Equals(vm)).ToObservableCollection();
- OnPropertyChanged(nameof(OffeneTermine));
- RaiseParticipationChangedEventEvent();
+ if (raiseChangeEvent)
+ {
+ OnPropertyChanged(nameof(OffeneTermine));
+
+ RaiseParticipationChangedEventEvent();
+ }
});
}
else
@@ -193,9 +200,12 @@ namespace BeWo.Scheduler.View
this.Dispatch(() =>
{
OffeneTermine = OffeneTermine.Where(w => !w.Equals(test)).ToObservableCollection();
- OnPropertyChanged(nameof(OffeneTermine));
+ if (raiseChangeEvent)
+ {
+ OnPropertyChanged(nameof(OffeneTermine));
- RaiseParticipationChangedEventEvent();
+ RaiseParticipationChangedEventEvent();
+ }
});
}
}
@@ -207,14 +217,22 @@ namespace BeWo.Scheduler.View
ToggleControls();
- if (OffeneTermine.Count == 0 && OTListView.Items.Count == 0)
- {
- Close();
- }
- else
- {
- OTListView.SelectedIndex = 0;
- }
+ if (!raiseChangeEvent)
+ {
+ //Close();
+ }
+ else
+ {
+ if (OffeneTermine.Count == 0 && OTListView.Items.Count == 0)
+ {
+ Close();
+ }
+ else
+ {
+ OTListView.SelectedIndex = 0;
+ }
+ }
+
});
}
@@ -240,6 +258,7 @@ namespace BeWo.Scheduler.View
}
ToggleControls();
+ raiseChangeEvent = true;
ServiceFacade.DoResourceServiceAsync(s => s.UpdateSchedulerAppointments(new List { ((SchedulerAppointmentVM)SelektierterTermin).DataContract }), UpdateView);
return;
@@ -256,6 +275,7 @@ namespace BeWo.Scheduler.View
customFieldStorage2.EmployeeList.ToList().Find(f => f.Employee2SchedulerAppointmentOid == SelektierterTermin.LabelId).IsPChanged = false;
ToggleControls();
+ raiseChangeEvent = true;
ServiceFacade.DoResourceServiceAsync(s => s.UpdateSchedulerAppointments(new List {((SchedulerAppointmentVM) SelektierterTermin).DataContract}), UpdateView);
}
@@ -269,7 +289,9 @@ namespace BeWo.Scheduler.View
ZusagenStack.IsEnabled = !ZusagenStack.IsEnabled;
OkButton.IsEnabled = !OkButton.IsEnabled;
CloseBtn.IsEnabled = !CloseBtn.IsEnabled;
- }
+ AlleBestaetigen.IsEnabled = !AlleBestaetigen.IsEnabled;
+
+ }
private void PopupBaseEdit_OnPopupOpening(object sender, OpenPopupEventArgs e)
{
@@ -292,16 +314,25 @@ namespace BeWo.Scheduler.View
{
var employeeList = customFieldStorage.EmployeeList ?? new ObservableCollection();
- var appointmentsToAccept = employeeList.Where(e2Sa => e2Sa.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid).ToList();
+ //var appointmentsToAccept = employeeList.Where(e2Sa => e2Sa.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid).ToList();
- foreach(var e2Sa in appointmentsToAccept)
+ foreach(var e2Sa in employeeList)
{
e2Sa.IsPC_CheckedTs = DateTime.Now;
- e2Sa.IsPChanged = true;
- e2Sa.ParticipationAnswer = ParticipationAnswer.Zusage;
+ if (e2Sa.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid)
+ {
+
+ e2Sa.IsPChanged = true;
+ e2Sa.ParticipationAnswer = ParticipationAnswer.Zusage;
+ }
+ else
+ {
+ e2Sa.IsPChanged = false;
+ }
+
}
- if(appointmentsToAccept.Any())
+ if (employeeList.Any())
{
if(appointment is SchedulerAppointmentVM vm)
{
@@ -310,8 +341,10 @@ namespace BeWo.Scheduler.View
}
}
}
-
+ ToggleControls();
+ raiseChangeEvent = false;
ServiceFacade.DoResourceServiceAsync(s => s.UpdateSchedulerAppointments(appointmentsToUpdate), UpdateView);
+ Close();
}
}
diff --git a/BeWo/View/Controls/DPCtrlIst.cs b/BeWo/View/Controls/DPCtrlIst.cs
index 30ff84c5c..d878dd472 100644
--- a/BeWo/View/Controls/DPCtrlIst.cs
+++ b/BeWo/View/Controls/DPCtrlIst.cs
@@ -21,6 +21,9 @@ namespace BeWo.View.Controls
if (ctrl != null)
{
+ ctrl.Text = "";
+ ctrl.ToolTip = "";
+
if (information != null)
{
if (information.Row == 0 && !information.Statuszeile)
diff --git a/BeWo/View/Controls/DPCtrlSaldo.cs b/BeWo/View/Controls/DPCtrlSaldo.cs
index 7a2f0c520..a97c434b2 100644
--- a/BeWo/View/Controls/DPCtrlSaldo.cs
+++ b/BeWo/View/Controls/DPCtrlSaldo.cs
@@ -21,6 +21,9 @@ namespace BeWo.View.Controls
if (ctrl != null)
{
+ ctrl.Text = "";
+ ctrl.ToolTip = "";
+
if (information != null)
{
if (information.Row == 0 && !information.Statuszeile)
diff --git a/BeWo/View/Controls/DPCtrlSoll.cs b/BeWo/View/Controls/DPCtrlSoll.cs
index 9cd8a8f75..3374ae4a1 100644
--- a/BeWo/View/Controls/DPCtrlSoll.cs
+++ b/BeWo/View/Controls/DPCtrlSoll.cs
@@ -22,9 +22,13 @@ namespace BeWo.View.Controls
var information = (DPCtrlSollInformation)e.NewValue;
var ctrl = (DPCtrlSoll)s;
- if(ctrl != null)
+
+ if (ctrl != null)
{
- if(information != null)
+ ctrl.Text = "";
+ ctrl.ToolTip = "";
+
+ if (information != null)
{
Debug.WriteLine("Status: " + information.Statuszeile + " | MA: " + information.EmployeeDC + " | Soll: " + information.SollWert);
if (information.Row == 0 && !information.Statuszeile)
diff --git a/BeWo/View/Controls/DPCtrlUrlaubKrankheit.cs b/BeWo/View/Controls/DPCtrlUrlaubKrankheit.cs
index 574823e86..f9fa97572 100644
--- a/BeWo/View/Controls/DPCtrlUrlaubKrankheit.cs
+++ b/BeWo/View/Controls/DPCtrlUrlaubKrankheit.cs
@@ -21,6 +21,9 @@ namespace BeWo.View.Controls
if (ctrl != null)
{
+ ctrl.Text = "";
+ ctrl.ToolTip = "";
+
if (information != null)
{
if (information.SpalteFuerUrlaub)
diff --git a/BeWo/View/Controls/DPCtrlWeek.cs b/BeWo/View/Controls/DPCtrlWeek.cs
index 6c3230340..fa96a91b2 100644
--- a/BeWo/View/Controls/DPCtrlWeek.cs
+++ b/BeWo/View/Controls/DPCtrlWeek.cs
@@ -22,6 +22,8 @@ namespace BeWo.View.Controls
if (c != null)
{
+ c.Text = "";
+ c.ToolTip = "";
if (dc != null)
{
//dc.RemoveAll(x => x == null);
diff --git a/BeWo/View/Detail/Report/DienstplanerView.xaml.cs b/BeWo/View/Detail/Report/DienstplanerView.xaml.cs
index 8270c6b6b..597bfe32a 100644
--- a/BeWo/View/Detail/Report/DienstplanerView.xaml.cs
+++ b/BeWo/View/Detail/Report/DienstplanerView.xaml.cs
@@ -1857,7 +1857,8 @@ namespace BeWo.View.Detail.Report
DienstDict = new Dictionary(),
Employee = zeile.Employee,
StatusListe = null,
- Zeile = zeile.Zeile + 1
+ Zeile = zeile.Zeile + 1,
+ DebugInfo = "Hinzugefügt"
});
RefreshGrid();
break;
diff --git a/Host/Host.csproj.user b/Host/Host.csproj.user
index 4b21acef4..2beba1959 100644
--- a/Host/Host.csproj.user
+++ b/Host/Host.csproj.user
@@ -3,7 +3,7 @@
BeWo2.0
true
- Debug|Any CPU
+ Release|Any CPU
diff --git a/ReportService/ServiceImplementations/ReportServiceImp.cs b/ReportService/ServiceImplementations/ReportServiceImp.cs
index c74590c1b..03cc3cb70 100644
--- a/ReportService/ServiceImplementations/ReportServiceImp.cs
+++ b/ReportService/ServiceImplementations/ReportServiceImp.cs
@@ -210,7 +210,7 @@ namespace ReportingService.ServiceImplementations
var customerDllPath = Path.Combine(path, @"bin\" + tenant + "_reports.dll");// Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\" + tenant + "_reports.dll");
#else
- var customerDllPath = Path.Combine(path, @"bin\" + tenant + "_reports.dll");//Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Customer\" + tenant + "_reports.dll");
+ var customerDllPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Customer\" + tenant + "_reports.dll");
#endif
if (File.Exists(customerDllPath))
{
@@ -236,7 +236,7 @@ namespace ReportingService.ServiceImplementations
creator.TempPath = Path.Combine(path, @"demo\temp");
#else
- creator.TempPath = Path.Combine(path, tenant + @"\temp");
+ creator.TempPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, tenant + @"\temp");
#endif
return creator;
diff --git a/Service/Plugins/PluginLoader.cs b/Service/Plugins/PluginLoader.cs
index c9c66007e..2a28ed1af 100644
--- a/Service/Plugins/PluginLoader.cs
+++ b/Service/Plugins/PluginLoader.cs
@@ -71,7 +71,7 @@ namespace BeWo.Service.Plugins
//t = "4526293996"; // Fortis
//t = "3647969417"; // Caritas Bottrop
//t = "3963982016"; // Convoi
- t = "3057313346"; // SSB Mainz
+ //t = "3057313346"; // SSB Mainz
//t = "6246287823"; // BeWo Alsdorf
//t = "1420341656"; // Vibb Essen
//t = "4941141927"; // Signcom
@@ -166,7 +166,7 @@ namespace BeWo.Service.Plugins
//t = "7803602698"; // Taubblindendienst
//t = "5518600303"; // Wetterleuchten e.V.
//t = "4096649015"; // AWO Dortmund
- //t = "3614251071"; // Pusteblume
+ t = "3614251071"; // Pusteblume
//t = "7755740484"; // Sawo
//t = "8275654834"; // Twg Jonathan
//t = "6586058528"; // Freundeskreis Suchtkrankenhilfe e.V.
@@ -196,7 +196,7 @@ namespace BeWo.Service.Plugins
//t = "9883255779"; // VKM Menden
//t = "9556218062"; // Diakonie Landshut
//t = "2279593936"; // Diakonie Mülheim
- t = "3623837005"; // Betreuwo Wesel
+ //t = "3623837005"; // Betreuwo Wesel
//t = "8407321888"; // AWO Wesel
//t = "8454426692"; // Mit-Menschen Wuppertal
//t = "0629004412"; // BeWo-Colonia Basaran (Projekt
diff --git a/Service/Plugins/VacationService.cs b/Service/Plugins/VacationService.cs
index 720d54410..e057bb6f3 100644
--- a/Service/Plugins/VacationService.cs
+++ b/Service/Plugins/VacationService.cs
@@ -256,11 +256,14 @@ namespace BeWo.Service.Plugins
decimal tageNachAbzug = 0;
decimal abzuziehendeTage = 0;
- int arbeitstage = contract.WeeklyDays != null ? (int)contract.WeeklyDays : 0; // Vertragliche Arbeitstage
+ int arbeitstage = contract.WeeklyDays; // Vertragliche Arbeitstage
DateTime? endDate = contract.ContractEndDate == null ? new DateTime(year, 12, 31) : contract.ContractEndDate; // Ende des Vertrags auf letzten Tag des Jahres setzen, wenn kein Ende
- var leaveDays = contract.EmploymentType.LeaveDays == null ? contract.LeaveDays : contract.EmploymentType.LeaveDays; // Vertragliche Urlaubstage
-
- if (contract.EntryDate.Value.Year == year || endDate.Value.Year == year) // Wenn Vertrag im gewählten Jahr beginnt oder endet
+ var leaveDays = contract.EmploymentType?.LeaveDays == null ? contract.LeaveDays : contract.EmploymentType.LeaveDays; // Vertragliche Urlaubstage
+ if (!leaveDays.HasValue)
+ {
+ leaveDays = 0;
+ }
+ if (contract.EntryDate.HasValue && (contract.EntryDate.Value.Year == year || endDate.Value.Year == year)) // Wenn Vertrag im gewählten Jahr beginnt oder endet
{
if (contract.EntryDate.Value.Year == year) // Wenn Vertrag im gewählten Jahr beginnt
{
@@ -287,9 +290,11 @@ namespace BeWo.Service.Plugins
var contractStart = contract.EntryDate.Value.ToString().Split(' ');
var contractEnd = contract.ContractEndDate != null ? contract.ContractEndDate.Value.ToString().Split(' ') : null;
+ var anzahlTage = leaveDays - abzuziehendeTage;
+
var obereZeile = new UrlaubskontoDarstellungDC()
{
- AnzahlTage = contract.EmploymentType.LeaveDays == null ? string.Format("{0:0.00}", (decimal)contract.LeaveDays - abzuziehendeTage) : string.Format("{0:0.00}", (decimal)contract.EmploymentType.LeaveDays - abzuziehendeTage),
+ AnzahlTage = string.Format("{0:0.00}", anzahlTage),
Herkunft = string.Format("EmpOid:{0} ContractOid:{1}", emp.EmployeeOid, contract.ContractOid),
Tooltip = null,
IsDeletable = false,
@@ -485,10 +490,9 @@ namespace BeWo.Service.Plugins
// Konto für aktuelles Jahr in Schleife auswählen
var tmp = konten[i];
- if (contract.EmploymentType.LeaveDays != null)
+ if (contract.EmploymentType?.LeaveDays != null)
contract.LeaveDays = contract.EmploymentType.LeaveDays;
-
-
+
//Hier wird nun der Urlaubsanspruch für ein Jahr errechnet, in dem der Vertrag beginnt oder aufhört. (Siehe CalcCorrectNumberOfLeaveDaysForSpecialContractSituation())
var urlaubsanspruchFuerVertragInLoop = contract.LeaveDays ?? 0;
diff --git a/Shared/DataContracts/DienstZeileDC.cs b/Shared/DataContracts/DienstZeileDC.cs
index 021fd1e9f..0ec949143 100644
--- a/Shared/DataContracts/DienstZeileDC.cs
+++ b/Shared/DataContracts/DienstZeileDC.cs
@@ -22,7 +22,8 @@ namespace BS.Shared.DataContracts
public Dictionary DienstDict { get; set; }
[DataMember]
public List StatusListe { get; set; }
-
+
+ public String DebugInfo { get; set; }
public DienstZeileDC() { }