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));
        }
Exemplo n.º 2
0
        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);
        }