79 lines
1.9 KiB
C#
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));
|
|
}
|
|
}
|
|
}
|