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));
        }
示例#2
0
 private void SaveAddress(StoreUpModel model)
 {
     if (model.AddressId <= EntityConstants.NO_VALUE)
     {
         model.AddressId = _repositoryAddress.Add(model.AddressRes);
     }
     else
     {
         _repositoryAddress.Update(model.AddressId, model.AddressRes);
     }
 }
        public void Update(StoreUpModel model)
        {
            var franchiseStore = DbEntities.FranchiseStore.Single(e => e.FranchiseStoreId == model.FranchiseStoreId);

            franchiseStore.AddressId                = model.AddressId;
            franchiseStore.FranchiseId              = model.FranchiseId;
            franchiseStore.Name                     = model.Name;
            franchiseStore.UserIdUpd                = model.UserInsUpId;
            franchiseStore.DatetimeUpd              = DateTime.Today;
            franchiseStore.IsObsolete               = false;
            franchiseStore.WsAddress                = model.WsAddress;
            franchiseStore.ManageUserId             = model.ManUserId;
            franchiseStore.StoreEmail               = model.StoreEmail;
            franchiseStore.HasSendEmailWhenNewOrder = model.HasSendEmailWhenNewOrder;
            DbEntities.SaveChanges();
        }
示例#4
0
        public ResponseMessageModel Save(StoreUpModel model)
        {
            var response = new ResponseMessageModel();

            if (model.FranchiseStoreId <= EntityConstants.NO_VALUE)
            {
                SaveAddress(model);
                _repositoryStore.Add(model);
            }
            else
            {
                SaveAddress(model);
                _repositoryStore.Update(model);
            }

            return(response);
        }
        public ActionResult DoUpsert(StoreUpModel model)
        {
            try
            {
                if (ModelState.IsValid == false)
                {
                    return(Json(new ResponseMessageModel
                    {
                        HasError = true,
                        Title = ResShared.TITLE_REGISTER_FAILED,
                        Message = ResShared.ERROR_INVALID_MODEL
                    }));
                }

                using (var service = new StoreSettingService())
                {
                    var response = service.ValidateModel(model);

                    if (response.HasError)
                    {
                        response.Title = ResShared.TITLE_REGISTER_FAILED;
                        return(Json(response));
                    }

                    model.UserInsUpId = User.Identity.GetUserId();
                    response          = service.Save(model);

                    if (response.HasError)
                    {
                        response.Title = ResShared.TITLE_REGISTER_FAILED;
                    }

                    return(Json(response));
                }
            }
            catch (Exception ex)
            {
                SharedLogger.LogError(ex);
                return(Json(new ResponseMessageModel
                {
                    HasError = true,
                    Title = ResShared.TITLE_REGISTER_FAILED,
                    Message = ResShared.ERROR_UNKOWN
                }));
            }
        }
        public void Add(StoreUpModel model)
        {
            var franchiseStore = new FranchiseStore
            {
                AddressId                = model.AddressId,
                FranchiseId              = model.FranchiseId,
                Name                     = model.Name,
                UserIdIns                = model.UserInsUpId,
                DatetimeIns              = DateTime.Today,
                IsObsolete               = false,
                WsAddress                = model.WsAddress,
                ManageUserId             = model.ManUserId,
                StoreEmail               = model.StoreEmail,
                HasSendEmailWhenNewOrder = model.HasSendEmailWhenNewOrder
            };

            DbEntities.FranchiseStore.Add(franchiseStore);
            DbEntities.SaveChanges();
        }
示例#7
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);
        }