Files
BeWoPlaner/BeWo/View/Detail/Zeiterfassung/ServiceRecordCreationView.xaml.cs
2026-07-14 14:40:39 +02:00

79 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using BeWo.ServiceProxy;
using BeWo.Validation;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BS.Shared.DataContracts;
namespace BeWo.View.Detail.Zeiterfassung
{
public partial class ServiceRecordCreationView
{
private DateTime _StartDatum;
private DateTime _EndDatum;
public DateTime StartDatum
{
get { return _StartDatum; }
set
{
_StartDatum = value;
UpdateSelectedArbeitszeitVm();
}
}
public DateTime EndDatum {
get { return _EndDatum; }
set
{
_EndDatum = value;
UpdateSelectedArbeitszeitVm();
}
}
public SupportConceptCostBearerRelDC SupportConceptCostBearerRel { get; set; }
public ArbeitszeitListVM ArbeitszeitListVM { get; set; }
public ArbeitszeitVM SelectedArbeitszeitVM { get; set; }
public ServiceRecordCreationView(SupportConceptCostBearerRelDC c2s, List<ArbeitszeitDC> arbeitszeiten)
{
InitializeComponent();
SupportConceptCostBearerRel = c2s;
ArbeitszeitListVM = new ArbeitszeitListVM(arbeitszeiten);
StartDatum = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
EndDatum = StartDatum.AddMonths(1).AddDays(-1);
UpdateSelectedArbeitszeitVm();
DataContext = this;
}
private void UpdateSelectedArbeitszeitVm()
{
foreach (var item in ArbeitszeitListVM.VMList)
{
if ((!item.GueltigVon.HasValue || item.GueltigVon <= EndDatum) && (!item.GueltigBis.HasValue || item.GueltigBis >= StartDatum))
{
SelectedArbeitszeitVM = item;
}
}
}
public void Save(Action<String> pCallBack)
{
List<long> oids = new List<long>();
oids.Add(SupportConceptCostBearerRel.CostBearer2SupportConceptOid.Value);
ServiceFacade.DoOperationsServiceAsync(s => s.CreateDefaultCustomerServiceRecords(StartDatum, EndDatum, oids), result => pCallBack(result));
}
}
}