public void GetTypeOfFlowReport_CatIdNot0_ViewResultReturned() { Mock <IReportModelCreator> mockCreator = new Mock <IReportModelCreator>(); mockCreator.Setup( m => m.CreateByTypeReportModel(It.IsAny <TempReportModel>(), It.IsAny <WebUser>(), It.IsAny <int>())) .Returns(new ReportModel()); var target = new ReportController(null, null, mockCreator.Object, null); var tempReportModel = new TempReportModel() { CatId = 1 }; var page = 1; var user = new WebUser() { Id = "1" }; var result = target.GetTypeOfFlowReport(tempReportModel, user, page); var model = ((PartialViewResult)result).Model; mockCreator.Verify(m => m.CreateByTypeReportModel(tempReportModel, user, page), Times.AtLeastOnce); Assert.IsNotNull(model); Assert.IsInstanceOfType(result, typeof(PartialViewResult)); }
private ReportModel GetByTypeOfFlowReportModel(TempReportModel model, WebUser user, int page, List <PayItem> pItemList) { string categoryName; try { categoryName = _categoryService.GetItem(model.CatId).Name; } catch (ServiceException e) { throw new WebUiException( $"Ошибка в типе {nameof(ReportModelCreator)} в методе {nameof(GetByTypeOfFlowReportModel)}", e); } return(new ReportModel() { CategoryName = categoryName, ItemsPerPage = pItemList .Skip((page - 1) * _itemsPerPage) .Take(_itemsPerPage) .ToList(), AllItems = pItemList.ToList(), PagingInfo = _pagingCreator.Create(page, _itemsPerPage, pItemList.Count), CategoryId = model.CatId, DtFrom = model.DtFrom, DtTo = model.DtTo }); }
public ReportModel CreateByTypeReportModel(TempReportModel model, WebUser user, int page) { List <PayItem> tempList = new List <PayItem>(); var cacheKey = "ByTypeOfFlow_" + model.DtFrom.Date.ToShortDateString() + "_" + model.DtTo.Date.ToShortDateString(); try { var cachedItems = (List <PayItem>)_cacheManager.Get(cacheKey); if (cachedItems != null) { tempList = cachedItems; } else { tempList = _dbHelper.GetCategoryPayItemsInDatesWeb(model.DtFrom, model.DtTo, model.CatId, user) .OrderByDescending(x => x.Date) .ToList(); _cacheManager.Set(cacheKey, tempList); } } catch (WebUiHelperException e) { throw new WebUiException( $"Ошибка в типе {nameof(ReportModelCreator)} в методе {nameof(CreateByTypeReportModel)}", e); } var reportModel = GetByTypeOfFlowReportModel(model, user, page, tempList); return(reportModel); }
public ActionResult GetTypeOfFlowReport(TempReportModel model, WebUser user, int page = 1) { try { var reportModel = _reportModelCreator.CreateByTypeReportModel(model, user, page); ViewBag.PageCreator = _pageCreator; return(PartialView("_GetByTypeOfFlowReport", reportModel)); } catch (WebUiException e) { throw new WebUiException($"Ошибка в контроллере {nameof(ReportController)} в методе {nameof(GetTypeOfFlowReport)}", e); } }