public async Task <ActionResult> UpdateSheriffTraining(SheriffTrainingDto sheriffTrainingDto) { var sheriffTraining = sheriffTrainingDto.Adapt <SheriffAwayLocation>(); var updatedSheriffTraining = await _service.UpdateSheriffAwayLocation(sheriffTraining); return(Ok(updatedSheriffTraining)); }
public async Task <ActionResult <SheriffTrainingDto> > UpdateSheriffTraining(SheriffTrainingDto sheriffTrainingDto) { await CheckForAccessToSheriffByLocation <SheriffTraining>(sheriffTrainingDto.Id); var sheriffTraining = sheriffTrainingDto.Adapt <SheriffTraining>(); var updatedSheriffTraining = await SheriffService.UpdateSheriffTraining(sheriffTraining); return(Ok(updatedSheriffTraining.Adapt <SheriffTrainingDto>())); }
public async Task <ActionResult <SheriffTrainingDto> > AddSheriffTraining(SheriffTrainingDto sheriffTrainingDto) { await CheckForAccessToSheriffByLocation(sheriffTrainingDto.SheriffId); var sheriffTraining = sheriffTrainingDto.Adapt <SheriffTraining>(); var createdSheriffTraining = await SheriffService.AddSheriffTraining(sheriffTraining); return(Ok(createdSheriffTraining.Adapt <SheriffTrainingDto>())); }
public async Task <ActionResult <SheriffTrainingDto> > AddSheriffTraining(SheriffTrainingDto sheriffTrainingDto, bool overrideConflicts = false) { await CheckForAccessToSheriffByLocation(sheriffTrainingDto.SheriffId); var sheriffTraining = sheriffTrainingDto.Adapt <SheriffTraining>(); var createdSheriffTraining = await SheriffService.AddSheriffTraining(DutyRosterService, ShiftService, sheriffTraining, overrideConflicts); return(Ok(createdSheriffTraining.Adapt <SheriffTrainingDto>())); }
public async Task <ActionResult <SheriffTrainingDto> > UpdateSheriffTraining(SheriffTrainingDto sheriffTrainingDto, bool overrideConflicts = false) { await CheckForAccessToSheriffByLocation <SheriffTraining>(sheriffTrainingDto.Id); var sheriffTraining = sheriffTrainingDto.Adapt <SheriffTraining>(); if (!User.HasPermission(Permission.EditPastTraining)) { var savedSheriffTraining = Db.SheriffTraining.AsNoTracking().FirstOrDefault(st => st.Id == sheriffTrainingDto.Id); if (savedSheriffTraining?.EndDate <= DateTimeOffset.UtcNow) { throw new BusinessLayerException("No permission to edit training that has completed."); } } var updatedSheriffTraining = await SheriffService.UpdateSheriffTraining(DutyRosterService, ShiftService, sheriffTraining, overrideConflicts); return(Ok(updatedSheriffTraining.Adapt <SheriffTrainingDto>())); }
public async Task AddUpdateRemoveSheriffTraining() { var sheriffObject = await CreateSheriffUsingDbContext(); var newLocation = new Location { Name = "New PLace", AgencyId = "zfddf2342" }; await Db.Location.AddAsync(newLocation); await Db.SaveChangesAsync(); var lookupCode = new LookupCode { Code = "zz4", Description = "gg", LocationId = newLocation.Id }; await Db.LookupCode.AddAsync(lookupCode); var lookupCode2 = new LookupCode { Code = "zz", Description = "gg", LocationId = newLocation.Id }; await Db.LookupCode.AddAsync(lookupCode2); await Db.SaveChangesAsync(); var entity = new SheriffTrainingDto { TrainingTypeId = lookupCode.Id, SheriffId = sheriffObject.Id, StartDate = DateTime.UtcNow, EndDate = DateTime.UtcNow.AddHours(3) }; //Add var controllerResult = await _controller.AddSheriffTraining(entity); var response = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult); Detach(); var updateSheriffTraining = entity.Adapt <SheriffTrainingDto>(); updateSheriffTraining.StartDate = DateTime.UtcNow.AddDays(5); updateSheriffTraining.EndDate = DateTime.UtcNow.AddDays(5); updateSheriffTraining.TrainingTypeId = lookupCode2.Id; updateSheriffTraining.TrainingType = lookupCode2.Adapt <LookupCodeDto>(); updateSheriffTraining.Id = response.Id; //Update var controllerResult3 = await _controller.UpdateSheriffTraining(updateSheriffTraining); var response3 = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult3); Assert.Equal(response3.StartDate, updateSheriffTraining.StartDate); Assert.Equal(response3.EndDate, updateSheriffTraining.EndDate); Assert.Equal(response3.SheriffId, updateSheriffTraining.SheriffId); Assert.Equal(response3.TrainingTypeId, updateSheriffTraining.TrainingTypeId); //Remove var controllerResult4 = await _controller.RemoveSheriffTraining(updateSheriffTraining.Id, "expired"); HttpResponseTest.CheckForNoContentResponse(controllerResult4); var controllerResult5 = await _controller.GetSheriffForTeam(sheriffObject.Id); var response5 = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult5); Assert.Empty(response5.Training); }
public async Task <ActionResult <SheriffAwayLocationDto> > AddSheriffTraining(SheriffTrainingDto sheriffTrainingDto) { var sheriffTraining = sheriffTrainingDto.Adapt <SheriffAwayLocation>(); var createdSheriffTraining = await _service.AddSheriffAwayLocation(sheriffTraining); return(Ok(createdSheriffTraining)); }