Пример #1
0
        public ActionResult RefreshRetailers(string filter, int pageNumber)
        {
            if (!string.IsNullOrEmpty(filter))
            {
                //verify zip code
                List <RetailModel> listRetailers = new List <RetailModel>();
                var model = new WhereToBuyModel();

                if (isFilterByZipCode(filter))
                {
                    model.RetailList   = RetailManager.GetByZipCode(this.Session, filter, false, pageNumber, PAGE_SIZE);
                    model.SearchByDesc = "Zip Code";
                }
                else if (isFilterByCityAndState(filter))
                {
                    var    splitString = filter.Split(',');
                    string city        = splitString[0];
                    string state       = splitString[1];

                    model.RetailList = RetailManager.GetByCityAndState(this.Session, city, state, false, pageNumber, PAGE_SIZE);
                }
                model.SearchByValue = filter;

                return(PartialView(PathFromView("Partials/WhereToBuy/_DealersPartial"), model));
            }
            return(new EmptyResult());
        }
Пример #2
0
        public ActionResult SearchRetailers(string filter)
        {
            if (!string.IsNullOrEmpty(filter))
            {
                //verify zip code
                int pageNum = 1;
                List <RetailModel> listRetailers = new List <RetailModel>();
                var model = new WhereToBuyModel();

                if (isFilterByZipCode(filter))
                {
                    model.RetailList   = RetailManager.GetByZipCode(this.Session, filter, false, pageNum, PAGE_SIZE);
                    model.DiamondList  = RetailManager.GetByZipCode(this.Session, filter, true, pageNum, DIAMOND_PAGE_SIZE);
                    model.SearchByDesc = "Zip Code";
                }
                else
                {
                    var locator = new GeoLocator(filter);

                    Task.Run(() => locator.Locate()).Wait();

                    string city  = locator.City;
                    string state = locator.State;

                    model.RetailList  = RetailManager.GetByCityAndState(this.Session, city, state, false, pageNum, PAGE_SIZE);
                    model.DiamondList = RetailManager.GetByCityAndState(this.Session, city, state, true, pageNum, DIAMOND_PAGE_SIZE);
                }

                model.SearchByValue = filter;

                return(RenderMultipleViews(new List <RenderViewInfo>()
                {
                    new RenderViewInfo()
                    {
                        ViewName = "retailersView", ViewPath = "~/Views/Partials/WhereToBuy/_DealersPartial.cshtml", Model = model
                    },
                    new RenderViewInfo()
                    {
                        ViewName = "diamondsView", ViewPath = "~/Views/Partials/WhereToBuy/_DiamondDealersPartial.cshtml", Model = model
                    }
                }));
            }
            return(new EmptyResult());
        }
        public void GetRequiredStocksTest()
        {
            Mock <IStockOrderManager> mockStockOrderManager = new Mock <IStockOrderManager>();
            List <StockOrder>         stockOrderList        = new List <StockOrder>()
            {
                new StockOrder()
                {
                    StockType = ProductType.Ammeter, Quantity = 6
                },
                new StockOrder()
                {
                    StockType = ProductType.Voltmeter, Quantity = 3
                },
                new StockOrder()
                {
                    StockType = ProductType.Ammeter, Quantity = 4
                },
                new StockOrder()
                {
                    StockType = ProductType.Caliper, Quantity = 5
                },
                new StockOrder()
                {
                    StockType = ProductType.Gauge, Quantity = 1
                }
            };

            mockStockOrderManager.Setup(fn => fn.RetreiveOrdersByDate(It.IsAny <DateTime>())).Returns(
                stockOrderList);

            RetailManager retailManager = new RetailManager(mockStockOrderManager.Object);

            List <StockOrderLevels> actualStockOrderLevels   = retailManager.GetRequiredStocks(DateTime.Now);
            List <StockOrderLevels> expectedStockOrderLevels = stockOrderList.GroupBy(g => g.StockType).Select(grp => new StockOrderLevels()
            {
                stockType = grp.Key, quantity = grp.Sum(s => s.Quantity)
            }).ToList();

            Assert.AreEqual(expectedStockOrderLevels.Count, actualStockOrderLevels.Count);
        }
Пример #4
0
        public ActionResult RefreshIntRetailers(string countryCode, int pageNumber)
        {
            if (!string.IsNullOrEmpty(countryCode))
            {
                ViewBag.Scripts = new List <string>()
                {
                    "where_to_buy.js"
                };

                var model = new WhereToBuyIntlModel();
                model.Countries = CountryManager.GetCountries();

                model.RetailList   = RetailManager.FindByCountry(this.CurrentBrand, countryCode, pageNumber, PAGE_SIZE);
                model.SearchByDesc = model.Countries.Find(x => x.Code.ToLower().Equals(countryCode.ToLower())).Name;

                ViewBag.Title       = model.RetailList.Seo.PageTitle;
                ViewBag.Description = model.RetailList.Seo.PageDescription;

                return(PartialView(PathFromView("Partials/WhereToBuy/_DealersIntlPartial"), model));
            }
            return(new EmptyResult());
        }
Пример #5
0
        // GET: WhereToBuyIntl
        //[Route("where-to-buy-intl")]
        public ActionResult WhereToBuyIntl(string countryCode)
        {
            countryCode = countryCode.ToUpper();

            ViewBag.Scripts = new List <string>()
            {
                "where_to_buy.js"
            };

            var model = new WhereToBuyIntlModel();

            model.Countries = CountryManager.GetCountries();

            model.RetailList   = RetailManager.FindByCountry(this.CurrentBrand, countryCode, 1, PAGE_SIZE);
            model.SearchByDesc = model.Countries.Find(x => x.Code.Equals(countryCode)).Name;

            ViewBag.HasGoogleMaps = true;

            ViewBag.Title       = model.RetailList.Seo.PageTitle;
            ViewBag.Description = model.RetailList.Seo.PageDescription;

            return(View(PathFromView("WhereToBuyIntl"), model));
        }
Пример #6
0
        public ActionResult Index()
        {
            this.FillSeoInformation("Where To Buy");

            ViewBag.Scripts = new List <string>()
            {
                "where_to_buy.js"
            };

            var model = new WhereToBuyModel();

            model.Countries = CountryManager.GetCountries();

            model.AllRetailList = RetailManager.GetByBrand(this.CurrentBrand);
            if (model.AllRetailList.Retailers != null)
            {
                //sort random
                model.AllRetailList.Retailers = model.AllRetailList.Retailers.OrderBy(x => Guid.NewGuid()).Take(12).ToList();
            }

            ViewBag.HasGoogleMaps = true;
            return(View(PathFromView("WhereToBuy"), model));
        }