Beispiel #1
0
        public void SaveOrder()
        {
            var orderModel = HttpContext.Current.Session[WebStroreResource.CART] as OrderModel;
            var user       = WebStoreSecurity.GetLoggedInUser();

            var order = new Litium.Domain.Entities.ECommerce.Order
            {
                CreateDate     = orderModel.CreateDate,
                OrderNumber    = orderModel.OrderNumber,
                Customer       = user,
                OrderState     = State.Created,
                DeliveryMethod = orderModel.DeliveryMethod,
                Description    = orderModel.DeliveryDescription,
                OrderSumma     = orderModel.OrderSumma,
                OrderTotal     = orderModel.OrderTotal
            };

            var products = new List <OrderProduct>();

            foreach (var cartItem in orderModel.OrderRows)
            {
                var orderRow = new OrderProduct();
                orderRow.CopyFromModel(cartItem);
                products.Add(orderRow);
            }

            using (var uow = new UnitOfWork())
            {
                Repository.Data.Save(products);
                order.OrderProducts = products;
                Repository.Data.Save(order);
                uow.Commit();
            }
        }
Beispiel #2
0
        public OrderModel CalculateOrder()
        {
            var order = HttpContext.Current.Session[WebStroreResource.CART] as OrderModel;

            if (order == null)
            {
                return(new OrderModel());
            }

            var user = WebStoreSecurity.GetLoggedInUser();

            if (String.IsNullOrWhiteSpace(order.OrderNumber))
            {
                order.CreateDate  = DateTime.Now;
                order.OrderNumber = GenerateOrderNumber(order.CreateDate);
            }

            if (user != null)
            {
                ApplyPersonalCampaign(order, user);

                if (user.DeliveryAddress != null)
                {
                    order.DeliveryAddress = user.DeliveryAddress;
                }

                order.Customer = new UserModel(user);
            }

            order.CalculateOrder();
            return(order);
        }
        public ActionResult UserOrderHistory()
        {
            Person user = WebStoreSecurity.GetLoggedInUser();
            IEnumerable <Order> orders = Repository.Data.Get <Order>().Where(x => x.Customer.Id == user.Id).All();

            return(View(orders));
        }
Beispiel #4
0
 protected void Application_AuthenticateRequest(object sender, EventArgs e)
 {
     // If the user is logged-in, make sure his cache details are still
     // available, otherwise redirect to login page.
     if (Request.IsAuthenticated && WebStoreSecurity.GetLoggedInUser() == null)
     {
         FormsAuthentication.SignOut();
     }
 }
        public ActionResult UserProfile()
        {
            var person = WebStoreSecurity.GetLoggedInUser();

            if (person != null)
            {
                return(View("UserProfile", new UserProfileModel(person)));
            }
            return(View("Index"));
        }
        private void SendEmail()
        {
            var user  = WebStoreSecurity.GetLoggedInUser();
            var order = System.Web.HttpContext.Current.Session[WebStroreResource.CART] as OrderModel;

            if (user != null)
            {
                var smtpSection = (SmtpSection)ConfigurationManager.GetSection("system.net/mailSettings/smtp");

                WebMail.SmtpPort   = smtpSection.Network.Port;
                WebMail.SmtpServer = smtpSection.Network.Host;

                WebMail.UserName = smtpSection.Network.UserName;
                WebMail.Password = smtpSection.Network.Password;

                var messageBody = PartialView("PublicSite/MailOrder", order).Capture(ControllerContext);

                WebMail.Send(user.Profile.Email, WebStroreResource.Subject,
                             messageBody, smtpSection.From, null, null, true);
            }
        }
        public ActionResult ChangePassword()
        {
            Person user = WebStoreSecurity.GetLoggedInUser();

            return(View(new UserChangePasswordModel(user)));
        }