Ejemplo n.º 1
0
        public async Task <SheriffTraining> UpdateSheriffTraining(SheriffTraining sheriffTraining)
        {
            _db.SheriffTraining.Update(sheriffTraining);
            await _db.SaveChangesAsync();

            return(sheriffTraining);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public async Task <int> AddSheriffTraining(SheriffTraining sheriffTraining)
        {
            await _db.SheriffTraining.AddAsync(sheriffTraining);

            await _db.SaveChangesAsync();

            return(sheriffTraining.Id);
        }
Ejemplo n.º 4
0
        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>()));
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }