public async Task <ActionResult> Index(int page = 1) { IEnumerable <LeaveScheduleDTO> lsDto = await _leaveScheduleService.GetAllAsync(); lsDto = _leaveScheduleService.GetPage(lsDto, page); // Paging InitializeMapper(); IEnumerable <LeaveScheduleViewModel> leaveSchedules = Mapper.Map <IEnumerable <LeaveScheduleDTO>, IEnumerable <LeaveScheduleViewModel> >(lsDto); LeaveScheduleListViewModel model = new LeaveScheduleListViewModel { LeaveSchedules = leaveSchedules, PageInfo = _leaveScheduleService.PageInfo }; if (Request.Headers["X-Requested-With"] == "XMLHttpRequest") { _logger.Info("Executed async request"); var transformModel = new { LeaveSchedules = model.LeaveSchedules.Select(ls => new { ls.Id, ls.Number, ls.Year, DateOfPreparation = ls.DateOfPreparation.ToString("dd MMMM yyyy"), DateOfApproval = ls.DateOfApproval.HasValue ? ls.DateOfApproval.Value.ToString("dd MMMM yyyy") : "" }).ToArray(), model.PageInfo }; return(Json(transformModel, JsonRequestBehavior.AllowGet)); } _logger.Info("Executed sync request"); return(View("Index", model)); }
public async Task Index_SyncRequest_RetrievesPageInfoPropertyFromModel() { Mock <LeaveScheduleService> mock = new Mock <LeaveScheduleService>(); mock.Setup(m => m.PageInfo).Returns(new PageInfo() { TotalItems = 9, PageSize = 3, PageNumber = 3 }); LeaveScheduleController controller = GetNewLeaveScheduleControllerWithControllerContext(mock.Object); ViewResult result = (await controller.Index()) as ViewResult; LeaveScheduleListViewModel model = result.ViewData.Model as LeaveScheduleListViewModel; Assert.AreEqual(9, model.PageInfo.TotalItems); Assert.AreEqual(3, model.PageInfo.PageSize); Assert.AreEqual(3, model.PageInfo.PageNumber); Assert.AreEqual(3, model.PageInfo.TotalPages); }
public async Task Index_SyncRequest_RetrievesLeaveSchedulesPropertyFromModel() { Mock <LeaveScheduleService> mock = new Mock <LeaveScheduleService>(); mock.Setup(m => m.GetPage(It.IsAny <IEnumerable <LeaveScheduleDTO> >(), It.IsAny <int>())).Returns(new LeaveScheduleDTO[] { new LeaveScheduleDTO { Id = 7, Year = 2018 } }); LeaveScheduleController controller = GetNewLeaveScheduleControllerWithControllerContext(mock.Object); ViewResult result = (await controller.Index()) as ViewResult; LeaveScheduleListViewModel model = result.ViewData.Model as LeaveScheduleListViewModel; Assert.AreEqual(1, model.LeaveSchedules.Count()); Assert.AreEqual(7, model.LeaveSchedules.FirstOrDefault().Id); Assert.AreEqual(2018, model.LeaveSchedules.FirstOrDefault().Year); }