/// <summary> /// szállítási címek lekérdezése (rendelés szállítási címek választás) /// </summary> /// <param name="request"></param> /// <returns></returns> public CompanyGroup.Dto.PartnerModule.DeliveryAddresses GetDeliveryAddresses(CompanyGroup.Dto.PartnerModule.GetDeliveryAddressesRequest request) { try { CompanyGroup.Dto.PartnerModule.DeliveryAddresses result = new CompanyGroup.Dto.PartnerModule.DeliveryAddresses(); CompanyGroup.Domain.PartnerModule.Visitor visitor = this.GetVisitor(request.VisitorId); if (visitor.IsValidLogin) { List<CompanyGroup.Domain.PartnerModule.DeliveryAddress> deliveryAddresses = customerRepository.GetDeliveryAddress(visitor.CustomerId, request.DataAreaId); result.Items.AddRange(deliveryAddresses.ConvertAll( x => new DeliveryAddressToDeliveryAddress().MapDomainToDto(x) )); } return result; } catch (Exception ex) { throw ex; } }
/// <summary> /// view első betöltődés /// </summary> /// <returns></returns> public ActionResult Index() { //látogató lekérdezése Cms.CommonCore.Models.Visitor visitor = this.GetVisitorInfo(); //struktúrák lekérdezése CompanyGroup.Dto.ServiceRequest.GetAllStructure allStructure = new CompanyGroup.Dto.ServiceRequest.GetAllStructure() { ActionFilter = false, BargainFilter = false, Category1IdList = new List<string>(), Category2IdList = new List<string>(), Category3IdList = new List<string>(), HrpFilter = true, BscFilter = true, IsInNewsletterFilter = false, ManufacturerIdList = new List<string>(), NewFilter = false, StockFilter = false, TextFilter = String.Empty, PriceFilter = "0", PriceFilterRelation = "0", NameOrPartNumberFilter = "" }; CompanyGroup.Dto.WebshopModule.Structures structures = this.PostJSonData<CompanyGroup.Dto.WebshopModule.Structures>("StructureService", "GetAll", allStructure); //katalógus lekérdezése CompanyGroup.Dto.ServiceRequest.GetAllProduct allProduct = new CompanyGroup.Dto.ServiceRequest.GetAllProduct() { ActionFilter = false, BargainFilter = false, Category1IdList = new List<string>(), Category2IdList = new List<string>(), Category3IdList = new List<string>(), Currency = this.ReadCurrencyFromCookie(), CurrentPageIndex = 1, HrpFilter = true, BscFilter = true, IsInNewsletterFilter = false, ItemsOnPage = 30, ManufacturerIdList = new List<string>(), NewFilter = false, Sequence = 0, StockFilter = false, TextFilter = String.Empty, PriceFilter = "0", PriceFilterRelation = "0", VisitorId = visitor.Id, NameOrPartNumberFilter = "" }; CompanyGroup.Dto.WebshopModule.Products products = this.PostJSonData<CompanyGroup.Dto.WebshopModule.Products>("ProductService", "GetAll", allProduct); //banner lista lekérdezése CompanyGroup.Dto.ServiceRequest.GetBannerList bannerListRequest = new CompanyGroup.Dto.ServiceRequest.GetBannerList() { BscFilter = true, HrpFilter = true, Category1IdList = new List<string>(), Category2IdList = new List<string>(), Category3IdList = new List<string>(), Currency = this.ReadCurrencyFromCookie(), VisitorId = visitor.Id }; CompanyGroup.Dto.WebshopModule.BannerList bannerList = this.PostJSonData<CompanyGroup.Dto.WebshopModule.BannerList>("ProductService", "GetBannerList", bannerListRequest); //kosár lekérdezések bool shoppingCartOpenStatus = this.ReadShoppingCartOpenedFromCookie(); bool catalogueOpenStatus = this.ReadCatalogueOpenedFromCookie(); Cms.CommonCore.Models.Response.ShoppingCartInfo cartInfo = Cms.CommonCore.Models.Factory.CreateShoppingCartInfo(); //(visitor.IsValidLogin) ? this.GetCartInfo() : if (visitor.IsValidLogin && !String.IsNullOrEmpty(this.ReadCartIdFromCookie())) { CompanyGroup.Dto.WebshopModule.ShoppingCartInfo shoppingCartInfo = this.PostJSonData<CompanyGroup.Dto.WebshopModule.ShoppingCartInfo>("ShoppingCartService", "GetShoppingCartInfo", new { CartId = this.ReadCartIdFromCookie(), VisitorId = visitor.Id }); cartInfo.ActiveCart = (shoppingCartInfo != null) ? shoppingCartInfo.ActiveCart : cartInfo.ActiveCart; cartInfo.OpenedItems = (shoppingCartInfo != null) ? shoppingCartInfo.OpenedItems : cartInfo.OpenedItems; cartInfo.StoredItems = (shoppingCartInfo != null) ? shoppingCartInfo.StoredItems : cartInfo.StoredItems; cartInfo.LeasingOptions = (shoppingCartInfo != null) ? shoppingCartInfo.LeasingOptions : cartInfo.LeasingOptions; } CompanyGroup.Dto.PartnerModule.DeliveryAddresses deliveryAddresses; if (visitor.IsValidLogin) { CompanyGroup.Dto.ServiceRequest.GetDeliveryAddresses getDeliveryAddresses = new CompanyGroup.Dto.ServiceRequest.GetDeliveryAddresses() { DataAreaId = CatalogueController.DataAreaId, VisitorId = visitor.Id }; deliveryAddresses = this.PostJSonData<CompanyGroup.Dto.PartnerModule.DeliveryAddresses>("CustomerService", "GetDeliveryAddresses", new { DataAreaId = CatalogueController.DataAreaId, VisitorId = visitor.Id }); } else { deliveryAddresses = new CompanyGroup.Dto.PartnerModule.DeliveryAddresses() { Items = new List<CompanyGroup.Dto.PartnerModule.DeliveryAddress>() }; } Cms.Webshop.Models.Catalogue catalogue = new Cms.Webshop.Models.Catalogue(structures, products, visitor, cartInfo.ActiveCart, cartInfo.OpenedItems, cartInfo.StoredItems, shoppingCartOpenStatus, catalogueOpenStatus, deliveryAddresses, bannerList, cartInfo.LeasingOptions); //aktív kosár azonosítójának mentése http cookie-ba if (!String.IsNullOrWhiteSpace(cartInfo.ActiveCart.Id)) { this.WriteCartIdToCookie(cartInfo.ActiveCart.Id); } return View("Index", catalogue); }
public ActionResult Details(string ProductId) { if (String.IsNullOrWhiteSpace(ProductId)) { ProductId = "PGI7BK"; } CompanyGroup.Dto.ServiceRequest.GetAllStructure allStructure = new CompanyGroup.Dto.ServiceRequest.GetAllStructure(); CompanyGroup.Dto.WebshopModule.Structures structures = this.PostJSonData<CompanyGroup.Dto.WebshopModule.Structures>("StructureService", "GetAll", allStructure); CompanyGroup.Dto.ServiceRequest.GetItemByProductId request = new CompanyGroup.Dto.ServiceRequest.GetItemByProductId() { ProductId = ProductId, DataAreaId = CatalogueController.DataAreaId, VisitorId = this.ReadObjectIdFromCookie(), Currency = this.ReadCurrencyFromCookie() }; CompanyGroup.Dto.WebshopModule.Product product = this.PostJSonData<CompanyGroup.Dto.WebshopModule.Product>("ProductService", "GetItemByProductId", request); CompanyGroup.Dto.WebshopModule.CompatibleProducts compatibleProducts = this.PostJSonData<CompanyGroup.Dto.WebshopModule.CompatibleProducts>("ProductService", "GetCompatibleProducts", request); Cms.CommonCore.Models.Visitor visitor = this.GetVisitorInfo(); CompanyGroup.Dto.ServiceRequest.GetBannerList bannerListRequest = new CompanyGroup.Dto.ServiceRequest.GetBannerList() { BscFilter = true, HrpFilter = true, Category1IdList = new List<string>() { product.FirstLevelCategory.Id }, Category2IdList = new List<string>() { product.SecondLevelCategory.Id }, Category3IdList = new List<string>() { product.ThirdLevelCategory.Id }, Currency = this.ReadCurrencyFromCookie(), VisitorId = visitor.Id }; CompanyGroup.Dto.WebshopModule.BannerList bannerList = this.PostJSonData<CompanyGroup.Dto.WebshopModule.BannerList>("ProductService", "GetBannerList", bannerListRequest); //kosár lekérdezések bool shoppingCartOpenStatus = this.ReadShoppingCartOpenedFromCookie(); bool catalogueOpenStatus = this.ReadCatalogueOpenedFromCookie(); Cms.CommonCore.Models.Response.ShoppingCartInfo cartInfo = Cms.CommonCore.Models.Factory.CreateShoppingCartInfo(); //(visitor.IsValidLogin) ? this.GetCartInfo() : if (visitor.IsValidLogin && !String.IsNullOrEmpty(this.ReadCartIdFromCookie())) { CompanyGroup.Dto.WebshopModule.ShoppingCartInfo shoppingCartInfo = this.PostJSonData<CompanyGroup.Dto.WebshopModule.ShoppingCartInfo>("ShoppingCartService", "GetShoppingCartInfo", new { CartId = this.ReadCartIdFromCookie(), VisitorId = visitor.Id }); cartInfo.ActiveCart = (shoppingCartInfo != null) ? shoppingCartInfo.ActiveCart : cartInfo.ActiveCart; cartInfo.OpenedItems = (shoppingCartInfo != null) ? shoppingCartInfo.OpenedItems : cartInfo.OpenedItems; cartInfo.StoredItems = (shoppingCartInfo != null) ? shoppingCartInfo.StoredItems : cartInfo.StoredItems; cartInfo.LeasingOptions = (shoppingCartInfo != null) ? shoppingCartInfo.LeasingOptions : cartInfo.LeasingOptions; } CompanyGroup.Dto.PartnerModule.DeliveryAddresses deliveryAddresses; if (visitor.IsValidLogin) { CompanyGroup.Dto.ServiceRequest.GetDeliveryAddresses getDeliveryAddresses = new CompanyGroup.Dto.ServiceRequest.GetDeliveryAddresses() { DataAreaId = CatalogueController.DataAreaId, VisitorId = visitor.Id }; deliveryAddresses = this.PostJSonData<CompanyGroup.Dto.PartnerModule.DeliveryAddresses>("CustomerService", "GetDeliveryAddresses", new { DataAreaId = CatalogueController.DataAreaId, VisitorId = visitor.Id }); } else { deliveryAddresses = new CompanyGroup.Dto.PartnerModule.DeliveryAddresses() { Items = new List<CompanyGroup.Dto.PartnerModule.DeliveryAddress>() }; } //aktív kosár azonosítójának mentése http cookie-ba if (!String.IsNullOrWhiteSpace(cartInfo.ActiveCart.Id)) { this.WriteCartIdToCookie(cartInfo.ActiveCart.Id); } return View("Details", new Cms.Webshop.Models.CatalogueItem(structures, product, compatibleProducts.Items, compatibleProducts.ReverseItems, visitor, bannerList, cartInfo.ActiveCart, cartInfo.OpenedItems, cartInfo.StoredItems, shoppingCartOpenStatus, catalogueOpenStatus, deliveryAddresses, cartInfo.LeasingOptions)); }
public JsonResult SignInCatalogue([Bind(Prefix = "")] Cms.CommonCore.Models.SignIn request) { try { CompanyGroup.Helpers.DesignByContract.Require((request != null), "SignIn request can not be null!"); CompanyGroup.Helpers.DesignByContract.Require(!String.IsNullOrWhiteSpace(request.Password), "A jelszó megadása kötelező!"); CompanyGroup.Helpers.DesignByContract.Require(!String.IsNullOrWhiteSpace(request.UserName), "A belépési név megadása kötelező!"); //előző belépés azonosítójának mentése string permanentObjectId = this.ReadPermanentIdFromCookie(); //bejelentkezés szervízhívás CompanyGroup.Dto.ServiceRequest.SignIn signIn = new CompanyGroup.Dto.ServiceRequest.SignIn() { DataAreaId = CatalogueController.DataAreaId, IPAddress = this.Request.UserHostAddress, Password = request.Password, UserName = request.UserName }; Cms.CommonCore.Models.Visitor visitor = this.PostJSonData<Cms.CommonCore.Models.Visitor>("CustomerService", "SignIn", signIn); //válaszüzenet összeállítása Cms.CommonCore.Models.Response.ShoppingCartInfo cartInfo = null; CompanyGroup.Dto.PartnerModule.DeliveryAddresses deliveryAddresses = null; bool shoppingCartOpenStatus = this.ReadShoppingCartOpenedFromCookie(); bool catalogueOpenStatus = this.ReadCatalogueOpenedFromCookie(); //nem sikerült a belépés if (!visitor.IsValidLogin) { visitor.ErrorMessage = this.ReadLanguageFromCookie().Equals("hu") ? "A bejelentkezés nem sikerült!" : "Login failed!"; cartInfo = new Cms.CommonCore.Models.Response.ShoppingCartInfo() { ActiveCart = new CompanyGroup.Dto.WebshopModule.ShoppingCart(), OpenedItems = new List<CompanyGroup.Dto.WebshopModule.OpenedShoppingCart>(), StoredItems = new List<CompanyGroup.Dto.WebshopModule.StoredShoppingCart>(), ErrorMessage = "", LeasingOptions = new CompanyGroup.Dto.WebshopModule.LeasingOptions() }; deliveryAddresses = new CompanyGroup.Dto.PartnerModule.DeliveryAddresses() { Items = new List<CompanyGroup.Dto.PartnerModule.DeliveryAddress>() }; } else //sikerült a belépés, http cookie beállítás, ... { CompanyGroup.Helpers.DesignByContract.Require(!String.IsNullOrWhiteSpace(visitor.Id), "A bejelentkezés nem sikerült! (üres azonosító)"); CompanyGroup.Helpers.DesignByContract.Require(!String.IsNullOrWhiteSpace(visitor.CompanyId), "A bejelentkezés nem sikerült! (üres cégazonosító)"); visitor.ErrorMessage = String.Empty; //kosár társítása CompanyGroup.Dto.ServiceRequest.AssociateCart associateRequest = new CompanyGroup.Dto.ServiceRequest.AssociateCart(visitor.Id, permanentObjectId) { Language = this.ReadLanguageFromCookie() }; CompanyGroup.Dto.WebshopModule.ShoppingCartInfo associateCart = this.PostJSonData<CompanyGroup.Dto.WebshopModule.ShoppingCartInfo>("ShoppingCartService", "AssociateCart", associateRequest); //aktív kosár beállítás cartInfo = new Cms.CommonCore.Models.Response.ShoppingCartInfo() { ActiveCart = associateCart.ActiveCart, OpenedItems = associateCart.OpenedItems, StoredItems = associateCart.StoredItems, LeasingOptions = associateCart.LeasingOptions, ErrorMessage = "" }; //szállítási címek deliveryAddresses = this.PostJSonData<CompanyGroup.Dto.PartnerModule.DeliveryAddresses>("CustomerService", "GetDeliveryAddresses", new { DataAreaId = CatalogueController.DataAreaId, VisitorId = visitor.Id }); //visitor adatok http sütibe írása this.WriteCookie(new Cms.CommonCore.Models.VisitorData(visitor.Id, visitor.LanguageId, shoppingCartOpenStatus, catalogueOpenStatus, visitor.Currency, visitor.Id, associateCart.ActiveCart.Id, String.Empty)); } //terméklista lekérdezés CompanyGroup.Dto.ServiceRequest.GetAllProduct allProduct = new CompanyGroup.Dto.ServiceRequest.GetAllProduct() { ActionFilter = false, BargainFilter = false, Category1IdList = new List<string>(), Category2IdList = new List<string>(), Category3IdList = new List<string>(), Currency = visitor.Currency, CurrentPageIndex = 1, HrpFilter = true, BscFilter = true, IsInNewsletterFilter = false, ItemsOnPage = 20, ManufacturerIdList = new List<string>(), NewFilter = false, Sequence = 2, StockFilter = false, TextFilter = "", PriceFilter = "0", PriceFilterRelation = "0", VisitorId = visitor.Id, NameOrPartNumberFilter = "" }; CompanyGroup.Dto.WebshopModule.Products products = this.PostJSonData<CompanyGroup.Dto.WebshopModule.Products>("ProductService", "GetAll", allProduct); return Json(new { Products = products, Visitor = visitor, ActiveCart = cartInfo.ActiveCart, OpenedItems = cartInfo.OpenedItems, StoredItems = cartInfo.StoredItems, ShoppingCartOpenStatus = shoppingCartOpenStatus, CatalogueOpenStatus = catalogueOpenStatus, DeliveryAddresses = deliveryAddresses, LeasingOptions = cartInfo.LeasingOptions }, "application/json; charset=utf-8", System.Text.Encoding.UTF8); } catch (CompanyGroup.Helpers.DesignByContractException ex) { return Json(new { Products = new CompanyGroup.Dto.WebshopModule.Products(), Visitor = new Cms.CommonCore.Models.Visitor() { ErrorMessage = String.Format("A bejelentkezés nem sikerült! ({0} - {1})", ex.Message, ex.StackTrace) }, ActiveCart = new CompanyGroup.Dto.WebshopModule.ShoppingCart(), OpenedItems = new List<CompanyGroup.Dto.WebshopModule.OpenedShoppingCart>(), StoredItems = new List<CompanyGroup.Dto.WebshopModule.StoredShoppingCart>(), ShoppingCartOpenStatus = false, CatalogueOpenStatus = false, DeliveryAddresses = new CompanyGroup.Dto.PartnerModule.DeliveryAddresses(), LeasingOptions = new CompanyGroup.Dto.WebshopModule.LeasingOptions() }, "application/json; charset=utf-8", System.Text.Encoding.UTF8); } catch(Exception ex) { return Json(new { Products = new CompanyGroup.Dto.WebshopModule.Products(), Visitor = new Cms.CommonCore.Models.Visitor() { ErrorMessage = String.Format("A bejelentkezés nem sikerült! ({0} - {1})", ex.Message, ex.StackTrace) }, ActiveCart = new CompanyGroup.Dto.WebshopModule.ShoppingCart(), OpenedItems = new List<CompanyGroup.Dto.WebshopModule.OpenedShoppingCart>(), StoredItems = new List<CompanyGroup.Dto.WebshopModule.StoredShoppingCart>(), ShoppingCartOpenStatus = false, CatalogueOpenStatus = false, DeliveryAddresses = new CompanyGroup.Dto.PartnerModule.DeliveryAddresses(), LeasingOptions = new CompanyGroup.Dto.WebshopModule.LeasingOptions() }, "application/json; charset=utf-8", System.Text.Encoding.UTF8); } }