public ActionResult EditWarehouse(WarehouseModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) return AccessDeniedView(); var warehouse = _shippingService.GetWarehouseById(model.Id); if (warehouse == null) //No warehouse found with the specified id return RedirectToAction("Warehouses"); if (ModelState.IsValid) { var address = _addressService.GetAddressById(warehouse.AddressId) ?? new Core.Domain.Common.Address { CreatedOnUtc = DateTime.UtcNow, }; address = model.Address.ToEntity(address); if (address.Id > 0) _addressService.UpdateAddress(address); else _addressService.InsertAddress(address); warehouse.Name = model.Name; warehouse.AdminComment = model.AdminComment; warehouse.AddressId = address.Id; _shippingService.UpdateWarehouse(warehouse); SuccessNotification(_localizationService.GetResource("Admin.Configuration.Shipping.Warehouses.Updated")); return continueEditing ? RedirectToAction("EditWarehouse", warehouse.Id) : RedirectToAction("Warehouses"); } //If we got this far, something failed, redisplay form //countries model.Address.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Address.SelectCountry"), Value = "0" }); foreach (var c in _countryService.GetAllCountries(true)) model.Address.AvailableCountries.Add(new SelectListItem { Text = c.Name, Value = c.Id.ToString(), Selected = (c.Id == model.Address.CountryId) }); //states var states = model.Address.CountryId.HasValue ? _stateProvinceService.GetStateProvincesByCountryId(model.Address.CountryId.Value, true).ToList() : new List<StateProvince>(); if (states.Count > 0) { foreach (var s in states) model.Address.AvailableStates.Add(new SelectListItem { Text = s.Name, Value = s.Id.ToString(), Selected = (s.Id == model.Address.StateProvinceId) }); } else model.Address.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Address.OtherNonUS"), Value = "0" }); return View(model); }
public ActionResult EditWarehouse(int id) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) return AccessDeniedView(); var warehouse = _shippingService.GetWarehouseById(id); if (warehouse == null) //No warehouse found with the specified id return RedirectToAction("Warehouses"); var address = _addressService.GetAddressById(warehouse.AddressId); var model = new WarehouseModel { Id = warehouse.Id, Name = warehouse.Name, AdminComment = warehouse.AdminComment }; if (address != null) { model.Address = address.ToModel(); } //countries model.Address.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Address.SelectCountry"), Value = "0" }); foreach (var c in _countryService.GetAllCountries(true)) model.Address.AvailableCountries.Add(new SelectListItem { Text = c.Name, Value = c.Id.ToString(), Selected = (address != null && c.Id == address.CountryId) }); //states var states = address != null && address.Country != null ? _stateProvinceService.GetStateProvincesByCountryId(address.Country.Id, true).ToList() : new List<StateProvince>(); if (states.Count > 0) { foreach (var s in states) model.Address.AvailableStates.Add(new SelectListItem { Text = s.Name, Value = s.Id.ToString(), Selected = (s.Id == address.StateProvinceId) }); } else model.Address.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Address.OtherNonUS"), Value = "0" }); model.Address.CountryEnabled = true; model.Address.StateProvinceEnabled = true; model.Address.CityEnabled = true; model.Address.StreetAddressEnabled = true; model.Address.ZipPostalCodeEnabled = true; model.Address.ZipPostalCodeRequired = true; model.Address.PhoneEnabled = true; return View(model); }
public ActionResult CreateWarehouse() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) return AccessDeniedView(); var model = new WarehouseModel(); model.Address.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Address.SelectCountry"), Value = "0" }); foreach (var c in _countryService.GetAllCountries(true)) model.Address.AvailableCountries.Add(new SelectListItem { Text = c.Name, Value = c.Id.ToString() }); model.Address.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Address.OtherNonUS"), Value = "0" }); model.Address.CountryEnabled = true; model.Address.StateProvinceEnabled = true; model.Address.CityEnabled = true; model.Address.StreetAddressEnabled = true; model.Address.ZipPostalCodeEnabled = true; model.Address.ZipPostalCodeRequired = true; model.Address.PhoneEnabled = true; return View(model); }
public ActionResult Warehouses(DataSourceRequest command) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) return AccessDeniedView(); var warehousesModel = _shippingService.GetAllWarehouses() .Select(x => { var warehouseModel = new WarehouseModel { Id = x.Id, Name = x.Name //ignore address for list view (performance optimization) }; return warehouseModel; }) .ToList(); var gridModel = new DataSourceResult { Data = warehousesModel, Total = warehousesModel.Count }; return Json(gridModel); }
public ActionResult CreateWarehouse(WarehouseModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) return AccessDeniedView(); if (ModelState.IsValid) { var address = model.Address.ToEntity(); address.CreatedOnUtc = DateTime.UtcNow; _addressService.InsertAddress(address); var warehouse = new Warehouse { Name = model.Name, AdminComment = model.AdminComment, AddressId = address.Id }; _shippingService.InsertWarehouse(warehouse); SuccessNotification(_localizationService.GetResource("Admin.Configuration.Shipping.Warehouses.Added")); return continueEditing ? RedirectToAction("EditWarehouse", new { id = warehouse.Id }) : RedirectToAction("Warehouses"); } //If we got this far, something failed, redisplay form //countries model.Address.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Address.SelectCountry"), Value = "0" }); foreach (var c in _countryService.GetAllCountries(showHidden: true)) model.Address.AvailableCountries.Add(new SelectListItem { Text = c.Name, Value = c.Id.ToString(), Selected = (c.Id == model.Address.CountryId) }); //states var states = model.Address.CountryId.HasValue ? _stateProvinceService.GetStateProvincesByCountryId(model.Address.CountryId.Value, showHidden: true).ToList() : new List<StateProvince>(); if (states.Any()) { foreach (var s in states) model.Address.AvailableStates.Add(new SelectListItem { Text = s.Name, Value = s.Id.ToString(), Selected = (s.Id == model.Address.StateProvinceId) }); } else model.Address.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Address.OtherNonUS"), Value = "0" }); return View(model); }
public ActionResult Warehouses(GridCommand command) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) return AccessDeniedView(); var warehousesModel = _shippingService.GetAllWarehouses() .Select(x => { var warehouseModel = new WarehouseModel() { Id = x.Id, Name = x.Name //ignore address for list view (performance optimization) }; return warehouseModel; }) .ForCommand(command) .ToList(); var model = new GridModel<WarehouseModel> { Data = warehousesModel, Total = warehousesModel.Count }; return new JsonResult { Data = model }; }