void SaveOrder(Order order) { if (order.IsValid())//if entity is valid save. { //add order and commit changes _orderRepository.Add(order); //_orderRepository.UnitOfWork.Commit(); } else // if not valid throw validation errors throw new ApplicationValidationErrorsException(order.GetInvalidMessages()); }
/// <summary> /// Create a new order /// </summary> /// <param name="customer">Associated customer</param> /// <param name="shippingName">The order shipping name</param> /// <param name="shippingCity">The order shipping city</param> /// <param name="shippingAddress">The order shipping address</param> /// <param name="shippingZipCode">The order shipping zip cocde</param> /// <returns>Associated order</returns> public static Order CreateOrder(Customer customer, string shippingName, string shippingCity, string shippingAddress, string shippingZipCode) { //create the order var order = new Order(); //create shipping var shipping = new ShippingInfo(shippingName, shippingAddress, shippingCity, shippingZipCode); //set default values order.OrderDate = DateTime.UtcNow; order.DeliveryDate = null; order.ShippingInformation = shipping; //set customer information order.SetTheCustomerForThisOrder(customer); return order; }