コード例 #1
0
        /// <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;
            }
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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);
            }
        }