/// <summary> /// Creates OrderAddressModel from given Contact /// </summary> /// <param name="user">The contact</param> /// <returns>OrderAddressModel.</returns> public static OrderAddressModel GetShippingBillingForCustomer(Contact user) { var retVal = new OrderAddressModel { CurrentUser = GetCustomerModel(user) }; if (user != null && user.Addresses.Count > 0) { retVal.BillingAddress = user.Addresses.FirstOrDefault(x => x.Name.Contains(DefaultBilling)); retVal.ShippingAddress = user.Addresses.FirstOrDefault(x => x.Name.Contains(DefaultShipping)); } retVal.OthersAddresses = new Address[] {}; var allOthers = new List <Address>(); if (user != null) { allOthers.AddRange( user.Addresses.Where( addr => !addr.Name.Contains(DefaultShipping) && !addr.Name.Contains(DefaultBilling))); } retVal.OthersAddresses = allOthers.ToArray(); return(retVal); }
public Address(OrderAddressModel address) { if (address != null) { Id = address.Id.ToString(); StreetAddress = address.Line1; ZipCode = address.PostalCode; City = address.City; FirstName = address.FirstName; LastName = address.LastName; CountryCode = address.CountryCode; } }
public ActionResult Order(OrderAddressModel model) { if (ModelState.IsValid) { var identity = (System.Web.HttpContext.Current.User as SETZ.MyPrincipal).Identity as SETZ.MyIdentity; int userID = identity.User.ID; Order order = new Order(); Cart cart = setzDB.Carts.Where(c => c.UserID == userID).FirstOrDefault(); order.NumberOfItems = cart.NumberOfProducts; order.Price = cart.TotalPrice; order.UserID = cart.UserID; order.Date = DateTime.Now; order.Status = "Ожидание подтверждения"; order.Address = model.Address; order.Phone = model.Phone; order.Email = model.Email; order.Details = model.Details; setzDB.Orders.Add(order); setzDB.SaveChanges(); Order saved = setzDB.Orders.Where(o => o.UserID == userID).ToList().LastOrDefault(); List <CartItem> item = setzDB.CartItems.Where(c => c.CartID == cart.ID).ToList(); for (int i = 0; i < item.Count(); i++) { Product product = setzDB.Products.Find(item[i].ProductID); product.OrderCount++; setzDB.SaveChanges(); OrderItem orderitem = new OrderItem(); orderitem.Articul = item[i].Articul; orderitem.Colour = item[i].Colour; orderitem.Name = item[i].Name; orderitem.OrderID = saved.ID; orderitem.Price = item[i].Price; orderitem.ProductID = item[i].ProductID; orderitem.Size = item[i].Size; orderitem.Quantity = item[i].Quantity; setzDB.OrderItems.Add(orderitem); setzDB.SaveChanges(); } deleteCart(); //return RedirectToAction("Registered"); return(RedirectToAction("Thanks", "Cart", new { id = saved.ID })); } return(View(model)); }
public async Task <IActionResult> CheckoutDetails(OrderAddressModel model) { if (ModelState.IsValid) { //Update fields of nthe order during wizard var newOrderModel = _cache.Get <OrderModel>("NewOrder"); //HttpContext.Session.GetObject<OrderModel>("NewOrder") //((OrderModel)_context.HttpContext.Items["NewOrder"]); newOrderModel.Name = model.Name; newOrderModel.ShippingAddress = model.ShippingAddress; //and save order again (for the next wizard step) _cache.Set("NewOrder", newOrderModel); //Go the next step 2 - payment options return(View("СheckoutPayment", new OrderPaymentModel())); } return(View(model));// model.OrderItems); //show selected items with errors }
public ActionResult Order() { OrderAddressModel model = new OrderAddressModel(); return(View(model)); }