示例#1
0
        public async Task <IActionResult> GetSummary()
        {
            DashboardSummaryViewModel dashboardSummary = new DashboardSummaryViewModel();

            try
            {
                string userId   = HttpContext.Session.GetString(SessionHelper.USER_ID);
                string userRole = HttpContext.Session.GetString(SessionHelper.ROLES);
                string userDept = HttpContext.Session.GetString(SessionHelper.USER_DEPT);

                //todo: make method GetSummaryOfField(fieldId, userRole, userDept) instead of multiple methods for each field
                dashboardSummary.DataSet       = _mapper.Map <SummaryItemViewModel>(await _queryService.GetSummaryOfDataSet(userRole, userDept));
                dashboardSummary.Storage       = _mapper.Map <SummaryItemViewModel>(await _queryService.GetSummaryOfStorage(userRole, userDept));
                dashboardSummary.ExternalParty = _mapper.Map <SummaryItemViewModel>(await _queryService.GetSummaryOfExternalParty(userRole, userDept));
                dashboardSummary.Issue         = _mapper.Map <SummaryItemViewModel>(await _queryService.GetSummaryOfDatasetIssue(userRole, userDept));
            }
            catch (Exception e)
            {
                _logger.LogError("Error calling GetSummary: {0}", e.Message);
            }

            return(Json(new
            {
                data = dashboardSummary
            }));
        }
示例#2
0
        public IList <Order> FilterResult(IList <Order> orders, DashboardSummaryViewModel model)
        {
            IList <Order> result = orders;

            //if (model.dateFrom == default && model.dateTo == default)
            result = orders.Where(o => o.CreateData >= model.DateFrom && o.CreateData <= model.DateTo).ToList();
            if (Successor != null)
            {
                return(Successor.FilterResult(result, model));
            }
            return(result);
        }
示例#3
0
        public IList <Order> FilterResult(IList <Order> orders, DashboardSummaryViewModel model)
        {
            IList <Order> result = orders;

            if (model.OrderID != 0)
            {
                result = orders.Where(o => o.Id == model.OrderID).ToList();
            }
            if (Successor != null)
            {
                return(Successor.FilterResult(result, model));
            }
            return(result);
        }
示例#4
0
        public DashboardSummaryViewModel GetDashboardSummary()
        {
            DateTime monthFirstDate = DateTime.Today.AddDays(1 - DateTime.Today.Day);
            var      query          = from o in m_ContentContext.Order_Heads
                                      where o.OrderDate > monthFirstDate
                                      select o;
            var summary = new DashboardSummaryViewModel();

            summary.MonthlyOrder   = query.Count();
            summary.MonthlyPayment = query.Select(s => (decimal?)s.GrandTotal).Sum(s => s).GetValueOrDefault();
            summary.DailyOrder     = query.Where(w => w.OrderDate > DateTime.Today).Count();
            summary.DailyPayment   = query.Where(w => w.OrderDate > DateTime.Today).Select(s => (decimal?)s.GrandTotal).Sum(s => s).GetValueOrDefault();
            return(summary);
        }
示例#5
0
        public IList <Order> FilterResult(IList <Order> orders, DashboardSummaryViewModel model)
        {
            IList <Order> result = orders;

            if (model.Event != "0")
            {
                result = orders.Where(o => o.OrderDetails.Any(o => o.EventID.ToString() == model.Event)).ToList();  //Sprawdzic co jest w modelu? czy w Evencie jest tylko ID?
            }
            if (Successor != null)
            {
                return(Successor.FilterResult(result, model));
            }
            return(result);
        }
示例#6
0
        public IList <Order> FilterResult(IList <Order> orders, DashboardSummaryViewModel model)
        {
            IList <Order> result = orders;

            if (!string.IsNullOrWhiteSpace(model.Name))
            {
                result = orders.Where(o => o.OrderUser.Name.ToUpper().Contains(model.Name.ToUpper())).ToList();
            }
            if (Successor != null)
            {
                return(Successor.FilterResult(result, model));
            }
            return(result);
        }
示例#7
0
        public IList <Order> FilterResult(IList <Order> orders, DashboardSummaryViewModel model)
        {
            var           pageSize = int.Parse(model.PageSize);
            IList <Order> result   = orders;

            if (model.PageSize != "1")
            {
                result = orders.Skip((model.Page - 1) * pageSize).Take(pageSize).ToList();
            }
            if (Successor != null)
            {
                return(Successor.FilterResult(result, model));
            }
            return(result);
        }
        public async Task <IActionResult> Index(DashboardSummaryViewModel model, int page)
        {
            //if (page == 1 && page != model.Page)
            //    page = model.Page;

            if (page < 1)
            {
                page = 1;
            }
            model.Page     = page;
            ViewBag.Active = Tabs.Dashboard;
            var events = await _eventService.ListAsync();

            var orderFilter = new LastNameOrderFilter(new OrderCityFilter(new OrderDateFilter(new OrderEventFilter(new OrderNameFilter(null)))));
            var idFilter    = new OrderIdFilter(null);
            var eventList   = events.Select(e => new SelectListItem()
            {
                Text = e.Title, Value = e.Id.ToString()
            }).ToList();

            eventList.Add(new SelectListItem {
                Text = "Wszystkie", Value = "0"
            });

            var pageSizes = new List <SelectListItem> {
                new SelectListItem {
                    Text = "5", Value = "5"
                },
                new SelectListItem {
                    Text = "10", Value = "10"
                },
                new SelectListItem {
                    Text = "25", Value = "25"
                },
                new SelectListItem {
                    Text = "50", Value = "50"
                },
                new SelectListItem {
                    Text = "Wszystkie", Value = "1"
                },
            };

            if (model.PageSize == "0")
            {
                model.PageSize = "10";
            }
            if (User.IsInRole("Admin"))
            {
                var summaryViewModel = new DashboardSummaryViewModel()
                {
                    PageSize  = model.PageSize,
                    PageSizes = pageSizes,
                    Events    = eventList,
                    Orders    = model.OrderID != 0 ? idFilter.FilterResult(await _orderService.GetSummaryOrders(), model) : orderFilter.FilterResult(await _orderService.GetSummaryOrders(), model)
                };


                ViewBag.Page     = page;
                ViewBag.PagesMax = summaryViewModel.PageSize == "1" ? 1 : Math.Ceiling((double)summaryViewModel.Orders.Count / double.Parse(summaryViewModel.PageSize));
                var pageFilter = new OrderPageSizeFilter(null);
                if (model.OrderID == 0)
                {
                    summaryViewModel.Orders = pageFilter.FilterResult(summaryViewModel.Orders, model);
                }
                summaryViewModel.Page = page;
                return(View(summaryViewModel));
            }
            return(RedirectToAction("UserIndex"));
        }