예제 #1
0
        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));
        }
예제 #2
0
        /// <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);
            }
        }
예제 #3
0
        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));
        }