public async Task <IHttpActionResult> PostOrder(OrderInsert order) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Order newO = new Order() { FirstName = order.FirstName, LastName = order.LastName, StartTime = order.StartTime, EndTime = order.EndTime, Phone = order.Phone, SalonID = order.SalonID, Sex = order.Sex, UserName = order.UserName, OrderDetails = order.Services, CreateOn = DateTime.Now, Date = order.Date }; db.Orders.Add(newO); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = newO.OrderID }, newO)); }
/// <summary> /// A method to purchase the contents of the cart /// </summary> /// <returns>Order object with information about the new Order</returns> public OrderInfo PurchaseCart() { // Fetch the cart from session Cart myCart = (Cart)HttpContext.Current.Session[CART_KEY]; // Make some checks on the cart if ((myCart == null) || (myCart.Count == 0)) { HttpContext.Current.Server.Transfer(URL_NOCART); //HttpContext.Current.Response.Redirect(URL_NOCART, false); return(null); } else { // Build up the order OrderInfo newOrder = new OrderInfo(); newOrder.UserId = ((AccountInfo)HttpContext.Current.Session[ACCOUNT_KEY]).UserId; newOrder.CreditCard = (CreditCardInfo)HttpContext.Current.Session[CREDITCARD_KEY]; newOrder.BillingAddress = (AddressInfo)HttpContext.Current.Session[BILLING_KEY]; newOrder.ShippingAddress = (AddressInfo)HttpContext.Current.Session[SHIPPING_KEY]; newOrder.LineItems = (LineItemInfo[])myCart.GetOrderLineItems().ToArray(typeof(LineItemInfo)); newOrder.OrderTotal = myCart.Total; newOrder.Date = DateTime.Now; // Send the order to the middle tier OrderInsert order = new OrderInsert(); newOrder.OrderId = order.Insert(newOrder); // clear the session objects used HttpContext.Current.Session[CART_KEY] = null; HttpContext.Current.Session[CREDITCARD_KEY] = null; HttpContext.Current.Session[BILLING_KEY] = null; HttpContext.Current.Session[SHIPPING_KEY] = null; return(newOrder); } }
public async Task <IHttpActionResult> PostOrders(OrderInsert order) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } DateTime iKnowThisIsUtc = order.Date; DateTime runtimeKnowsThisIsUtc = DateTime.SpecifyKind( iKnowThisIsUtc, DateTimeKind.Utc); var localVersion = TimeZoneInfo.ConvertTimeFromUtc(runtimeKnowsThisIsUtc, TimeZoneInfo.FindSystemTimeZoneById("FLE Standard Time"));//offset.ToOffset(new TimeSpan(3, 0, 0)); Order newO = new Order() { FirstName = order.FirstName, LastName = order.LastName, StartTime = order.StartTime, EndTime = order.EndTime, Phone = order.Phone, SalonID = order.SalonID, Sex = order.Sex, UserName = order.UserName, OrderDetails = order.Services, CreateOn = getTime, Date = localVersion, StartDateTime = localVersion.Add(order.StartTime), EndDateTime = localVersion.Add(order.EndTime), MoreInfo = order.MoreInfo, UniqueID = Guid.NewGuid(), }; db.Orders.Add(newO); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = newO.OrderID }, newO)); }