public bool VerifyStartAndEndTime(WageSchemaDetail detail ) { var invalidDetail = uow.WageSchemaDetailsRepository.GetEagerLoad( w => Enum.Equals(w.Day, detail.Day) && ( (detail.StartTime >= w.StartTime && detail.StartTime < w.EndTime) || (detail.EndTime > w.StartTime && detail.EndTime <= w.EndTime)) ).FirstOrDefault(); return invalidDetail != null ? false : true; }
public BasicResult AddWageSchemaDetails(int wageSchemaID, int day, int startHour, int startMinute, int endHour, int endMinute ) { var startTime = new TimeSpan(startHour, startMinute, 0); var endTime = new TimeSpan(endHour, endMinute, 0); var dayEnum = (WeekDaysEnum)day; var details = new WageSchemaDetail(uow, wageSchemaID, dayEnum, startTime, endTime); var valid = details.Validate(); if( !valid ) { return new BasicResult(false, "starttiden är större än sluttiden" , null); } //var wageDS = new WageDomainServices(uow); //var validDetail = wageDS.VerifyStartAndEndTime(details); if (!valid) { return new BasicResult(false, "överlappande period för " + day.ToString(), null); } uow.WageSchemaDetailsRepository.Insert(details); uow.Save(); return new BasicResult(true, "wage schema info addded", null); }