protected void UmbracoDefaultBeforeRequestInit(object sender, RequestInitEventArgs e) { try { //Domain.Core.Initialize.Init(); } catch (Exception) { //throw; } try { var currentNode = Node.GetCurrent(); if (ProductVariant.IsAlias(currentNode.NodeTypeAlias)) { var product = DomainHelper.GetProductById(currentNode.Parent.Id); if (product != null) { HttpContext.Current.Response.RedirectPermanent(product.NiceUrl(), true); } } else if (Product.IsAlias(currentNode.NodeTypeAlias)) { var product = DomainHelper.GetProductById(currentNode.Id); if (product != null) { HttpContext.Current.Response.RedirectPermanent(product.NiceUrl(), true); } } else if (Category.IsAlias(currentNode.NodeTypeAlias)) { var category = DomainHelper.GetCategoryById(currentNode.Id); if (category != null) { HttpContext.Current.Response.RedirectPermanent(/* todo nicer */ RazorExtensions.ExtensionMethods.NiceUrl(category), true); } } } // ReSharper disable once EmptyGeneralCatchClause catch (Exception) { // intentionally left empty, because Umbraco will serve a 404 } }
private static void UmbracoDefaultAfterRequestInit(object sender, RequestInitEventArgs e) { var currentMember = Membership.GetUser(); var currentorder = UwebshopRequest.Current.OrderInfo ?? OrderHelper.GetOrder(); var orderRepository = IO.Container.Resolve <IOrderRepository>(); if (currentorder != null && (currentMember != null && currentorder.CustomerInfo.LoginName != currentMember.UserName)) { orderRepository.SetCustomer(currentorder.UniqueOrderId, currentMember.UserName); currentorder.CustomerInfo.LoginName = currentMember.UserName; if (currentMember.ProviderUserKey != null) { orderRepository.SetCustomerId(currentorder.UniqueOrderId, (int)currentMember.ProviderUserKey); currentorder.CustomerInfo.CustomerId = (int)currentMember.ProviderUserKey; } currentorder.ResetDiscounts(); currentorder.Save(); } if (currentorder != null && currentMember == null && !string.IsNullOrEmpty(currentorder.CustomerInfo.LoginName)) { orderRepository.SetCustomer(currentorder.UniqueOrderId, string.Empty); currentorder.CustomerInfo.LoginName = string.Empty; orderRepository.SetCustomerId(currentorder.UniqueOrderId, 0); currentorder.CustomerInfo.CustomerId = 0; currentorder.ResetDiscounts(); currentorder.Save(); } var cookie = HttpContext.Current.Request.Cookies["StoreInfo"]; if (cookie != null) { if (currentMember != null && !string.IsNullOrEmpty(cookie["Wishlist"])) { var wishlistId = cookie["Wishlist"]; Guid wishGuid; Guid.TryParse(wishlistId, out wishGuid); if (wishGuid != default(Guid) || wishGuid != Guid.Empty) { var wishlist = OrderHelper.GetOrder(wishGuid); wishlist.CustomerInfo.LoginName = currentMember.UserName; var userKey = 0; if (currentMember.ProviderUserKey != null) { int.TryParse(currentMember.ProviderUserKey.ToString(), out userKey); if (userKey != 0) { wishlist.CustomerInfo.CustomerId = userKey; } } var wishlistName = "Wishlist"; var wishlistCount = Customers.GetWishlists(currentMember.UserName).Count() + 1; wishlist.Name = string.Format("{0}{1}", wishlistName, wishlistCount); wishlist.Save(); cookie.Values.Remove("Wishlist"); } } } var paymentProvider = UwebshopRequest.Current.PaymentProvider; if (paymentProvider != null) { new PaymentRequestHandler().HandleuWebshopPaymentRequest(paymentProvider); Log.Instance.LogDebug("UmbracoDefaultAfterRequestInit paymentProvider: " + paymentProvider.Name); var paymentProviderTemplate = paymentProvider.Node.template; ((UmbracoDefault)sender).MasterPageFile = template.GetMasterPageName(paymentProviderTemplate); return; } // todo: ombouwen naar UwebshopRequest.Current.Category, UwebshopRequest.Current lostrekken (ivm speed) var currentCategoryId = HttpContext.Current.Request["resolvedCategoryId"]; var currentProductId = HttpContext.Current.Request["resolvedProductId"]; if (!string.IsNullOrEmpty(currentCategoryId)) //string.IsNullOrEmpty(currentProductUrl)) { int categoryId; if (!int.TryParse(currentCategoryId, out categoryId)) { return; } var categoryFromUrl = DomainHelper.GetCategoryById(categoryId); if (categoryFromUrl == null) { return; } if (categoryFromUrl.Disabled) { HttpContext.Current.Response.StatusCode = 404; HttpContext.Current.Response.Redirect(library.NiceUrl(int.Parse(GetCurrentNotFoundPageId())), true); return; } if (Access.HasAccess(categoryFromUrl.Id, categoryFromUrl.GetUmbracoPath(), Membership.GetUser())) { if (categoryFromUrl.Template != 0) { //umbraco.cms.businesslogic.template.Template.GetTemplate(currentCategory.Template).TemplateFilePath ((UmbracoDefault)sender).MasterPageFile = template.GetMasterPageName(categoryFromUrl.Template); //// get the template //var t = template.GetMasterPageName(currentCategory.Template); //// you did this and it works pre-4.10, right? //page.MasterPageFile = t; //// now this should work starting with 4.10 //e.Page.Template = t; } var altTemplate = HttpContext.Current.Request["altTemplate"]; if (!string.IsNullOrEmpty(altTemplate)) { var altTemplateId = umbraco.cms.businesslogic.template.Template.GetTemplateIdFromAlias(altTemplate); if (altTemplateId != 0) { ((UmbracoDefault)sender).MasterPageFile = template.GetMasterPageName(altTemplateId); } } } else { if (HttpContext.Current.User.Identity.IsAuthenticated) { HttpContext.Current.Response.Redirect(library.NiceUrl(Access.GetErrorPage(categoryFromUrl.GetUmbracoPath())), true); } HttpContext.Current.Response.Redirect(library.NiceUrl(Access.GetLoginPage(categoryFromUrl.GetUmbracoPath())), true); } } else if (!string.IsNullOrEmpty(currentProductId)) // else { int productId; if (!int.TryParse(currentProductId, out productId)) { return; } var productFromUrl = DomainHelper.GetProductById(productId); if (productFromUrl == null) { return; } if (Access.HasAccess(productFromUrl.Id, productFromUrl.Path(), Membership.GetUser())) { if (productFromUrl.Template != 0) { ((UmbracoDefault)sender).MasterPageFile = template.GetMasterPageName(productFromUrl.Template); } var altTemplate = HttpContext.Current.Request["altTemplate"]; if (!string.IsNullOrEmpty(altTemplate)) { var altTemplateId = umbraco.cms.businesslogic.template.Template.GetTemplateIdFromAlias(altTemplate); if (altTemplateId != 0) { ((UmbracoDefault)sender).MasterPageFile = template.GetMasterPageName(altTemplateId); } } } else { if (HttpContext.Current.User.Identity.IsAuthenticated) { HttpContext.Current.Response.Redirect(library.NiceUrl(Access.GetErrorPage(productFromUrl.Path())), true); } HttpContext.Current.Response.Redirect(library.NiceUrl(Access.GetLoginPage(productFromUrl.Path())), true); } } }