Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/BeWo
This commit is contained in:
@@ -4629,6 +4629,11 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/DeleteMobileTestAppointments", ReplyAction="http://tempuri.org/IResourceService/DeleteMobileTestAppointmentsResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/DeleteMobileTestAppointmentsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
void DeleteMobileTestAppointments();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/LoadFilteredAllActiveAppointments", ReplyAction="http://tempuri.org/IResourceService/LoadFilteredAllActiveAppointmentsResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/LoadFilteredAllActiveAppointmentsBeWoFaultFau" +
|
||||
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> LoadFilteredAllActiveAppointments(long employeeOid, System.DateTime start, System.DateTime end, System.Collections.Generic.List<long> customerOids);
|
||||
}
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
@@ -4924,6 +4929,11 @@ namespace BeWo.ServiceProxy
|
||||
{
|
||||
base.Channel.DeleteMobileTestAppointments();
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> LoadFilteredAllActiveAppointments(long employeeOid, System.DateTime start, System.DateTime end, System.Collections.Generic.List<long> customerOids)
|
||||
{
|
||||
return base.Channel.LoadFilteredAllActiveAppointments(employeeOid, start, end, customerOids);
|
||||
}
|
||||
}
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
@@ -5067,6 +5077,12 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/BuildUrlaubsplanerRootObjectBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
BS.Shared.DataContracts.UrlaubsplanerRootDC BuildUrlaubsplanerRootObject(int year, int month);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetInformationStringForUrlaubsplaner", ReplyAction="http://tempuri.org/IOperationsService/GetInformationStringForUrlaubsplanerRespons" +
|
||||
"e")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetInformationStringForUrlaubsplanerBeWoFau" +
|
||||
"ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
string GetInformationStringForUrlaubsplaner(BS.Shared.DataContracts.UrlaubskontoDC dc, decimal tageUrlaub, decimal tageKrank, bool urlaubVerfallen);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetFlexibleReportResult", ReplyAction="http://tempuri.org/IOperationsService/GetFlexibleReportResultResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetFlexibleReportResultBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
BS.Shared.DataContracts.FlexibleReportResultDC GetFlexibleReportResult(BS.Shared.DataContracts.FlexibleReportFilterDC filter);
|
||||
@@ -6381,6 +6397,11 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.BuildUrlaubsplanerRootObject(year, month);
|
||||
}
|
||||
|
||||
public string GetInformationStringForUrlaubsplaner(BS.Shared.DataContracts.UrlaubskontoDC dc, decimal tageUrlaub, decimal tageKrank, bool urlaubVerfallen)
|
||||
{
|
||||
return base.Channel.GetInformationStringForUrlaubsplaner(dc, tageUrlaub, tageKrank, urlaubVerfallen);
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.FlexibleReportResultDC GetFlexibleReportResult(BS.Shared.DataContracts.FlexibleReportFilterDC filter)
|
||||
{
|
||||
return base.Channel.GetFlexibleReportResult(filter);
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace BeWo.View.Controls
|
||||
c.Text = string.Empty;
|
||||
c.ToolTip = "Kein gültiger Arbeitsvertrag";
|
||||
}
|
||||
else if (info.Reason != null && !info.IsFeiertag && info.DayOfWeek != DayOfWeek.Saturday && info.DayOfWeek != DayOfWeek.Sunday)
|
||||
else if (info.Reason != null && !info.IsFeiertag /*&& info.DayOfWeek != DayOfWeek.Saturday && info.DayOfWeek != DayOfWeek.Sunday*/)
|
||||
{
|
||||
c.Foreground = Brushes.Red;
|
||||
c.Text = $"{info.Reason.Description[0]}";
|
||||
|
||||
@@ -50,7 +50,9 @@ namespace BeWo.View.Controls
|
||||
|
||||
ctrl.Text = ctrl.DisplayMember;
|
||||
|
||||
ctrl.ToolTip = new DPCtrlEmployeeTooltip(information.Employee, information.Contracts);
|
||||
ctrl.ToolTip = new DPCtrlEmployeeTooltip(information.Employee, information.Contracts, information.IsVertretung);
|
||||
//if (information.IsVertretung)
|
||||
// ctrl.Path_Notice.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -107,51 +109,51 @@ namespace BeWo.View.Controls
|
||||
{
|
||||
|
||||
case 0: return EmployeeInformation.Employee.LastNameFirstName;
|
||||
//Auskommentieren für nur eine Zeile
|
||||
case 1:
|
||||
|
||||
//case 1:
|
||||
foreach (var contract in EmployeeInformation.Contracts)
|
||||
{
|
||||
sb.Append(contract.EmploymentType?.Name);
|
||||
sb.Append('/');
|
||||
}
|
||||
|
||||
// foreach (var contract in EmployeeInformation.Contracts)
|
||||
// {
|
||||
// sb.Append(contract.EmploymentType?.Name);
|
||||
// sb.Append('/');
|
||||
// }
|
||||
sb.Remove(sb.Length - 1, 1);
|
||||
|
||||
// sb.Remove(sb.Length - 1, 1);
|
||||
return sb.ToString();
|
||||
|
||||
// return sb.ToString();
|
||||
case 2:
|
||||
|
||||
//case 2:
|
||||
foreach (var contract in EmployeeInformation.Contracts)
|
||||
{
|
||||
sb.Append('(');
|
||||
|
||||
// foreach (var contract in EmployeeInformation.Contracts)
|
||||
// {
|
||||
// sb.Append('(');
|
||||
if (contract.EntryDate.HasValue)
|
||||
sb.Append(contract.EntryDate.Value.ToString("dd.MM.yy"));
|
||||
else
|
||||
sb.Append("k.A.");
|
||||
|
||||
// if (contract.EntryDate.HasValue)
|
||||
// sb.Append(contract.EntryDate.Value.ToString("dd.MM.yy"));
|
||||
// else
|
||||
// sb.Append("k.A.");
|
||||
sb.Append(" - ");
|
||||
|
||||
// sb.Append(" - ");
|
||||
if (contract.ContractEndDate.HasValue)
|
||||
sb.Append(contract.ContractEndDate.Value.ToString("dd.MM.yy"));
|
||||
else
|
||||
sb.Append("unbefr.");
|
||||
|
||||
// if (contract.ContractEndDate.HasValue)
|
||||
// sb.Append(contract.ContractEndDate.Value.ToString("dd.MM.yy"));
|
||||
// else
|
||||
// sb.Append("unbefr.");
|
||||
sb.Append(')');
|
||||
|
||||
// sb.Append(')');
|
||||
sb.Append('/');
|
||||
}
|
||||
|
||||
// sb.Append('/');
|
||||
// }
|
||||
sb.Remove(sb.Length - 1, 1);
|
||||
|
||||
// sb.Remove(sb.Length - 1, 1);
|
||||
|
||||
// return sb.ToString();
|
||||
return sb.ToString();
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return Translator.Translate("Besetzungsstatus");
|
||||
return Translator.Translate("Status");
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -165,5 +167,6 @@ namespace BeWo.View.Controls
|
||||
public List<ContractDC> Contracts { get; set; }
|
||||
public int Row { get; set; }
|
||||
public bool IsLastRow { get; set; }
|
||||
public bool IsVertretung { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace BeWo.View.Controls
|
||||
/// </summary>
|
||||
public partial class DPCtrlEmployeeTooltip : UserControl
|
||||
{
|
||||
public DPCtrlEmployeeTooltip(EmployeeDC employeeDC, List<ContractDC> contractDCs)
|
||||
public DPCtrlEmployeeTooltip(EmployeeDC employeeDC, List<ContractDC> contractDCs, bool isVertretung)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
@@ -28,12 +28,15 @@ namespace BeWo.View.Controls
|
||||
|
||||
foreach (var contract in contractDCs)
|
||||
{
|
||||
var sep = new Separator();
|
||||
var sep1 = new Separator();
|
||||
var sep2 = new Separator();
|
||||
var txtType1 = new TextBlock();
|
||||
var txtType2 = new TextBlock();
|
||||
var txtArbeit1 = new TextBlock();
|
||||
var txtArbeit2 = new TextBlock();
|
||||
|
||||
var txtVertretung1 = new TextBlock();
|
||||
var txtVertretung2 = new TextBlock();
|
||||
|
||||
txtType1.Text = "Beschäftigungsart:";
|
||||
txtType2.Text = $"{contract.EmploymentType?.Name}";
|
||||
|
||||
@@ -51,12 +54,14 @@ namespace BeWo.View.Controls
|
||||
{
|
||||
txtArbeit2.Text = $"k.A.";
|
||||
}
|
||||
txtVertretung1.Text = "Vertretung:";
|
||||
txtVertretung2.Text = isVertretung ? "Ja" : "Nein";
|
||||
|
||||
RootGrid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
|
||||
RootGrid.Children.Add(sep);
|
||||
RootGrid.Children.Add(sep1);
|
||||
|
||||
Grid.SetRow(sep, RootGrid.RowDefinitions.Count - 1);
|
||||
Grid.SetColumnSpan(sep, 3);
|
||||
Grid.SetRow(sep1, RootGrid.RowDefinitions.Count - 1);
|
||||
Grid.SetColumnSpan(sep1, 3);
|
||||
|
||||
RootGrid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
|
||||
RootGrid.Children.Add(txtType1);
|
||||
@@ -73,6 +78,22 @@ namespace BeWo.View.Controls
|
||||
Grid.SetRow(txtArbeit1, RootGrid.RowDefinitions.Count - 1);
|
||||
Grid.SetRow(txtArbeit2, RootGrid.RowDefinitions.Count - 1);
|
||||
Grid.SetColumn(txtArbeit2, 2);
|
||||
|
||||
|
||||
RootGrid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
|
||||
RootGrid.Children.Add(sep2);
|
||||
|
||||
Grid.SetRow(sep2, RootGrid.RowDefinitions.Count - 1);
|
||||
Grid.SetColumnSpan(sep2, 3);
|
||||
|
||||
RootGrid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
|
||||
RootGrid.Children.Add(txtVertretung1);
|
||||
RootGrid.Children.Add(txtVertretung2);
|
||||
|
||||
Grid.SetRow(txtVertretung1, RootGrid.RowDefinitions.Count - 1);
|
||||
Grid.SetRow(txtVertretung2, RootGrid.RowDefinitions.Count - 1);
|
||||
Grid.SetColumn(txtVertretung2, 2);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,13 +30,13 @@ namespace BeWo.View.Controls
|
||||
}
|
||||
|
||||
if (information.Statuszeile)
|
||||
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 2);
|
||||
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 2);
|
||||
else
|
||||
{
|
||||
if (information.IsLastRow)
|
||||
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 1);
|
||||
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
|
||||
else
|
||||
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 0);
|
||||
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
using System;
|
||||
using BS.Shared.DataContracts;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -24,10 +26,12 @@ namespace BeWo.View.Controls
|
||||
{
|
||||
if(information != null)
|
||||
{
|
||||
Debug.WriteLine("Status: " + information.Statuszeile + " | MA: " + information.EmployeeDC + " | Soll: " + information.SollWert);
|
||||
if (information.Row == 0 && !information.Statuszeile)
|
||||
{
|
||||
ctrl.Text = string.Format("{0:0.00}", information.SollWert);
|
||||
ctrl.ToolTip = "Soll-Wert";
|
||||
|
||||
}
|
||||
|
||||
if (information.Statuszeile)
|
||||
@@ -62,6 +66,7 @@ namespace BeWo.View.Controls
|
||||
public bool Statuszeile { get; set; }
|
||||
public decimal SollWert { get; set; }
|
||||
public bool IsLastRow { get; set; }
|
||||
public EmployeeDC EmployeeDC { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -464,8 +464,8 @@
|
||||
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="7" Margin="3" Height="23" EditValue="{Binding Path=WeeklyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="8" Margin="3" Height="23" EditValue="{Binding Path=MonthlyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<dxe:SpinEdit MinValue="0" MaxValue="7" IsFloatValue="False" Grid.Column="1" Grid.Row="9" Margin="3" Height="23" EditValue="{Binding Path=WeeklyDays, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="10" Margin="3" Height="23" EditValue="{Binding Path=EmploymentType.LeaveDays, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding EmploymentTypeLeaveDaysVisibility}" IsEnabled="False" />
|
||||
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="10" Margin="3" Height="23" EditValue="{Binding Path=LeaveDays, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding LeaveDaysVisibility}" />
|
||||
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="10" Margin="3" Height="23" EditValue="{Binding Path=EmploymentType.LeaveDays, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding EmploymentTypeLeaveDaysVisibility, UpdateSourceTrigger=PropertyChanged}" IsEnabled="False" />
|
||||
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="10" Margin="3" Height="23" EditValue="{Binding Path=LeaveDays, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding LeaveDaysVisibility, UpdateSourceTrigger=PropertyChanged}" IsEnabled="True" />
|
||||
<dxe:SpinEdit MinValue="0" IsFloatValue="False" Grid.Column="1" Grid.Row="11" Margin="3" Height="23" EditValue="{Binding Path=ProbationPeriod, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<dxe:SpinEdit MinValue="0" IsFloatValue="True" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="12" Margin="3" Height="23" EditValue="{Binding Path=ProbationPeriod2, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<dxe:SpinEdit MinValue="0" IsFloatValue="False" Grid.Column="1" Grid.Row="13" Margin="3" Height="23" EditValue="{Binding Path=CancellationPeriod, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
@@ -259,7 +259,8 @@ namespace BeWo.View.Detail
|
||||
int restlicheTageImJahr = Convert.ToInt32((new DateTime(ViewModel.LastContract.EntryDate.Value.Year, 12, 31) - ViewModel.LastContract.EntryDate.Value.Date).TotalDays);
|
||||
urlaubstage = CalculateUrlaubstage((DateTime)ViewModel.LastContract.EntryDate, arbeitstage, restlicheTageImJahr, urlaubstage);
|
||||
|
||||
//Urlaubskonto: Verbleibende Tage hier auf urlaubstage setzen..
|
||||
// Urlaubskonto: Verbleibende Tage hier auf Urlaubstage setzen..
|
||||
|
||||
}
|
||||
}
|
||||
else // Beschäftigungsart sind keine festen Urlaubstage zugeordnet
|
||||
@@ -700,6 +701,18 @@ namespace BeWo.View.Detail
|
||||
contract.EmploymentTypeLeaveDaysVisibility = Visibility.Collapsed;
|
||||
contract.LeaveDaysVisibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
//var index = tabcontrol_contracts.SelectedIndex;
|
||||
//if(index == tabcontrol_contracts.Items.Count - 1)
|
||||
// {
|
||||
// Cache.GetInstance().ClearEmployees();
|
||||
// BeWoApp.MainControl.ResetView(UIContext.Employee);
|
||||
//}
|
||||
//else
|
||||
// {
|
||||
// tabcontrol_contracts.SelectedIndex = tabcontrol_contracts.Items.Count - 1;
|
||||
// tabcontrol_contracts.SelectedIndex = index;
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -118,7 +118,7 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
// Alle Tage in einem Monat
|
||||
if (spanne.Start.Value.Month == spanne.End.Value.Month)
|
||||
tageUrlaub += Convert.ToInt32((spanne.End.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
|
||||
tageKrankheit += Convert.ToInt32((spanne.End.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
|
||||
// Tage über mehrere Monate verteilt
|
||||
else
|
||||
{
|
||||
@@ -163,7 +163,7 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
c._EmployeeUrlaubDieserMonat.Text = "Urlaub diesen Monat: " + tageUrlaub + " Tage";
|
||||
c._EmployeeKrankheitDieserMonat.Text = "Krankheit diesen Monat: " + tageKrankheit + " Tage";
|
||||
((AbwesenheitsEmployeeHeaderTooltip)c.ToolTip).Set(dc.Employee, tageUrlaub, tageKrankheit);
|
||||
((AbwesenheitsEmployeeHeaderTooltip)c.ToolTip).Set(dc.Employee, tageUrlaub, tageKrankheit, dc.Month);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="Resturlaub Vorjahr" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Foreground="Black" Margin="3"/>
|
||||
<TextBlock x:Name="_TxtResturlaubVorjahr" Text="35,00 Tage" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Left" Foreground="Black" Margin="3"/>
|
||||
@@ -33,5 +34,8 @@
|
||||
<TextBlock x:Name="_TxtTageUrlaub" Text="00,00 Tage" Grid.Column="1" Grid.Row="4" HorizontalAlignment="Left" Foreground="Black" Margin="3" />
|
||||
<TextBlock Text="Tage Krank" Grid.Column="0" Grid.Row="5" HorizontalAlignment="Left" Foreground="Black" Margin="3" />
|
||||
<TextBlock x:Name="_TxtTageKrank" Text="00,00 Tage" Grid.Column="1" Grid.Row="5" HorizontalAlignment="Left" Foreground="Black" Margin="3" />
|
||||
|
||||
<TextBlock Text="Verfallene Urlaubstage" Grid.Column="0" Grid.Row="6" HorizontalAlignment="Left" Foreground="Black" Margin="3" />
|
||||
<TextBlock x:Name="_TxtVerfallenerUrlaub" Text="00,00 Tage" Grid.Column="1" Grid.Row="6" HorizontalAlignment="Left" Foreground="Black" Margin="3" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace BeWo.View.Detail.Report
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void Set(EmployeeDC emp, int tageUrlaub, int tageKrankheit)
|
||||
public void Set(EmployeeDC emp, int tageUrlaub, int tageKrankheit, int month)
|
||||
{
|
||||
var konto = emp.Urlaubskonto;
|
||||
|
||||
@@ -36,6 +36,11 @@ namespace BeWo.View.Detail.Report
|
||||
_TxtUrlaubsanspruchVorjahr.Text = konto.ResturlaubVorjahrTotal.ToString("0.00") + " Tage";
|
||||
_TxtTageUrlaub.Text = tageUrlaub.ToString("0.00") + " Tage";
|
||||
_TxtTageKrank.Text = tageKrankheit.ToString("0.00") + " Tage";
|
||||
|
||||
if (emp.Urlaubskonto.UrlaubsVerfallsdatum.Month >= month)
|
||||
_TxtVerfallenerUrlaub.Text = "0.00 Tage";
|
||||
else
|
||||
_TxtVerfallenerUrlaub.Text = konto.VerfallenerUrlaub.ToString("0.00") + " Tage";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,11 +61,6 @@ namespace BeWo.View.Detail.Report
|
||||
public int SelectedMonth { get; set; }
|
||||
public int SelectedYear { get; set; }
|
||||
|
||||
//public List<AbsenceTimeDC> Abwesenheiten { get; set; }
|
||||
//public List<FeiertagDC> Feiertage { get; set; }
|
||||
//public List<GeschenkterUrlaubstagDC> GeschenkteUrlaubstage { get; set; }
|
||||
|
||||
|
||||
public AbwesenheitstabelleView()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -96,11 +91,6 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
UrlaubsplanerRootObj = ServiceFacade.DoOperationsServiceSync(s => s.BuildUrlaubsplanerRootObject(SelectedYear, SelectedMonth));
|
||||
|
||||
//Feiertage = ServiceFacade.DoOperationsServiceSync(s => s.GetDefaultFeiertageForYear(SelectedYear)).Where(f => f.Datum.Month == SelectedMonth).ToList();
|
||||
//Abwesenheiten = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllEmployeeAbsenceTimesForMonth(SelectedYear, SelectedMonth));
|
||||
//GeschenkteUrlaubstage = ServiceFacade.DoEmployeeServiceSync(s => s.GetGeschenkteUrlaubstageForYear(SelectedYear));
|
||||
|
||||
|
||||
UpdateScheduler();
|
||||
ColorizeFeiertage();
|
||||
}
|
||||
@@ -339,6 +329,8 @@ namespace BeWo.View.Detail.Report
|
||||
AbsenceTimes = UrlaubsplanerRootObj.Abwesenheiten.Where(a => a.EmployeeOid == employee.EmployeeOid).ToList(),
|
||||
GeschenkteUrlaubstage = UrlaubsplanerRootObj.GeschenkteUrlaubstage.Where(u => u.Employee == employee.EmployeeOid).ToList()
|
||||
};
|
||||
infoDC.TageUrlaub = CountUrlaubstage(infoDC);
|
||||
infoDC.TageKrankheit = CountKrankheitstage(infoDC);
|
||||
|
||||
var resource = _SchedulerStorage.CreateResource(employee.EmployeeOid.Value.ToString());
|
||||
|
||||
@@ -417,11 +409,154 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
var temp = (VerticalHeaderControl)sender;
|
||||
var c = (VisualResourceHeaderContent)temp.Content;
|
||||
var info = c.CustomFields["AbwesenheitsInformationDC"]; //Hierin steht das AbwesenheitsInformationDC, aber man kommt nicht dran
|
||||
|
||||
var info = c.CustomFields["AbwesenheitsInformationDC"] as AbwesenheitsInformationDC; //Hierin steht das AbwesenheitsInformationDC, aber man kommt nicht dran
|
||||
var urlaubskonto = info.Employee.Urlaubskonto;
|
||||
|
||||
bool urlaubVerfallen = info.Month >= urlaubskonto.UrlaubsVerfallsdatum.Month ? true : false;
|
||||
|
||||
string xamlstring = ServiceFacade.DoOperationsServiceSync(s => s.GetInformationStringForUrlaubsplaner(urlaubskonto, info.TageUrlaub, info.TageKrankheit, urlaubVerfallen));
|
||||
var control = new InformationView();
|
||||
control.SetXaml(xamlstring);
|
||||
|
||||
var beWoWindow = new BeWoWindow();
|
||||
|
||||
control.ButtonCloseClicked += () => beWoWindow.Close();
|
||||
|
||||
beWoWindow.Height = 100;
|
||||
beWoWindow.Width = 400;
|
||||
beWoWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
|
||||
beWoWindow.GroupBoxContent = control;
|
||||
beWoWindow.Owner = BeWoApp.CurrentBeWo.MainWindow;
|
||||
beWoWindow.rootGroupBox.Header = "Infos zu " + info.Employee.LastNameFirstName;
|
||||
beWoWindow.ShowDialog();
|
||||
}
|
||||
|
||||
|
||||
private decimal CountUrlaubstage(AbwesenheitsInformationDC info)
|
||||
{
|
||||
decimal tageUrlaub = 0;
|
||||
|
||||
List<AbsenceTimeDC> urlaubstage = new List<AbsenceTimeDC>();
|
||||
|
||||
foreach (var tag in info.AbsenceTimes)
|
||||
{
|
||||
if (tag.Reason.Description.Equals("Urlaub"))
|
||||
urlaubstage.Add(tag);
|
||||
}
|
||||
|
||||
if (urlaubstage.Count > 0)
|
||||
{
|
||||
foreach (var spanne in urlaubstage)
|
||||
{
|
||||
if (spanne.End == null)
|
||||
spanne.End = new DateTime(info.Year, info.Month, DateTime.DaysInMonth(info.Year, info.Month));
|
||||
// Nur ein Tag
|
||||
if (spanne.Start == spanne.End)
|
||||
tageUrlaub++;
|
||||
// Mehrere Tage
|
||||
else
|
||||
{
|
||||
// Alle Tage in einem Monat
|
||||
if (spanne.Start.Value.Month == spanne.End.Value.Month)
|
||||
tageUrlaub += Convert.ToInt32((spanne.End.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
|
||||
// Tage über Monate verteilt
|
||||
else
|
||||
{
|
||||
DateTime? tempStart = null;
|
||||
DateTime? tempEnd = null;
|
||||
// Prüfen, ob Start und/oder Ende nicht dem ausgewählten Monat entspricht
|
||||
if (spanne.Start.Value.Month != info.Month)
|
||||
{
|
||||
tempStart = new DateTime(info.Year, info.Month, 1);
|
||||
}
|
||||
if (spanne.End.Value.Month != info.Month)
|
||||
{
|
||||
tempEnd = new DateTime(info.Year, info.Month, 1).AddMonths(1).AddTicks(-1);
|
||||
}
|
||||
|
||||
if (tempStart != null && tempEnd != null)
|
||||
tageUrlaub += Convert.ToInt32((tempEnd.Value.Date - tempStart.Value.Date).TotalDays + 1);
|
||||
else if (tempStart != null && tempEnd == null)
|
||||
tageUrlaub += Convert.ToInt32((spanne.End.Value.Date - tempStart.Value.Date).TotalDays + 1);
|
||||
else if (tempStart == null && tempEnd != null)
|
||||
tageUrlaub += Convert.ToInt32((tempEnd.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return tageUrlaub;
|
||||
}
|
||||
private decimal CountKrankheitstage(AbwesenheitsInformationDC info)
|
||||
{
|
||||
int tageKrankheit = 0;
|
||||
List<AbsenceTimeDC> krankheitstage = new List<AbsenceTimeDC>();
|
||||
|
||||
foreach (var tag in info.AbsenceTimes)
|
||||
{
|
||||
if (tag.Reason.Description.Equals("Krankheit"))
|
||||
krankheitstage.Add(tag);
|
||||
}
|
||||
if (krankheitstage.Count > 0)
|
||||
{
|
||||
foreach (var spanne in krankheitstage)
|
||||
{
|
||||
// Nur ein Tag
|
||||
if (spanne.Start == spanne.End)
|
||||
tageKrankheit++;
|
||||
// Mehrere Tage
|
||||
else
|
||||
{
|
||||
// Wenn Krankheit ein Enddatum hat
|
||||
if (spanne.End != null)
|
||||
{
|
||||
// Alle Tage in einem Monat
|
||||
if (spanne.Start.Value.Month == spanne.End.Value.Month)
|
||||
tageKrankheit += Convert.ToInt32((spanne.End.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
|
||||
// Tage über mehrere Monate verteilt
|
||||
else
|
||||
{
|
||||
// Prüfen, ob Start und/oder Ende nicht dem ausgewählten Monat entspricht
|
||||
DateTime? tempStart = null;
|
||||
DateTime? tempEnd = null;
|
||||
if (spanne.Start.Value.Month != info.Month)
|
||||
{
|
||||
tempStart = new DateTime(info.Year, info.Month, 1);
|
||||
}
|
||||
if (spanne.End.Value.Month != info.Month)
|
||||
{
|
||||
tempEnd = new DateTime(info.Year, info.Month, 1).AddMonths(1).AddTicks(-1);
|
||||
}
|
||||
|
||||
if (tempStart != null && tempEnd != null)
|
||||
tageKrankheit += Convert.ToInt32((tempEnd.Value.Date - tempStart.Value.Date).TotalDays + 1);
|
||||
else if (tempStart != null && tempEnd == null)
|
||||
tageKrankheit += Convert.ToInt32((spanne.End.Value.Date - tempStart.Value.Date).TotalDays + 1);
|
||||
else if (tempStart == null && tempEnd != null)
|
||||
tageKrankheit += Convert.ToInt32((tempEnd.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
|
||||
}
|
||||
}
|
||||
// Wenn Krankheit kein Enddatum gesetzt wurde
|
||||
else
|
||||
{
|
||||
if (spanne.Start.Value.Month != info.Month)
|
||||
{
|
||||
DateTime tempEnd = new DateTime(info.Year, info.Month, DateTime.DaysInMonth(info.Year, info.Month));
|
||||
DateTime tempStart = new DateTime(info.Year, info.Month, 1); ;
|
||||
|
||||
tageKrankheit += Convert.ToInt32((tempEnd.Date - tempStart.Date).TotalDays + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
DateTime tempEnd = new DateTime(spanne.Start.Value.Year, spanne.Start.Value.Month, DateTime.DaysInMonth(spanne.Start.Value.Year, spanne.Start.Value.Month));
|
||||
tageKrankheit += Convert.ToInt32((tempEnd.Date - spanne.Start.Value.Date).TotalDays + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return tageKrankheit;
|
||||
}
|
||||
}
|
||||
|
||||
public class MouseHandlerService : MouseHandlerServiceWrapper
|
||||
|
||||
@@ -238,7 +238,7 @@
|
||||
</ListBox>
|
||||
<Button x:Name="Btn_RegelSchichtHinzufuegen" Grid.Column="3" Grid.Row="2" Margin="5 5 0 0" Content="Hinzufügen" Click="Btn_RegelSchichtHinzufuegen_Click"/>
|
||||
<Button x:Name="Btn_RegelSchichtEntfernen" Grid.Column="2" Grid.Row="2" Margin="0 5 0 0" Content="Löschen" Click="Btn_RegelSchichtEntfernen_Click"/>
|
||||
<Button x:Name="Btn_ZeileHinzufuegen" Grid.Column="0" Grid.Row="2" Margin="0 5 0 0" HorizontalAlignment="Left" Content="Zeile hinzufügen" Click="Btn_ZeileHinzufuegen_Click"/>
|
||||
<!--<Button x:Name="Btn_ZeileHinzufuegen" Grid.Column="0" Grid.Row="2" Margin="0 5 0 0" HorizontalAlignment="Left" Content="Zeile hinzufügen" Click="Btn_ZeileHinzufuegen_Click"/>-->
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</Border>
|
||||
|
||||
@@ -145,7 +145,6 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
RefreshStatusForDay(i);
|
||||
}
|
||||
|
||||
_GridControl.ItemsSource = null;
|
||||
_GridControl.ItemsSource = _DienstplanerRootObj.DienstZeilenListe;
|
||||
}
|
||||
@@ -598,19 +597,6 @@ namespace BeWo.View.Detail.Report
|
||||
textblock_link_pdfexport.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
private void FillDienstLists()
|
||||
{
|
||||
//_AlleDienstEintraege = ServiceFacade.DoOperationsServiceSync(s => s.GetAllDienstEintraegeAsList(AuswahlWohnheim.WohnheimOid,
|
||||
// _AuswahlMonat.Year, _AuswahlMonat.Month));
|
||||
//_AlleDienstvertretungen = ServiceFacade.DoOperationsServiceSync(s => s.GetAllDienstvertretungenAsList(AuswahlWohnheim.WohnheimOid,
|
||||
// _AuswahlMonat.Year, _AuswahlMonat.Month));
|
||||
|
||||
//_DienstplanerRootObj.AlleDienstEintraege = ServiceFacade.DoOperationsServiceSync(s => s.GetAllDienstEintraegeAsList(AuswahlWohnheim.WohnheimOid,
|
||||
// _AuswahlMonat.Year, _AuswahlMonat.Month)); //Root
|
||||
//_DienstplanerRootObj.AlleDienstvertretungen = ServiceFacade.DoOperationsServiceSync(s => s.GetAllDienstvertretungenAsList(AuswahlWohnheim.WohnheimOid,
|
||||
// _AuswahlMonat.Year, _AuswahlMonat.Month)); //Root
|
||||
}
|
||||
|
||||
private void button_neuerMitarbeiter_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
popUp_neuerMitarbeiterFuerWohnheim.IsOpen = true;
|
||||
@@ -676,7 +662,7 @@ namespace BeWo.View.Detail.Report
|
||||
DienstBlockDC newDC = new DienstBlockDC()
|
||||
{
|
||||
Contracts = emp.Contracts,
|
||||
DienstDictArray = new Dictionary<int, long>[3],
|
||||
DienstDictArray = new Dictionary<int, long>[3] { new Dictionary<int, long>(), new Dictionary<int, long>(), new Dictionary<int, long>() },
|
||||
Employee = emp,
|
||||
Wohnheim = _AuswahlWohnheim
|
||||
};
|
||||
@@ -709,6 +695,9 @@ namespace BeWo.View.Detail.Report
|
||||
return;
|
||||
if (_AuswahlWohnheim.EmployeeOids.Contains((long)_AuswahlDienstZeileDC.Employee.EmployeeOid))
|
||||
{
|
||||
Btn_RegelSchichtHinzufuegen.Visibility = Visibility.Visible;
|
||||
Btn_RegelSchichtEntfernen.Visibility = Visibility.Visible;
|
||||
|
||||
popUp_RightClickEmployee.IsOpen = true;
|
||||
groupbox_popUp_RightClickEmployee.Header = dpCtrlEmp.EmployeeInformation.Employee.LastNameFirstName;
|
||||
|
||||
@@ -717,7 +706,16 @@ namespace BeWo.View.Detail.Report
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Btn_RegelSchichtHinzufuegen.Visibility = Visibility.Collapsed;
|
||||
Btn_RegelSchichtEntfernen.Visibility = Visibility.Collapsed;
|
||||
|
||||
popUp_RightClickEmployee.IsOpen = true;
|
||||
groupbox_popUp_RightClickEmployee.Header = dpCtrlEmp.EmployeeInformation.Employee.LastNameFirstName;
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
@@ -728,14 +726,21 @@ namespace BeWo.View.Detail.Report
|
||||
var fieldname = _GridControl.View.GetColumnByMouseEventArgs(e).FieldName.Split('_');
|
||||
_AuswahlTag = int.Parse(fieldname[1]);
|
||||
|
||||
/* Dienste an Feiertagen setzen können deaktivieren
|
||||
////Dienste an Feiertagen setzen können deaktivieren
|
||||
//var date = new DateTime(_AuswahlMonat.Year, _AuswahlMonat.Month, _AuswahlTag);
|
||||
//foreach (var tag in _DienstplanerRootObj.Feiertage)
|
||||
//{
|
||||
// if (tag.Datum.Date == date)
|
||||
// return;
|
||||
//}
|
||||
//Dienste an Abwesenheitstagen setzen können deaktivieren
|
||||
var date = new DateTime(_AuswahlMonat.Year, _AuswahlMonat.Month, _AuswahlTag);
|
||||
foreach (var tag in _DienstplanerRootObj.Feiertage)
|
||||
foreach (var at in _DienstplanerRootObj.AbsenceTimes)
|
||||
{
|
||||
if (tag.Datum.Date == date)
|
||||
if (at.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid && at.AbsenceSpan.ContainsDate(date))
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
popUp_RightClick.IsOpen = true;
|
||||
combobox_dienste.ItemsSource = _DienstplanerRootObj.AlleDienste;
|
||||
@@ -920,13 +925,15 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
else
|
||||
{
|
||||
//var vertretung = ServiceFacade.DoOperationsServiceSync(s => s.GetDienstvertretung(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
|
||||
// _AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer)); //Zeit sparen durch Root-Objekt
|
||||
var vertretung = GetDienstvertretung(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
|
||||
_AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer);
|
||||
|
||||
decimal stundenFuerSaldo = 0.0m;
|
||||
|
||||
if (vertretung != null)
|
||||
{
|
||||
stundenFuerSaldo += Convert.ToDecimal(vertretung.DauerInStunden);
|
||||
|
||||
var oldDienst = TryGetDienst(_AuswahlDienstZeileDC, _AuswahlTag); //abc
|
||||
ServiceFacade.DoOperationsServiceSync(x => x.DeleteDienstvertretung(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value, AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer));
|
||||
_AuswahlDienstZeileDC.RemoveDienst(_AuswahlTag);
|
||||
@@ -959,7 +966,7 @@ namespace BeWo.View.Detail.Report
|
||||
if (item.Employee.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid)
|
||||
{
|
||||
item.Ist += Convert.ToDecimal(newVertretung.DauerInStunden);
|
||||
item.Saldo += Convert.ToDecimal(newVertretung.DauerInStunden);
|
||||
item.Saldo += (stundenFuerSaldo == 0.0m) ? Convert.ToDecimal(newVertretung.DauerInStunden) : Convert.ToDecimal(newVertretung.DauerInStunden) - stundenFuerSaldo;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -967,6 +974,7 @@ namespace BeWo.View.Detail.Report
|
||||
_AuswahlDienstZeileDC.AddDienst(_AuswahlTag, combobox_dienste.SelectedItem as DienstInfoDC);
|
||||
//FillDienstLists();
|
||||
RefreshStatusForDay(Pointer.Day);
|
||||
RefreshGrid();
|
||||
textbox_bemerkung.Text = "";
|
||||
popUp_RightClick.IsOpen = false;
|
||||
}
|
||||
@@ -1179,7 +1187,8 @@ namespace BeWo.View.Detail.Report
|
||||
Employee = selZeile.Employee,
|
||||
Contracts = selZeile.Contracts,
|
||||
Row = selZeile.Zeile,
|
||||
IsLastRow = isLastRow
|
||||
IsLastRow = isLastRow,
|
||||
IsVertretung = (selZeile.Employee != null) ? !_AuswahlWohnheim.EmployeeOids.Contains((long)selZeile.Employee.EmployeeOid) : false
|
||||
};
|
||||
|
||||
return;
|
||||
@@ -1212,13 +1221,14 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
case "SO":
|
||||
if(selZeile.StatusListe == null)
|
||||
{
|
||||
{
|
||||
e.Value = new DPCtrlSollInformation
|
||||
{
|
||||
Row = selZeile.Zeile,
|
||||
Statuszeile = selZeile.DienstDict == null,
|
||||
SollWert = summary.Soll,
|
||||
IsLastRow = isLastRow
|
||||
IsLastRow = isLastRow,
|
||||
EmployeeDC = selZeile.Employee
|
||||
};
|
||||
}
|
||||
else
|
||||
@@ -1226,7 +1236,8 @@ namespace BeWo.View.Detail.Report
|
||||
e.Value = new DPCtrlSollInformation
|
||||
{
|
||||
Row = selZeile.Zeile,
|
||||
Statuszeile = selZeile.DienstDict == null
|
||||
Statuszeile = selZeile.DienstDict == null,
|
||||
EmployeeDC = selZeile.Employee
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1533,7 +1544,7 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
if (zeile.Employee == emp && _DienstplanerRootObj.DienstZeilenListe[i + 1].Employee != zeile.Employee && zeile.Zeile + 1 <= 2) //Letzte Zeile des ausgewählten Mitarbeiters
|
||||
{
|
||||
_DienstplanerRootObj.DienstZeilenListe.Insert(i + 1,
|
||||
_DienstplanerRootObj.DienstZeilenListe.Insert(zeile.Zeile + 1,
|
||||
new DienstZeileDC()
|
||||
{
|
||||
Contracts = zeile.Contracts,
|
||||
@@ -1564,7 +1575,6 @@ namespace BeWo.View.Detail.Report
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
popUp_RightClickEmployee.IsOpen = false;
|
||||
}
|
||||
@@ -1860,8 +1870,8 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
var zeileDC = eintragDC.DienstDictArray[i];
|
||||
|
||||
if(zeileDC.Count > 0 || i == 0)
|
||||
{
|
||||
//if(zeileDC.Count > 0 || i == 0) //Nur eine Zeile
|
||||
//{
|
||||
var newDic = new Dictionary<int, DienstInfoDC>();
|
||||
|
||||
if (zeileDC != null)
|
||||
@@ -1872,7 +1882,7 @@ namespace BeWo.View.Detail.Report
|
||||
toAdd.DienstDictUpdated += dienstDictUpdate;
|
||||
|
||||
res.Add(toAdd);
|
||||
}
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -56,12 +56,20 @@ namespace BeWo.ViewModel
|
||||
public Visibility EmploymentTypeLeaveDaysVisibility
|
||||
{
|
||||
get { return _EmploymentTypeLeaveDaysVisibility; }
|
||||
set { _EmploymentTypeLeaveDaysVisibility = value; }
|
||||
set
|
||||
{
|
||||
_EmploymentTypeLeaveDaysVisibility = value;
|
||||
FirePropertyChanged("EmploymentTypeLeaveDaysVisibility");
|
||||
}
|
||||
}
|
||||
public Visibility LeaveDaysVisibility
|
||||
{
|
||||
get { return _LeaveDaysVisibility; }
|
||||
set { _LeaveDaysVisibility = value; }
|
||||
set
|
||||
{
|
||||
_LeaveDaysVisibility = value;
|
||||
FirePropertyChanged("LeaveDaysVisibility");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -289,6 +289,7 @@ namespace BeWo.Service.Plugins
|
||||
|
||||
var dauer = BerechneAnzahlUrlaubstage(emp, absence, year);
|
||||
var expiration = GetExpirationDate(year);
|
||||
current.UrlaubsVerfallsdatum = expiration;
|
||||
|
||||
// Resturlaub vom Vorjahr verwenden, wenn möglich
|
||||
if (current.ResturlaubVorjahr > 0 && start <= expiration)
|
||||
@@ -301,6 +302,10 @@ namespace BeWo.Service.Plugins
|
||||
current.ResturlaubVorjahr -= bucheVorjahr;
|
||||
dauer -= bucheVorjahr;
|
||||
}
|
||||
else if (start > expiration)
|
||||
{
|
||||
current.VerfallenerUrlaub = current.ResturlaubVorjahr;
|
||||
}
|
||||
|
||||
// Restliche Dauer vom Urlaub abziehen
|
||||
current.Resturlaub -= dauer;
|
||||
|
||||
@@ -1176,5 +1176,9 @@ namespace BeWo.Service.ServiceContracts
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
UrlaubsplanerRootDC BuildUrlaubsplanerRootObject(int year, int month);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
string GetInformationStringForUrlaubsplaner(UrlaubskontoDC dc, decimal tageUrlaub, decimal tageKrank, bool urlaubVerfallen);
|
||||
}
|
||||
}
|
||||
@@ -6812,8 +6812,13 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
empOids.Add((long)item.EmployeeOid);
|
||||
}
|
||||
foreach (var item in root.AlleDienstvertretungen)
|
||||
{
|
||||
if (!empOids.Contains(item.EmployeeOid))
|
||||
empOids.Add((long)item.EmployeeOid);
|
||||
}
|
||||
|
||||
root.AllEmployee = MapperFactory.EmployeeDC_Employee.MapToNewDCs(DAOFactory.GenericDAO.GetActiveByIDs<Employee>(empOids));
|
||||
//root.AllEmployee = MapperFactory.EmployeeDC_Employee.MapToNewDCs(DAOFactory.GenericDAO.GetActiveByIDs<Employee>(empOids));
|
||||
|
||||
var konto = MitarbeiterstundenkontoRO.Create(null, null, date, date.AddMonths(1), empOids);
|
||||
|
||||
@@ -7105,5 +7110,17 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
public string GetInformationStringForUrlaubsplaner(UrlaubskontoDC dc, decimal tageUrlaub, decimal tageKrank, bool urlaubVerfallen)
|
||||
{
|
||||
try
|
||||
{
|
||||
return XAMLInformation.InfoViaXAMLManager.GetXAMLInformationStringForUrlaubsplaner(dc, tageUrlaub, tageKrank, urlaubVerfallen);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(exception);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BS.Shared.DataContracts;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -16,6 +17,7 @@ namespace BeWo.Service.XAMLInformation
|
||||
string xamlstring = "";
|
||||
xamlstring = "<ScrollViewer xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' VerticalScrollBarVisibility='Auto' HorizontalScrollBarVisibility='auto'/>";
|
||||
return xamlstring;
|
||||
|
||||
#region Variablen setzen
|
||||
//Geburtstag
|
||||
var birthdayTimeAndDate = employee.Person.DateOfBirth.ToString().Split(' ');
|
||||
@@ -225,5 +227,67 @@ namespace BeWo.Service.XAMLInformation
|
||||
|
||||
return xamlstring;
|
||||
}
|
||||
|
||||
public static string GetXAMLInformationStringForUrlaubsplaner(UrlaubskontoDC konto, decimal tageUrlaub, decimal tageKrank, bool urlaubVerfallen)
|
||||
{
|
||||
decimal verfalleneTage = urlaubVerfallen ? konto.VerfallenerUrlaub : 0;
|
||||
string xamlstring =
|
||||
|
||||
"<ScrollViewer xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' VerticalScrollBarVisibility='Auto' HorizontalScrollBarVisibility='auto'>" +
|
||||
"<Grid xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'>" +
|
||||
"<Grid.RowDefinitions>" +
|
||||
"<RowDefinition Height=\"auto\"/>" +
|
||||
"<RowDefinition Height='auto'/>" +
|
||||
"<RowDefinition Height='auto'/>" +
|
||||
"<RowDefinition Height='auto'/>" +
|
||||
"<RowDefinition Height='auto'/>" +
|
||||
"<RowDefinition Height='auto'/>" +
|
||||
"<RowDefinition Height='auto'/>" +
|
||||
"<RowDefinition Height='auto'/>" +
|
||||
"<RowDefinition Height='auto'/>" +
|
||||
"</Grid.RowDefinitions>" +
|
||||
"<Grid.ColumnDefinitions>" +
|
||||
"<ColumnDefinition Width='auto'/>" +
|
||||
"<ColumnDefinition Width='*'/>" +
|
||||
"</Grid.ColumnDefinitions>" +
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='0' Grid.Column='0' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>Resturlaub Vorjahr:</Label>" +
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='0' Grid.Column='1' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>" + konto.ResturlaubVorjahr.ToString("0.00") + " Tage" + "</Label>" +
|
||||
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='1' Grid.Column='0' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>Urlaubsanspruch Vorjahr:</Label>" +
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='1' Grid.Column='1' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>" + konto.ResturlaubVorjahrTotal.ToString("0.00") + " Tage" + "</Label>" +
|
||||
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='2' Grid.Column='0' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>Resturlaub</Label>" +
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='2' Grid.Column='1' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>" + konto.Resturlaub.ToString("0.00") + " Tage" + "</Label>" +
|
||||
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='3' Grid.Column='0' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>Urlaubsanspruch</Label>" +
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='3' Grid.Column='1' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>" + konto.Urlaubsanspruch.ToString("0.00") + " Tage" + "</Label>" +
|
||||
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='4' Grid.Column='0' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>Tage Urlaub</Label>" +
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='4' Grid.Column='1' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>" + tageUrlaub + "</Label>" +
|
||||
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='5' Grid.Column='0' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>Tage krank</Label>" +
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='5' Grid.Column='1' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>" + tageKrank + "</Label>" +
|
||||
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='6' Grid.Column='0' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>Verfallener Urlaub</Label>" +
|
||||
"<Label xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Grid.Row='6' Grid.Column='1' Background='Transparent' " +
|
||||
"Margin='5 0 5 0' FontSize='14'>" + verfalleneTage.ToString("0.00") + " Tage" + "</Label>" +
|
||||
"</Grid>" +
|
||||
"</ScrollViewer>";
|
||||
|
||||
return xamlstring;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,5 +19,9 @@ namespace BS.Shared.DataContracts
|
||||
public List<AbsenceTimeDC> AbsenceTimes { get; set; }
|
||||
[DataMember]
|
||||
public List<GeschenkterUrlaubstagDC> GeschenkteUrlaubstage { get; set; }
|
||||
[DataMember]
|
||||
public decimal TageUrlaub { get; set; }
|
||||
[DataMember]
|
||||
public decimal TageKrankheit { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,5 +24,11 @@ namespace BS.Shared.DataContracts
|
||||
|
||||
[DataMember]
|
||||
public decimal Urlaubsanspruch { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public decimal VerfallenerUrlaub { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public DateTime UrlaubsVerfallsdatum { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user