public ActionResult Upsert(int?id) { StoreUpModel model = null; try { using (var repository = new StoreRepository()) { if (id.HasValue) { model = repository.FindModelById(id.Value); } else { model = new StoreUpModel { FranchiseStoreId = EntityConstants.NULL_VALUE }; } ViewBag.LstFranchises = JsonConvert.SerializeObject(repository.GetFranchises()); ViewBag.LastRegion = FactoryAddress.GetRegionChildByZipCode(); ViewBag.RegionsEnabled = JsonConvert.SerializeObject(FactoryAddress.GetAddressHierarchyOrderById()); ViewBag.RegionLang = JsonConvert.SerializeObject(SettingsData.Constants.AddressUpsertSetting); ViewBag.ManagerStoreUsers = JsonConvert.SerializeObject(new AccountRepository(repository.Db).GetManagerStoreUsers()); ViewBag.Address = JsonConvert.SerializeObject(model.Address); model.Address = null; ViewBag.Model = JsonConvert.SerializeObject(model); } } catch (Exception ex) { SharedLogger.LogError(ex, id); } return(View(model)); }
public ResponseMessageModel ValidateModel(StoreUpModel model) { var response = new ResponseMessageModel { HasError = true }; if (_repositoryStore.IsFranchiseValidById(model.FranchiseId) == false) { response.Message = "La franquicia no es válida"; return(response); } if (_repositoryStore.IsValidManagerStoreUserId(model.ManUserId) == false) { response.Message = "El usuario no tiene el perfil necesario, no es válido o no existe"; return(response); } var address = model.Address; if (address == null) { response.Message = "No se ha definido la dirección"; return(response); } var regionChild = FactoryAddress.GetRegionChildByZipCode(); AddressModel addressRes = null; switch (regionChild) { case AddressConstants.REGION_A: { addressRes = _repositoryStore.IsValidRegionA(address.RegionArId); break; } case AddressConstants.REGION_B: { addressRes = _repositoryStore.IsValidRegionB(address.RegionBrId); break; } case AddressConstants.REGION_C: { addressRes = _repositoryStore.IsValidRegionC(address.RegionCrId); break; } case AddressConstants.REGION_D: { addressRes = _repositoryStore.IsValidRegionD(address.RegionDrId); break; } } if (addressRes == null) { response.Message = "La dirección no es correcta debido a la configuración"; return(response); } addressRes.MainAddress = address.MainAddress; addressRes.NumExt = address.NumExt; addressRes.Reference = address.Reference; model.AddressRes = addressRes; response.HasError = false; return(response); }