示例#1
0
        public List <OrderDetailSummary> GetOrderDetailSummary(Order order)
        {
            List <OrderDetailSummary> orderDetailSummaryList = new List <OrderDetailSummary>();
            List <OrderDetail>        orderDetailList        = _orderDetailService.GetByOrderId(order.Id);

            foreach (var orderDetail in orderDetailList)
            {
                OrderDetailSummary orderDetailSummary = new OrderDetailSummary();
                orderDetailSummary.OrderDetailId = orderDetail.Id;
                orderDetailSummary.OrderId       = orderDetail.OrderId;
                orderDetailSummary.CategoryName  = _categoryService.GetById(orderDetail.CategoryId).Name;
                orderDetailSummary.ProductName   = _productService.GetById(orderDetail.ProductId).Name;
                orderDetailSummary.Quantity      = orderDetail.Quantity;
                orderDetailSummary.UnitPrice     = orderDetail.UnitPrice;
                orderDetailSummary.TotalPrice    = orderDetail.TotalPrice;
                orderDetailSummary.TotalDiscount = orderDetail.TotalDiscountAmount;

                orderDetailSummaryList.Add(orderDetailSummary);
            }

            return(orderDetailSummaryList);
        }
示例#2
0
        public IActionResult PrivateSummary(Order order)
        {
            if (!CheckCart())
            {
                return(RedirectToAction("Index", "Cart"));
            }

            var cart             = GetCart();
            var orderDetailsList = new List <OrderDetailSummary>();

            if (cart.CartLinesCollection.Count == 0)
            {
                RedirectToAction("Index", "Home");
            }

            foreach (var line in cart.CartLinesCollection)
            {
                var tmp = new OrderDetailSummary()
                {
                    Price       = line.Product.Price,
                    Quantity    = line.Quantity,
                    ProductId   = line.Product.ProductId,
                    ProductName = line.Product.Name,
                    SellerId    = line.Product.UserId,
                    SellerName  = _dbContext.Users.SingleOrDefault(u => u.Id == line.Product.UserId).UserName
                };

                orderDetailsList.Add(tmp);
            }

            var viewModel = new OrderSummary()
            {
                Order = order,
                OrderDetailsSummaryList = orderDetailsList
            };

            return(View(viewModel));
        }
示例#3
0
        async Task CreateData(DateTime startDate, DateTime endDate, Int32 limit, Decimal?[] freights)
        {
            var date = new DateTime(startDate.Year, startDate.Month, startDate.Day);

            var random = new Random();

            while (date <= endDate)
            {
                if (date.DayOfWeek != DayOfWeek.Sunday)
                {
                    var businessObject = new SalesBusinessObject(new SalesUow(new SalesDbContext()) as ISalesUow) as ISalesBusinessObject;

                    var customers = await Task.Run(() => { return(businessObject.GetCustomers().ToList()); });

                    var employees = await Task.Run(() => { return(businessObject.GetEmployees().ToList()); });

                    var shippers = await Task.Run(() => { return(businessObject.GetShippers().ToList()); });

                    var products = await Task.Run(() => { return(businessObject.GetProductsDetails(null, null, null).Where(item => item.Discontinued == false).ToList()); });

                    for (var j = 0; j < limit; j++)
                    {
                        var header = new Order();

                        var selectecCustomer = customers[random.Next(0, customers.Count - 1)];
                        var selectedEmployee = employees[random.Next(0, employees.Count - 1)];
                        var selectedShipper  = shippers[random.Next(0, shippers.Count - 1)];

                        header.CustomerID     = selectecCustomer.CustomerID;
                        header.EmployeeID     = selectedEmployee.EmployeeID;
                        header.OrderDate      = date;
                        header.RequiredDate   = date.AddDays(7);
                        header.ShippedDate    = null;
                        header.ShipVia        = selectedShipper.ShipperID;
                        header.Freight        = freights[random.Next(0, freights.Length)];
                        header.ShipName       = selectecCustomer.CompanyName;
                        header.ShipAddress    = selectecCustomer.Address;
                        header.ShipCity       = selectecCustomer.City;
                        header.ShipRegion     = selectecCustomer.Region;
                        header.ShipPostalCode = selectecCustomer.PostalCode;
                        header.ShipCountry    = selectecCustomer.Country;

                        header.OrderSummaries = new Collection <OrderDetailSummary>()
                        {
                        };

                        var summaries = random.Next(1, 10);

                        for (var i = 0; i < summaries; i++)
                        {
                            var summary = new OrderDetailSummary
                            {
                                ProductID = products[random.Next(0, products.Count - 1)].ProductID,
                                Quantity  = (Int16)random.Next(1, 10),
                                Discount  = 0.0m
                            };

                            if (header.OrderSummaries.Where(item => item.ProductID == summary.ProductID).Count() == 0)
                            {
                                header.OrderSummaries.Add(summary);
                            }
                        }

                        var entity = await Task.Run(() =>
                        {
                            return(businessObject.CreateOrder(header));
                        });

                        Console.WriteLine("Order #: {0}", entity.OrderID);
                    }

                    businessObject.Release();
                }

                date = date.AddDays(1);
            }
        }