Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }