示例#1
0
        /// <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);
        }
示例#2
0
 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 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;
     }
 }
示例#4
0
        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
        }
示例#6
0
        public ActionResult Order()
        {
            OrderAddressModel model = new OrderAddressModel();

            return(View(model));
        }