// load or create new data for current state private AdvantShop.Orders.OrderConfirmation LoadOrderConfirmationData(Guid id) { AdvantShop.Orders.OrderConfirmation res; if (!OrderConfirmationService.IsExist(id)) { res = new AdvantShop.Orders.OrderConfirmation { CustomerId = id, OrderConfirmationData = new OrderConfirmationData { UserType = EnUserType.NoUser, BillingIsShipping = true } }; // if we have user if (CustomerSession.CurrentCustomer.RegistredUser) { res.OrderConfirmationData.UserType = EnUserType.RegistredUser; } OrderConfirmationService.Add(res); } else { res = OrderConfirmationService.Get(id); } return(res); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { var ocModule = AttachedModules.GetModules(AttachedModules.EModuleType.OrderConfirmation).FirstOrDefault(); if (ocModule != null) { var classInstance = (IOrderConfirmation)Activator.CreateInstance(ocModule, null); if (classInstance.IsActive && classInstance.CheckAlive() && !string.IsNullOrEmpty(classInstance.FileUserControlOrderConfirmation)) { Redirect("orderconfirmationmodule.aspx", true); } } } var shoppingCart = ShoppingCartService.CurrentShoppingCart; PageData = LoadOrderConfirmationData(CustomerSession.CustomerId); if (!shoppingCart.CanOrder && (PageData.OrderConfirmationData.ActiveTab != EnActiveTab.FinalTab)) { Redirect("shoppingcart.aspx", true); } //check current step and save state in db var activeT = EnActiveTab.NoTab; if (!IsPostBack) { Enum.TryParse(Request["tab"], true, out activeT); if (activeT != PageData.OrderConfirmationData.ActiveTab) { if (activeT < PageData.OrderConfirmationData.ActiveTab) { PageData.OrderConfirmationData.ActiveTab = activeT; } Redirect(PageData); } } if (PageData.OrderConfirmationData.ActiveTab == EnActiveTab.FinalTab) { OrderConfirmationService.Delete(CustomerSession.CustomerId); LoadOrderConfirmationData(CustomerSession.CustomerId); } if (PageData.OrderConfirmationData.ActiveTab == EnActiveTab.NoTab) { //ShowTab(PageData.OrderConfirmationData.UserType == EnUserType.RegistredUser ? EnActiveTab.UserTab : EnActiveTab.DefaultTab); //Changed by Evgeni to prevent user registration ShowTab(EnActiveTab.UserTab); } else { ShowTab(PageData.OrderConfirmationData.ActiveTab); } SetMeta(new MetaInfo(string.Format("{0} - {1}", Resource.Client_OrderConfirmation_DrawUpOrder, SettingsMain.ShopName)), string.Empty); }
private void Redirect() { //if (Request.UrlReferrer != null && !Request.UrlReferrer.AbsoluteUri.Contains("orderconfirmation")) //{ // PageData.OrderConfirmationData.ActiveTab = EnActiveTab.UserTab; //} OrderConfirmationService.Update(PageData); Response.Redirect("orderconfirmation.aspx?tab=" + PageData.OrderConfirmationData.ActiveTab.ToString()); }
public void Execute(IJobExecutionContext context) { ShoppingCartService.DeleteExpiredShoppingCartItems(DateTime.Today.AddMonths(-3)); OrderConfirmationService.DeleteExpired(DateTime.Today.AddMonths(-3)); RecentlyViewService.DeleteExpired(); InternalServices.DeleteExpiredAppRestartLogData(); Secure.DeleteExpiredAuthorizeLog(); //JsCssTool.Clear(); }
public void Setup() { _uow = new UnitOfWork(); _orderService = new OrderConfirmationService(null, _uow, Root); _project = _uow.ProjectRepository.Get(p => p.ProjectNumber == "P2013-083").FirstOrDefault(); _relation = _project.Files.FirstOrDefault(f => f.File.Name == "R5942565_EU0028S_22104496 SO 10449601"); _parser = OrderConfirmationFactory.GetParser(Root, _relation.File); _orderConfirmation = _orderService.CreateFromProjectFile(_relation); }
private Order DoCreateOrder() { var shoppingCart = ShoppingCartService.CurrentShoppingCart; if (shoppingCart.GetHashCode() != PageData.OrderConfirmationData.CheckSum || !shoppingCart.HasItems) { Response.Redirect("shoppingcart.aspx"); return(null); } if (PageData.OrderConfirmationData.UserType == EnUserType.JustRegistredUser) { RegistrationNow(); } if (PageData.OrderConfirmationData.UserType == EnUserType.RegisteredUserWithoutAddress) { UpdateCustomerContact(); } var order = CreateOrder(shoppingCart); SendOrderMail(order, shoppingCart); var certificate = shoppingCart.Certificate; if (certificate != null) { certificate.ApplyOrderNumber = order.Number; certificate.Used = true; certificate.Enable = true; GiftCertificateService.DeleteCustomerCertificate(certificate.CertificateId); GiftCertificateService.UpdateCertificateById(certificate); } var coupon = shoppingCart.Coupon; if (coupon != null && shoppingCart.TotalPrice >= coupon.MinimalOrderPrice) { coupon.ActualUses += 1; CouponService.UpdateCoupon(coupon); CouponService.DeleteCustomerCoupon(coupon.CouponID); } ShoppingCartService.ClearShoppingCart(ShoppingCartType.ShoppingCart, PageData.OrderConfirmationData.Customer.Id); ShoppingCartService.ClearShoppingCart(ShoppingCartType.ShoppingCart, CustomerContext.CustomerId); ShippingManager.CurrentShippingRates.Clear(); OrderConfirmationService.Delete(CustomerContext.CustomerId); return(order); }
private void ShowActiveTab(bool innerPostback) { switch (PageData.OrderConfirmationData.ActiveTab) { case EnActiveTab.DefaultTab: mvOrderConfirm.SetActiveView(ViewAuthorizationCheck); break; case EnActiveTab.UserTab: FirstStep.UserType = PageData.OrderConfirmationData.UserType; FirstStep.BillingIsShipping = PageData.OrderConfirmationData.BillingIsShipping; FirstStep.ShippingContact = PageData.OrderConfirmationData.ShippingContact; FirstStep.BillingContact = PageData.OrderConfirmationData.BillingContact; FirstStep.Customer = PageData.OrderConfirmationData.Customer; mvOrderConfirm.SetActiveView(ViewOrderConfirmationUser); break; case EnActiveTab.ShippingTab: SecondStep.PageData = PageData.OrderConfirmationData; mvOrderConfirm.SetActiveView(ViewOrderConfirmationShipping); break; case EnActiveTab.PaymentTab: ThirdStep.PageData = PageData.OrderConfirmationData; mvOrderConfirm.SetActiveView(ViewOrderConfirmationPayment); break; case EnActiveTab.SumTab: FourthStep.PageData = PageData.OrderConfirmationData; mvOrderConfirm.SetActiveView(ViewOrderConfirmationSum); break; case EnActiveTab.FinalTab: if (!innerPostback) { var order = DoCreateOrder(); FifthStep.OrderID = order.OrderID; FifthStep.Number = order.Number; ShippingManager.CurrentShippingRates.Clear(); } mvOrderConfirm.SetActiveView(ViewOrderConfirmationFinal); OrderConfirmationService.Delete(CustomerSession.CustomerId); break; default: mvOrderConfirm.SetActiveView(ViewAuthorizationCheck); break; } ltSteps.Text = RenderSteps(PageData.OrderConfirmationData.ActiveTab); }
protected void btnConfirm_Click(object sender, EventArgs e) { UpdatePageData(); if (!IsValidPageData()) { PageData.OrderConfirmationData.ActiveTab = EnActiveTab.NoTab; OrderConfirmationService.Update(PageData); ShowActiveTab(false); } else { PageData.OrderConfirmationData.ActiveTab = EnActiveTab.FinalTab; Redirect(); } }
/// <summary> /// Load or create new order confirmation data for current state /// </summary> /// <param name="id"></param> /// <returns></returns> private AdvantShop.Orders.OrderConfirmation LoadOrderConfirmationData(Guid id) { if (OrderConfirmationService.IsExist(id)) { return(OrderConfirmationService.Get(id)); } var res = new AdvantShop.Orders.OrderConfirmation { CustomerId = id, OrderConfirmationData = new OrderConfirmationData { UserType = CustomerContext.CurrentCustomer.RegistredUser ? EnUserType.RegisteredUser : EnUserType.NoUser, BillingIsShipping = true } }; OrderConfirmationService.Add(res); return(res); }
public bool Execute(DbConnection connection, EntityInfo info) { var root = HttpContext.Current.Server.MapPath("~/"); var uow = new UnitOfWork(connection); var projectService = new ProjectService(null, uow, root); var orderService = new OrderConfirmationService(null, uow, root); var relation = info.Entity as ProjectFile; var project = projectService.GetByKey(relation.ProjectId); if (info.EntityState == EntityState.Added && relation.Role == FileRole.OrderConfirmation) { if (uow.OrderConfirmationRepository.Get(o => o.FileId == relation.FileId).Any()) { throw new Exception("File already used as an order confirmation"); } var orderConfirmation = orderService.CreateFromProjectFile(relation); info.OriginalValuesMap.Add("VendorId", orderConfirmation.VendorId); foreach (var item in orderConfirmation.Items) { var rel = project.Components.SingleOrDefault(pc => pc.Component.Name == item.Component.Name && pc.Component.Vendor.Name == item.Component.Vendor.Name); if (rel == null) { project.Components.Add(new ProjectComponent { Component = item.Component, ComponentId = item.ComponentId, Project = project, ProjectId = project.Id, Count = item.Quantity, Unit = item.Unit, IncludeInManual = true }); } else { rel.Count += item.Quantity; } } } else if (info.EntityState == EntityState.Deleted && relation.Role == FileRole.OrderConfirmation) { var orderConfirmation = uow.OrderConfirmationRepository.Get(o => o.FileId == relation.FileId).SingleOrDefault(); if (orderConfirmation != null) { foreach (var item in orderConfirmation.Items) { var rel = project.Components.SingleOrDefault(pc => pc.ComponentId == item.ComponentId); if (rel != null) { rel.Count -= item.Quantity; if (rel.Count <= 0) { project.Components.Remove(rel); } } } } } projectService.Commit(); uow.DetachAll(); return(true); }