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(); } }
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)); }
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))); }