public void CreateOrder(Library.Model.Order order)
        {
            var newOrder = new Entities.Order
            {
                CustomerId = order.CustomerId,
                LocationId = order.LocationId,
                TimePlaced = DateTime.Now,
                TotalPrice = order.TotalPrice
            };

            _dbContext.Add(newOrder);
        }
        /// <summary>
        /// Add and save new orders to store locations for customers.
        /// </summary>
        public void Add(Library.Model.Order model)
        {
            if (model.OrderId != 0)
            {
                s_logger.Warn($"Order to be added has an ID ({model.OrderId}) already: ignoring.");
                return;
            }
            foreach (Library.Model.OrderLine ol in model.OrderLines)
            {
                if (ol.OrderLineId != 0)
                {
                    s_logger.Warn($"OrderLine to be added has an ID ({ol.OrderLineId}) already: ignoring.");
                    return;
                }
            }

            s_logger.Info($"Adding Order");

            var products = _orderContext.Products
                           .AsNoTracking();

            // ID left at default 0
            Order entity = new Order
            {
                CustomerId = model.CustomerId,
                LocationId = model.LocationId,
                OrderTime  = model.OrderTime,
                OrderTotal = 0.00M
            };

            _orderContext.Add(entity);

            foreach (Library.Model.OrderLine ol in model.OrderLines)
            {
                OrderLine entity2 = new OrderLine
                {
                    Order     = entity,
                    ProductId = ol.ProductId,
                    Quantity  = ol.Quantity,
                    LineTotal = ol.Quantity * products.First(p => p.ProductId == ol.ProductId).UnitPrice
                };
                entity.OrderTotal += entity2.LineTotal;
                _orderContext.Add(entity2);
            }
        }
 public void Edit(Library.Model.Order model)
 {
     throw new NotImplementedException();
 }