示例#1
0
        public Model.Order AddOrder(Model.Order newOrder, Model.Location location)
        {
            Entity.Order DBOrder = new Entity.Order {
                Cusername  = newOrder.Customer.UserName,
                LocationId = location.LocationID,
                Orderdate  = newOrder.Orderdate,
                Total      = newOrder.Total
            };
            _context.Orders.Add(DBOrder);
            _context.SaveChanges();

            List <Model.Item> items = newOrder.Items;

            foreach (Model.Item item in items)
            {
                _context.Items.Add(
                    new Entity.Item {
                    LocationId  = DBOrder.LocationId,
                    OrderId     = DBOrder.OrderId,
                    ProductName = item.Product.ProductName,
                    Price       = item.Product.Price,
                    Quantity    = item.Quantity
                }
                    );
                changeInventory(location, item, -1 * item.Quantity);
            }
            _context.SaveChanges();
            return(newOrder);
        }
        public Model.Order ParseOrder(Entity.Order order)
        {
            if (order is null)
            {
                return(null);
            }
            List <Model.LineItem> lineitems = new List <Model.LineItem>();

            if (order.LineItems is not null)
            {
                foreach (Entity.LineItem item in order.LineItems)
                {
                    lineitems.Add(ParseLineItem(item));
                }
            }

            return(new Model.Order
            {
                Id = order.Id,
                DateCreated = order.DateCreated,
                CustomerId = order.CustomerId,
                LocationId = order.StoreId,
                LineItems = lineitems,
                Total = order.Total,
                Closed = order.Placed
            });
        }
示例#3
0
 public Model.Order CreateOrder(Model.Order order)
 {
     Entity.Order added = _context.Orders.Add(_mapper.ParseOrder(order, true)).Entity;
     _context.SaveChanges();
     _context.ChangeTracker.Clear();
     return(_mapper.ParseOrder(added));
 }
示例#4
0
 public Model.Order UpdateOrder(Model.Order order, Model.Location location, Model.Customer customer)
 {
     Entity.Order updateOrder = _context.Orders.Single(ord => ord.OrderId == order.OrderID);
     updateOrder.Total = order.Total;
     _context.SaveChanges();
     Log.Information("DL persisted order update to DB");
     return(order);
 }
 public Model.Order GetOrder(Customer customer, Location location, Order order)
 {
     Entity.Order found = _context.Orders.FirstOrDefault(o =>
                                                         o.CustomerId == GetCustomer(customer.PhoneNumber).Id&&
                                                         o.LocationId == GetLocation(location.Name).Id&&
                                                         o.OrderDate == order.OrderDate);
     return((found == null) ? null : new Model.Order(found.Id, found.OrderDate, found.Total));
 }
 //update total to orders
 public void UpdateOrderTotal(Order order, decimal total)
 {
     Entity.Order oldOrder = _context.Orders.Find(order.Id);
     _context.Entry(oldOrder).CurrentValues.SetValues(
         oldOrder.Total = total
         );
     _context.SaveChanges();
     _context.ChangeTracker.Clear();
 }
示例#7
0
 public Model.Order ParseOrder(Entity.Order order)
 {
     Model.Order newOrder = new Model.Order(order.Date);
     newOrder.OrderID  = order.OrderId;
     newOrder.Total    = decimal.ToDouble(order.Total);
     newOrder.Customer = ParseCustomer(order.Cust);
     newOrder.Location = ParseLocation(order.Location);
     return(newOrder);
 }
示例#8
0
 public Order GetOrder(Order order)
 {
     Entity.Order found = _context.Orders.FirstOrDefault(ord => ord.LocationId == order.LocationID && ord.CustomerId == order.CustomerID && ord.OrderId == order.OrderID && ord.Total == order.Total && ord.OrderDate == order.OrderDate);
     if (found == null)
     {
         return(null);
     }
     Log.Information("DL sent order to BL");
     return(new Model.Order(found.OrderId, order.LocationID, order.CustomerID, found.OrderId, found.Total, found.OrderDate));
 }
 public Model.Order ParseOrder(Entity.Order order)
 {
     return(new Model.Order
     {
         CustomerName = order.CustomerName,
         ProdID = order.ProdID,
         OrderQuantity = order.OrderQuantity,
         OrderTotal = order.OrderTotal
     });
 }
示例#10
0
 public Model.Order ParseOrder(Entity.Order order)
 {
     return(new Model.Order
     {
         OrderID = order.Id,
         LocationID = order.OrderLocation,
         CustomerID = order.OrderCustomer,
         //OrderDate = order.OrderDate
     });
 }
 public Model.Order ParseOrder(Entity.Order order)
 {
     return(new Model.Order
     {
         Total = order.Total,
         Date = order.Date,
         CustomerId = order.CustomerId,
         LocationId = order.LocationId,
         Id = order.Id
     });
 }
示例#12
0
 public Model.Order ParseOrder(Entity.Order order)
 {
     return(new Model.Order()
     {
         CustID = order.CustomerID,
         LocID = order.LocationID,
         ProID = order.ProductID,
         Quantity = order.Quantity,
         Total = order.Total,
     });
 }
示例#13
0
 public Order DeleteOrder(Order order)
 {
     Entity.Order deleteOrder = _context.Orders.Single(ord => ord.OrderId == order.OrderID);
     if (deleteOrder != null)
     {
         _context.Orders.Remove(deleteOrder);
         _context.SaveChanges();
         Log.Information("DL deleted order from DB");
         return(order);
     }
     return(null);
 }
示例#14
0
 public Model.Order GetOrderById(int orderId)
 {
     Entity.Order found = _context.Orders.AsNoTracking().FirstOrDefault(order => order.Id == orderId);
     if (found is not null)
     {
         return(_mapper.ParseOrder(found));
     }
     else
     {
         return(null);
     }
 }
示例#15
0
 public Model.Order GetOpenOrder(int customerId, int locationId)
 {
     Entity.Order found = _context.Orders.AsNoTracking().FirstOrDefault(order => order.CustomerId == customerId && order.StoreId == locationId && order.Placed == false);
     if (found is not null)
     {
         return(_mapper.ParseOrder(found));
     }
     else
     {
         return(null);
     }
 }
示例#16
0
 public Model.Order GetOrderById(Order order)
 {
     Entity.Order found = _context.Orders.FirstOrDefault(o => o.Id == order.Id);
     return((found == null) ? null : new Model.Order(found.Id, found.OrderDate, found.Total));
 }