public IViewComponentResult Invoke(string active = "main") { var warehouses = _shippingService.GetActiveWarehouses(); var activeWarehouse = warehouses.FirstOrDefault(x => x.City?.ToLower() == active?.ToLower() || _localizationService.GetLocalized(x, u => u.City)?.ToLower() == active?.ToLower()); if (activeWarehouse != null) { ViewBag.Active = _localizationService.GetLocalized(activeWarehouse, c => c.City); } else { ViewBag.Active = active; } var viewWarehouseModelList = new List <ViewWarehouseModel>(); warehouses.ToList().ForEach(x => { viewWarehouseModelList.Add(new ViewWarehouseModel() { Id = x.Id, Name = _localizationService.GetLocalized(x, u => u.Name), WorkTime = _localizationService.GetLocalized(x, u => u.WorkTime), WarehouseDescription = _localizationService.GetLocalized(x, u => u.WarehouseDescription), StreetAddress = _localizationService.GetLocalized(x, u => u.StreetAddress), Phone = _localizationService.GetLocalized(x, u => u.Phone), City = _localizationService.GetLocalized(x, u => u.City) }); }); WarehouseInfoModel model = new WarehouseInfoModel { Cities = warehouses .Where(x => x.City != null) .Select(x => new LocalizedCityModel() { City = x.City, LocalizedCity = _localizationService.GetLocalized(x, u => u.City) }).DistinctBy(x => x.City), Warehouses = viewWarehouseModelList }; return(View(model)); }
public virtual IActionResult OurStores() { var warehouses = _shippingService.GetActiveWarehouses(); var viewWarehouseModelList = new List <ViewWarehouseModel>(); warehouses.ToList().ForEach(x => { viewWarehouseModelList.Add(new ViewWarehouseModel() { Id = x.Id, Name = _localizationService.GetLocalized(x, u => u.Name), WorkTime = _localizationService.GetLocalized(x, u => u.WorkTime), WarehouseDescription = _localizationService.GetLocalized(x, u => u.WarehouseDescription), StreetAddress = _localizationService.GetLocalized(x, u => u.StreetAddress), Phone = _localizationService.GetLocalized(x, u => u.Phone), City = _localizationService.GetLocalized(x, u => u.City), Latitude = x.Latitude, Longitude = x.Longitude, Pictures = _shippingService.GetWarehousePictures(x.Id).Select(u => new ViewWarehouseModel.WarehousePicture() { PictureUrl = _pictureService.GetPictureUrl(u.PictureId) }).ToList() }); }); viewWarehouseModelList.Where(x => x.Pictures.Count == 0).ToList().ForEach(x => { x.Pictures.Add(new ViewWarehouseModel.WarehousePicture() { PictureUrl = _pictureService.GetPictureUrl(0) }); }); WarehouseInfoModel model = new WarehouseInfoModel { Warehouses = viewWarehouseModelList }; ViewBag.GoogleMapsApiKey = _shippingSettings.GoogleMapsApiKey; return(View(model)); }