public async Task <ActionResult> UpdateSheriffTraining(SheriffTrainingDto sheriffTrainingDto)
        {
            var sheriffTraining        = sheriffTrainingDto.Adapt <SheriffAwayLocation>();
            var updatedSheriffTraining = await _service.UpdateSheriffAwayLocation(sheriffTraining);

            return(Ok(updatedSheriffTraining));
        }
Example #2
0
        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>()));
        }
Example #3
0
        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>()));
        }
Example #4
0
        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>()));
        }
Example #5
0
        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>()));
        }
Example #6
0
        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));
        }