示例#1
0
        public ViewResult Index(SalesGridDTO vals)

        {
            string defaultSort = nameof(Sales.Year);
            var    builder     = new SalesGridBuilder(HttpContext.Session, vals, defaultSort);

            var options = new SalesQueryOptions
            {
                Includes   = "Employee",
                OrderBy    = builder.CurrentRoute.SortDirection,
                PageNumber = builder.CurrentRoute.PageNumber,
                PageSize   = builder.CurrentRoute.PageSize
            };

            options.SortFilter(builder);

            SalesListViewModel vs = new SalesListViewModel
            {
                Sales    = data.Sales.List(options),
                Employee = data.Employees.List(new QueryOptions <Employee> {
                    OrderBy = e => e.FirstName
                }),
                CurrentRoute = builder.CurrentRoute,
                TotalPages   = builder.GetTotalPages(data.Sales.Count)
            };

            return(View());
        }
示例#2
0
        private static void SetupFirstScreen(ScreenManager screenManager)
        {
            dialogService = new DialogService();
            var newViewModel = new SalesListViewModel(dialogService, screenManager);

            newViewModel.StartUp();
        }
        public async Task <IActionResult> List(SearchListInputModel input)
        {
            var salesListViewModel = new SalesListViewModel();

            salesListViewModel.Sales = await this.salesService.GetAllBySearchForm(input);

            return(this.View(salesListViewModel));
        }
示例#4
0
        private void TextBlock_MouseUp_1(object sender, MouseButtonEventArgs e)
        {
            SalesListViewModel wvm = (SalesListViewModel)DataContext;

            //var adasd = dateOptionCbx.SelectedItem;

            DateOption newValue = (DateOption)(sender as TextBlock).DataContext;

            wvm.SetDateOption(newValue);
        }
示例#5
0
        public async Task <SalesListViewModel> GetSalesListViewModelByCountryId(int id, int itemsPerPage, int countryId)
        {
            var salesListViewModel = new SalesListViewModel();

            salesListViewModel.PageNumber = id;

            salesListViewModel.ItemsPerPage = itemsPerPage;

            salesListViewModel.Sales = await this.GetAllByCountryId(id, itemsPerPage, countryId);

            salesListViewModel.SalesCount = await this.GetSalesCountByCountryId(countryId);

            return(salesListViewModel);
        }
示例#6
0
        // GET: Sales
        public ActionResult Index(double?saleSum, string items)
        {
            var listItems   = Helpers.BlModelConversion.GetListItems();
            var listSales   = Helpers.BlModelConversion.GetListSales();
            var listSaleSum = new List <double>();

            foreach (var sale in listSales)
            {
                listSaleSum.Add(sale.SaleSum);
            }

            var sales = listSales;

            if (saleSum != null && saleSum != -1)
            {
                sales = sales.FindAll(p => p.SaleSum == saleSum);
            }

            if (!string.IsNullOrEmpty(items) && !items.Equals("All"))
            {
                sales = sales.FindAll((p => p.Item.Name == items));
            }

            listSaleSum.Insert(0, -1);
            listItems.Insert(0, new Item
            {
                Name = "All"
            });

            var salesView = new SalesListViewModel
            {
                Sales   = sales,
                SaleSum = new SelectList(listSaleSum.Distinct()),
                Items   = new SelectList(listItems, "Name", "Name")
            };

            return(View(salesView));
        }
        /// <summary>
        ///     Indexes the specified page.
        /// </summary>
        /// <param name="page">The page.</param>
        /// <returns>IActionResult.</returns>
        public IActionResult Index(int page = 1)
        {
            var filteredMonth      = this.httpContextAccessor.HttpContext.Session.GetInt32("filtered_month") ?? -1;
            var filteredYear       = this.httpContextAccessor.HttpContext.Session.GetInt32("filtered_year") ?? -1;
            var filteredSalesRepId = this.httpContextAccessor.HttpContext.Session.GetInt32("filtered_salesrep") ?? -1;
            var filteredSalesRep   = this.unitOfWork.SalesReps.Get().FirstOrDefault(rep => rep.Id == filteredSalesRepId);
            var pageSize           = this.httpContextAccessor.HttpContext.Session.GetInt32("page_size") ?? 4;
            var years            = new List <int>();
            var sales            = this.unitOfWork.Sales.Get().Include(sale => sale.SalesRep).ToList();
            var totalSalesAmount = 0.0;

            if (filteredSalesRepId != -1)
            {
                sales = sales.Where(sale => sale.SalesRepId == filteredSalesRepId).ToList();
            }

            if (filteredMonth != -1)
            {
                sales = sales.Where(sale => sale.Month == filteredMonth).ToList();
            }

            if (filteredYear != -1)
            {
                sales = sales.Where(sale => sale.Year == filteredYear).ToList();
            }

            if (this.httpContextAccessor.HttpContext.Session.GetInt32("sort_direction") ==
                (int)SortDirection.Ascending)
            {
                sales = this.orderAscending(sales);
            }
            else if (this.httpContextAccessor.HttpContext.Session.GetInt32("sort_direction") ==
                     (int)SortDirection.Descending)
            {
                sales = this.orderDescending(sales);
            }

            var totalPages = sales.Count / pageSize;

            totalPages += sales.Count % pageSize == 0 ? 0 : 1;

            sales = sales.Skip((page - 1) * pageSize).Take(pageSize > sales.Count ? sales.Count : pageSize).ToList();

            foreach (var sale in sales)
            {
                if (!years.Contains(sale.Year))
                {
                    years.Add(sale.Year);
                }

                totalSalesAmount += sale.Amount;
            }

            var viewModel = new SalesListViewModel {
                Sales              = sales,
                Years              = years,
                TotalSalesAmount   = totalSalesAmount,
                FilteredMonth      = filteredMonth,
                FilteredSalesRepId = filteredSalesRepId,
                FilteredYear       = filteredYear,
                FilteredSalesRep   = filteredSalesRep,
                PageNumber         = page,
                PageSize           = pageSize,
                TotalPages         = totalPages,
                SalesReps          = this.unitOfWork.SalesReps.Get().ToList()
            };

            return(View(viewModel));
        }