public async Task <QueryResultResourceDashboard <IncidenceDashboardMonthlyResource> > GetIncidenceDashboardReportList(IncidenceDashboardQueryResource filterResource) { //var filter = mapper.Map<IncidenceDashboardQueryResource, IncidenceDashboardQuery>(filterResource); var queryResult = await _incidenceRepo.GetIncidenceReportForDashboard(filterResource); return(mapper.Map <QueryResultDashboard <IncidenceDashboardMonthlyViewModel>, QueryResultResourceDashboard <IncidenceDashboardMonthlyResource> >(queryResult)); }
public async Task <QueryResultDashboard <IncidenceDashboardMonthlyViewModel> > GetIncidenceReportForDashboard(IncidenceDashboardQueryResource queryObj) { var result = new QueryResultDashboard <IncidenceDashboardMonthlyViewModel>(); var items = new List <IncidenceDashboardMonthlyViewModel>(); var queryParam = new IncidenceDashboardQuery(); var currentUser = await _userRepo.GetUser(_userRepo.GetLoggedInUserId()); //get Open incidence monthly data queryParam.IncidenceStatusId = GlobalFields.OpenIncidenceStatus; queryParam.OrganizationId = queryObj.OrganizationId == null ? currentUser != null && currentUser.UserName != "Admin" ? currentUser.OrganizationId : Guid.Empty : queryObj.OrganizationId; queryParam.FromDate = new DateTime(queryObj.Year.Value, 1, 1); queryParam.ToDate = new DateTime(queryObj.Year.Value, 12, 31, 23, 59, 59); IncidenceDashboardMonthlyViewModel openIncidences = await GetIncidenceDashboardReport(queryParam); items.Add(openIncidences); //get Closed incidence monthly data queryParam.IncidenceStatusId = GlobalFields.ClosedIncidenceStatus; IncidenceDashboardMonthlyViewModel closedIncidences = await GetIncidenceDashboardReport(queryParam); items.Add(closedIncidences); //get Under-Review incidence monthly data queryParam.IncidenceStatusId = GlobalFields.UnderReviewIncidenceStatus; IncidenceDashboardMonthlyViewModel underReviewIncidences = await GetIncidenceDashboardReport(queryParam); items.Add(underReviewIncidences); result.Items = items; //chosen year stats result.NewItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.NewIncidenceStatus, queryObj.Year); result.OpenItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.OpenIncidenceStatus, queryObj.Year); result.ClosedItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.ClosedIncidenceStatus, queryObj.Year); result.ReopenedItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.ReOpenedIncidenceStatus, queryObj.Year); result.ResolvedItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.ResolvedIncidenceStatus, queryObj.Year); result.UnderReviewItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.UnderReviewIncidenceStatus, queryObj.Year); //all time stats result.AllOpenItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.OpenIncidenceStatus, null); result.AllClosedItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.ClosedIncidenceStatus, null); result.AllReopenedItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.ReOpenedIncidenceStatus, null); result.AllResolvedItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.ResolvedIncidenceStatus, null); result.AllUnderReviewItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.UnderReviewIncidenceStatus, null); result.AllNewItems = await GetIncidenceCount(queryParam.OrganizationId, GlobalFields.NewIncidenceStatus, null); return(result); }