コード例 #1
0
        public async Task <SalesFilteredResponse <object> > GetAllSales(BaseSearchRequestModel request)
        {
            try {
                var csvSales = _context.CSVSales
                               .OrderBy(x => x.OrderDate)
                               .AsNoTracking();

                return(await GetSearchDDLModel.ReturnSales(_context, csvSales, request));
            } catch (Exception ex) {
                throw ex;
            }
        }
コード例 #2
0
        public async Task <CreateSaleFilteringResponse <object> > CreateSale(SearchSaleRequestModel request)
        {
            try {
                var newSale = request.SaleViewModel;
                var addSale = new CSVSale {
                    Region        = newSale.Region,
                    Country       = newSale.Country,
                    ItemType      = newSale.ItemType,
                    SalesChannel  = newSale.SalesChannel,
                    OrderPriority = newSale.OrderPriority,
                    OrderDate     = newSale.OrderDate,
                    OrderID       = newSale.OrderID,
                    ShipDate      = newSale.ShipDate,
                    UnitsSold     = newSale.UnitsSold,
                    UnitPrice     = newSale.UnitPrice,
                    UnitCost      = newSale.UnitCost,
                    TotalRevenue  = newSale.TotalRevenue,
                    TotalCost     = newSale.TotalCost,
                    TotalProfit   = newSale.TotalProfit
                };

                _context.CSVSales.Add(addSale);
                await _context.SaveChangesAsync();

                var csvSales = _context.CSVSales
                               .OrderBy(x => x.OrderDate)
                               .AsNoTracking();


                var result = await GetSearchDDLModel.ReturnSales(_context, csvSales, request);

                return(new CreateSaleFilteringResponse <object> {
                    Total = result.Total,
                    Length = result.Length,
                    Data = result.Data,
                    DropDownLists = result.DropDownLists,
                    NewSaleId = addSale.ID
                });
            } catch (Exception ex) {
                throw ex;
            }
        }
コード例 #3
0
        public async Task <SalesFilteredResponse <object> > UpdateSale(UpdateSaleRequestModel request)
        {
            try {
                var updateSale = request.SaleViewModel;

                var changedSale = _context
                                  .CSVSales
                                  .FirstOrDefault(u => u.ID == updateSale.ID);

                if (changedSale == null)
                {
                    throw new EntityNotFoundException();
                }

                changedSale.Region        = updateSale.Region;
                changedSale.Country       = updateSale.Country;
                changedSale.ItemType      = updateSale.ItemType;
                changedSale.SalesChannel  = updateSale.SalesChannel;
                changedSale.OrderPriority = updateSale.OrderPriority;
                changedSale.OrderDate     = updateSale.OrderDate;
                changedSale.OrderID       = updateSale.OrderID;
                changedSale.ShipDate      = updateSale.ShipDate;
                changedSale.UnitsSold     = updateSale.UnitsSold;
                changedSale.UnitPrice     = updateSale.UnitPrice;
                changedSale.UnitCost      = updateSale.UnitCost;
                changedSale.TotalRevenue  = updateSale.TotalRevenue;
                changedSale.TotalCost     = updateSale.TotalCost;
                changedSale.TotalProfit   = updateSale.TotalProfit;

                _context.SaveChanges();

                var csvSales = _context.CSVSales
                               .OrderBy(x => x.OrderDate)
                               .AsNoTracking();

                return(await GetSearchDDLModel.ReturnSales(_context, csvSales, request));
            } catch (Exception ex) {
                throw ex;
            }
        }