Ejemplo n.º 1
0
        protected T ConfigurePagination <T>(T entity, int pageIndex, int pageSize, List <FilterValue> filterValues, int countTotal) where T : PaginatedList
        {
            entity.PageIndex  = pageIndex;
            entity.TotalPages = (int)Math.Ceiling(countTotal / (double)pageSize);
            entity.PageSize   = pageSize;
            entity.Properties.FilterValues  = filterValues ?? new List <FilterValue>();
            entity.Properties.CurrentFilter = JSonConvertUtil.Convert(filterValues);

            var filterResult = CoreFilterDao.GetCoreFilter(entity.FilterName);

            if (filterResult != null)
            {
                entity.Properties.FilterList = CoreFilterDetailDao.GetCoreFilterDetails(filterResult.Id);
            }

            return(entity);
        }
Ejemplo n.º 2
0
        private List <DashBoardMerchantViewModel> GetMerchantInformation(List <User> merchants)
        {
            var listResult = new List <DashBoardMerchantViewModel>();

            var filter         = _coreFilterDao.GetCoreFilter("DashBoard");
            var filterMerchant = _coreFilterDetailDao.GetCoreFilterDetail(filter.Id, "IdMerchant");

            foreach (var merchant in merchants)
            {
                var filterMerch = new FilterValue()
                {
                    Criteria   = "==",
                    NameFilter = "IdMerchant",
                    Value      = merchant.Id.ToString(),
                    IdFilter   = filterMerchant.Id
                };

                var filters = new List <FilterValue>()
                {
                    filterMerch
                };

                var profile   = _profileBusiness.GetById(merchant.IdProfile);
                var taskCount = _taskCampaignDao.GetPaginatedTasksCount(merchant.IdAccount, filters);

                var statusFilter = _coreFilterDetailDao.GetCoreFilterDetail(filter.Id, "Name", "StatusTask");

                var filterStatus = new FilterValue()
                {
                    Criteria   = "==",
                    NameFilter = "IdStatusTask",
                    Value      = CTask.StatusImplemented,
                    IdFilter   = statusFilter.Id
                };

                filters.Add(filterStatus);

                var countImplemented = _taskCampaignDao.GetPaginatedTasksCount(merchant.IdAccount, filters);

                filterStatus.Value = CTask.StatusNotImplemented;
                filters            = new List <FilterValue>()
                {
                    filterMerch,
                    filterStatus
                };

                var countNotImplemented = _taskCampaignDao.GetPaginatedTasksCount(merchant.IdAccount, filters);

                filterStatus.Value = CTask.StatusStarted;
                filters            = new List <FilterValue>()
                {
                    filterMerch,
                    filterStatus
                };

                var countStarted = _taskCampaignDao.GetPaginatedTasksCount(merchant.IdAccount, filters);

                filterStatus.Value = CTask.StatusPending;
                filters            = new List <FilterValue>()
                {
                    filterMerch,
                    filterStatus
                };

                var countPending = _taskCampaignDao.GetPaginatedTasksCount(merchant.IdAccount, filters);

                var model = new DashBoardMerchantViewModel()
                {
                    Id        = merchant.Id,
                    Code      = profile.Code,
                    Name      = profile.Name,
                    TaskCount = taskCount,
                    PercentImplementedTasks    = ((countImplemented * 100) / taskCount) + "%",
                    PercentStartedTasks        = ((countStarted * 100) / taskCount) + "%",
                    PercentNotImplementedTasks = ((countNotImplemented * 100) / taskCount) + "%",
                    PercentPendingTasks        = ((countPending * 100) / taskCount) + "%"
                };

                listResult.Add(model);
            }

            return(listResult);
        }