Exemple #1
0
        public virtual ActionResult EditHolidayPeriod(HolidayPeriodViewModel holidayPeriodVM)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { success = false, message = "Data is not valid." }));
            }

            foreach (var employeeId in holidayPeriodVM.SelectedEmployeeIds)
            {
                var employee = _hmUnitOfWork.EmployeeRepository.GetSingle(employeeId);

                if (employee != null)
                {
                    var holidayPeriod = new HolidayPeriod
                    {
                        StartDate  = holidayPeriodVM.StartDate.Value,
                        EndDate    = holidayPeriodVM.EndDate.Value,
                        Note       = holidayPeriodVM.Note,
                        EmployeeId = employee.Id,
                        PurposeId  = holidayPeriodVM.PurposeId.Value
                    };

                    _hmUnitOfWork.HolidayPeriodRepository.Add(holidayPeriod);
                }
            }

            _hmUnitOfWork.Save();

            return(Json(new { success = true }));
        }
        public async Task Edit_POST_on_successful_validation_updates_the_holidayPeriod()
        {
            var holidayPeriodId = 7;
            var updatedHolidayPeriod = new HolidayPeriod() { HolidayPeriodID = holidayPeriodId, Description = "XXX" };

            var redirectToActionResult = await controller.Edit(holidayPeriodId, updatedHolidayPeriod) as RedirectToActionResult;

            holidayPeriodsRepository.Verify(x => x.UpdateAsync(updatedHolidayPeriod), Times.Once);
        }
        public async Task Edit_POST_returns_NotFound_when_provided_id_does_not_exist()
        {
            var holidayPeriodId = 7;
            var updatedHolidayPeriod = new HolidayPeriod() { HolidayPeriodID = holidayPeriodId, Description = "xxx" };

            var notFoundResult = await controller.Edit(33, updatedHolidayPeriod) as NotFoundResult;

            Assert.IsNotNull(notFoundResult);
        }
        public async Task Edit_POST_on_successful_validation_redirects_to_index()
        {
            var holidayPeriodId = 7;
            var updatedHolidayPeriod = new HolidayPeriod() { HolidayPeriodID = holidayPeriodId, Description = "XXX" };

            var redirectToActionResult = await controller.Edit(holidayPeriodId, updatedHolidayPeriod) as RedirectToActionResult;

            Assert.IsNotNull(redirectToActionResult);
            Assert.That(redirectToActionResult.ActionName, Is.EqualTo("Index"));
        }
Exemple #5
0
        public async Task <IActionResult> Create([Bind("HolidayPeriodID,Description,StartDate,EndDate,CreatedDate,ModifiedDate")] HolidayPeriod holidayPeriod)
        {
            if (ModelState.IsValid)
            {
                await holidayPeriodsRepository.CreateAsync(holidayPeriod);

                return(RedirectToAction("Index"));
            }
            return(View(holidayPeriod));
        }
        public async Task Edit_POST_on_validation_error_redisplays_update_form()
        {
            var holidayPeriodId = 7;
            var updatedHolidayPeriod = new HolidayPeriod() { HolidayPeriodID = holidayPeriodId, Description = "XXX" };
            controller.ModelState.AddModelError("Name", "The name is required.");

            var viewResult = await controller.Edit(holidayPeriodId, updatedHolidayPeriod) as ViewResult;

            Assert.IsNotNull(viewResult);
            holidayPeriodsRepository.Verify(x => x.UpdateAsync(It.IsAny<HolidayPeriod>()), Times.Never);
        }
Exemple #7
0
 public bool CheckForHolidayPeriodOverlap(HolidayPeriod possibleHolidayPeriod)
 {
     foreach (var holidayPeriod in _context.HolidayPeriods)
     {
         if ((holidayPeriod.Start <= possibleHolidayPeriod.Start && holidayPeriod.End >= possibleHolidayPeriod.Start) || (holidayPeriod.Start <= possibleHolidayPeriod.End && holidayPeriod.End >= possibleHolidayPeriod.End))
         {
             return(true);
         }
     }
     return(false);
 }
Exemple #8
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(BadRequest());
            }
            HolidayPeriod holidayPeriod = await holidayPeriodsRepository.FindByIdAsync(id.Value);

            if (holidayPeriod == null)
            {
                return(NotFound());
            }
            return(View(holidayPeriod));
        }
Exemple #9
0
        public async Task <IActionResult> Edit(int id, [Bind("HolidayPeriodID,Description,StartDate,EndDate,CreatedDate,ModifiedDate")] HolidayPeriod holidayPeriod)
        {
            if (id != holidayPeriod.HolidayPeriodID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                await holidayPeriodsRepository.UpdateAsync(holidayPeriod);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(holidayPeriod));
        }
Exemple #10
0
 public void CreatePeriod(HolidayPeriod newHolidayPeriod)
 {
     if (_DataAccessService.CheckForHolidayPeriodOverlap(newHolidayPeriod))
     {
         Device.BeginInvokeOnMainThread(async() =>
         {
             await App.Current.MainPage.DisplayAlert("Holiday period overlap", "Holiday period overlaps with existing one", "OK");
         });
     }
     else if (newHolidayPeriod.NumHolidays <= 0)
     {
         Device.BeginInvokeOnMainThread(async() =>
         {
             await App.Current.MainPage.DisplayAlert("Number of Days missing", "You need to provide a number of days for holiday period", "OK");
         });
     }
     else
     {
         var webData = new WebData(_DataAccessService);
         webData.UpdatePublicHolidays(true);
         _DataAccessService.CreateHolidayPeriod(newHolidayPeriod);
         App.Current.MainPage = new MainView(new HolidaysView());
     }
 }
Exemple #11
0
 public HolidaysView(HolidayPeriod holidayPeriod)
 {
     this.holidayPeriod = holidayPeriod;
 }
 public static int DaysRemaining(IEnumerable <Holiday> holidays, HolidayPeriod holidayPeriod)
 {
     return(holidayPeriod.NumHolidays - DaysUsed(holidays));
 }
 public static int PercentageUsed(IEnumerable <Holiday> holidays, HolidayPeriod holidayPeriod)
 {
     return(holidayPeriod.NumHolidays / DaysUsed(holidays));
 }
Exemple #14
0
 public void CreateHolidayPeriod(HolidayPeriod newHolidayPeriod)
 {
     _context.HolidayPeriods.Add(newHolidayPeriod);
     OnDataUpdate(EventArgs.Empty);
 }