using BeWo.Service.Plugins; using BS.Shared; using BS.Shared.DataContracts; using System; using System.Collections.Generic; using System.Linq; namespace SHKService.Service { public class CustomServiceRecordValidator : ServiceRecordValidator { public override List ValidateServiceRecord(ServiceRecordDC newServiceRecord, SupportConceptStatisticsDC statistics, int maxDaysEditServiceRecordsAllowed, IList employeeOids, IList cb2scOids) { var list = base.ValidateServiceRecord(newServiceRecord, statistics, maxDaysEditServiceRecordsAllowed, employeeOids, cb2scOids); //Die Anzahl Tage im Folgemonat sollen hier für Arbeitszeit geprüft werden. Das wird sonst nur für Kliententermine gemacht if (!list.Any(m => m.ResultType == ServiceRecordValidationResult.OutOfEditLimit) && maxDaysEditServiceRecordsAllowed > 0 && IstArbeitszeit(newServiceRecord.ServiceDescription.Category.Name, newServiceRecord.ServiceDescription.Name)) { if (maxDaysEditServiceRecordsAllowed > 0) { var dt = new DateTime(newServiceRecord.Start.Value.Year, newServiceRecord.Start.Value.Month, 1); dt = dt.AddMonths(1); dt = dt.AddDays(maxDaysEditServiceRecordsAllowed); if (DateTime.Now >= dt) list.Add(new ServiceRecordValidationResultDC { ResultType = ServiceRecordValidationResult.OutOfEditLimit }); } } return list; } } }