public async Task <SheriffTraining> UpdateSheriffTraining(SheriffTraining sheriffTraining) { _db.SheriffTraining.Update(sheriffTraining); await _db.SaveChangesAsync(); return(sheriffTraining); }
public async Task <SheriffTraining> UpdateSheriffTraining(SheriffTraining sheriffTraining) { ValidateStartAndEndDates(sheriffTraining.StartDate, sheriffTraining.EndDate); await ValidateSheriffExists(sheriffTraining.SheriffId); var savedTraining = await Db.SheriffTraining.FindAsync(sheriffTraining.Id); savedTraining.ThrowBusinessExceptionIfNull( $"{nameof(SheriffTraining)} with the id: {sheriffTraining.Id} could not be found. "); if (savedTraining.ExpiryDate.HasValue) { throw new BusinessLayerException($"{nameof(SheriffTraining)} with the id: {sheriffTraining.Id} has been expired"); } await ValidateNoOverlapAsync(sheriffTraining, sheriffTraining.Id); Db.Entry(savedTraining).CurrentValues.SetValues(sheriffTraining); Db.Entry(savedTraining).Property(x => x.SheriffId).IsModified = false; Db.Entry(savedTraining).Property(x => x.ExpiryDate).IsModified = false; Db.Entry(savedTraining).Property(x => x.ExpiryReason).IsModified = false; await Db.SaveChangesAsync(); return(savedTraining); }
public async Task <int> AddSheriffTraining(SheriffTraining sheriffTraining) { await _db.SheriffTraining.AddAsync(sheriffTraining); await _db.SaveChangesAsync(); return(sheriffTraining.Id); }
private async Task SheriffEventTimeTestHelper(string awayLocationDate, string trainingDate, string trainingDate2) { var sheriffObject = await CreateSheriffUsingDbContext(); var newLocation = new Location { Name = "New PLace", AgencyId = "zfddf2342" }; await Db.Location.AddAsync(newLocation); var edmontonTimezoneLocation = new Location { Name = "CranbrookExample", AgencyId = "zfddf52342", Timezone = "America/Edmonton" }; await Db.Location.AddAsync(edmontonTimezoneLocation); await Db.SaveChangesAsync(); var sheriffAwayLocation = new SheriffAwayLocation { Timezone = "America/Vancouver", StartDate = DateTimeOffset.Parse($"{awayLocationDate} 00:00:00 -8"), EndDate = DateTimeOffset.Parse($"{awayLocationDate} 23:59:00 -8"), SheriffId = sheriffObject.Id, LocationId = edmontonTimezoneLocation.Id }; var result0 = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(await _controller.AddSheriffAwayLocation(sheriffAwayLocation.Adapt <SheriffAwayLocationDto>())); var sheriffTraining = new SheriffTraining { Timezone = "America/Edmonton", StartDate = DateTimeOffset.Parse($"{trainingDate} 00:00:00 -7"), EndDate = DateTimeOffset.Parse($"{trainingDate} 23:59:00 -7"), SheriffId = sheriffObject.Id }; HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(await _controller.AddSheriffTraining(sheriffTraining.Adapt <SheriffTrainingDto>())); var sheriffTraining2 = new SheriffTraining { Timezone = "America/Edmonton", StartDate = DateTimeOffset.Parse($"{trainingDate2} 00:00:00 -7"), EndDate = DateTimeOffset.Parse($"{trainingDate2} 23:59:00 -7"), SheriffId = sheriffObject.Id }; HttpResponseTest.CheckForValid200HttpResponseAndReturnValue( await _controller.AddSheriffTraining(sheriffTraining2.Adapt <SheriffTrainingDto>())); }
public async Task <SheriffTraining> AddSheriffTraining(SheriffTraining sheriffTraining) { ValidateStartAndEndDates(sheriffTraining.StartDate, sheriffTraining.EndDate); await ValidateSheriffExists(sheriffTraining.SheriffId); await ValidateNoOverlapAsync(sheriffTraining); sheriffTraining.Sheriff = await Db.Sheriff.FindAsync(sheriffTraining.SheriffId); sheriffTraining.TrainingType = await Db.LookupCode.FindAsync(sheriffTraining.TrainingTypeId); await Db.SheriffTraining.AddAsync(sheriffTraining); await Db.SaveChangesAsync(); return(sheriffTraining); }
public async Task <SheriffTraining> AddSheriffTraining(DutyRosterService dutyRosterService, ShiftService shiftService, SheriffTraining sheriffTraining, bool overrideConflicts) { ValidateStartAndEndDates(sheriffTraining.StartDate, sheriffTraining.EndDate); await ValidateSheriffExists(sheriffTraining.SheriffId); await ValidateNoOverlapAsync(dutyRosterService, shiftService, sheriffTraining, overrideConflicts); sheriffTraining.Sheriff = await Db.Sheriff.FindAsync(sheriffTraining.SheriffId); sheriffTraining.TrainingType = await Db.LookupCode.FindAsync(sheriffTraining.TrainingTypeId); await Db.SheriffTraining.AddAsync(sheriffTraining); await Db.SaveChangesAsync(); return(sheriffTraining); }