public async Task <IActionResult> RenderTransActivityBarChart(TransActivitySearchModel searchModel, string period) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageReports)) { return(AccessDeniedView()); } var model = await _reportModelFactory.PrepareListTransActivity(searchModel); var stacked = new List <TransActivityStackedBarModel>(); var trans = model .GroupBy(x => x.Category) .Select(x => x.First()); foreach (var tran in trans.ToList()) { stacked.Add(new TransActivityStackedBarModel { stacked = tran.Category, datasets = GetTransActivityDataSet(period, tran.Category, model) }); } return(Json(stacked)); }
public async Task <TransActivitySearchModel> PrepareTransActivitySearchModel(TransActivitySearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //prepare selectlist await _baseModelFactory.PrepareStores(searchModel.Branches); searchModel.SetGridPageSize(); return(await Task.FromResult(searchModel)); }
public async Task <IActionResult> RenderTransActivityPieChart(TransActivitySearchModel searchModel) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageReports)) { return(AccessDeniedView()); } var model = await _reportModelFactory.PrepareListTransActivity(searchModel); var trans = model .GroupBy(x => x.Category).Select(x => new { entity = x.Key, value = ((float)x.Count() / model.Count() * 100).ToString("F") }); return(Json(trans)); }
public async Task <IEnumerable <TransActivityModel> > PrepareListTransActivity(TransActivitySearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } var query = _transRepository.Table; if (searchModel.CreatedOnFrom.HasValue) { query = query.Where(item => searchModel.CreatedOnFrom.Value <= item.CreatedOnUtc); } if (searchModel.CreatedOnTo.HasValue) { query = query.Where(item => searchModel.CreatedOnTo.Value >= item.CreatedOnUtc); } if (searchModel.BranchId.HasValue && searchModel.BranchId.Value > 0) { query = query.Where(item => searchModel.BranchId.Value == item.P_BranchNo); } var model = (await query.ToListAsync()).Select(q => { var m = q.ToModel <TransActivityModel>(); m.Branch = q.Store.P_Name; m.CreatedOn = q.CreatedOnUtc; return(m); }); return(model); }