public ActionResult Edit(ClienteViewModel model) { var pessoa = Mapper.Map <PessoaViewModel, Pessoa>(model.Pessoa); pessoa.CEP = pessoa.CEP.Replace("-", ""); if (ModelState.IsValid) { try { if (pessoa.TipoPessoa == "Física") { pessoa.PessoaJuridica = null; var pessoaF = Mapper.Map <PessoaFisicaViewModel, PessoaFisica>(model.Pessoa.PessoaFisica); _pessoaFisicaService.Update(pessoaF); } if (pessoa.TipoPessoa == "Jurídica") { pessoa.PessoaFisica = null; var pessoaJ = Mapper.Map <PessoaJuridicaViewModel, PessoaJuridica>(model.Pessoa.PessoaJuridica); _pessoaJuridicaService.Update(pessoaJ); } _pessoaService.Update(pessoa); return(RedirectToAction("Index").Mensagem("Cliente alterado com sucesso!", "Editar Cliente")); } catch (Exception e) { return(View(model).Mensagem(e.Message, "ERRO:")); } } else { return(View(model)); } }
public ActionResult Edit(PessoaFisicaViewModel pessoaFisica) { if (ModelState.IsValid) { var pessoaDomain = Mapper.Map <PessoaFisicaViewModel, PessoaFisica>(pessoaFisica); _pessoaFisicaApp.Update(pessoaDomain); return(RedirectToAction("Index")); } return(View(pessoaFisica)); }
// PUT: api/PessoaFisica/5 public void Put(PessoaFisicaViewModel pessoaFisicaVM) { var date = DateTime.ParseExact(pessoaFisicaVM.DtNascimento, "dd/MM/yyyy", CultureInfo.InvariantCulture); var pessoaFisica = _pessoaFisicaApp.GetById(Convert.ToInt32(pessoaFisicaVM.Id)); pessoaFisica.Nome = pessoaFisicaVM.Nome; pessoaFisica.Cpf = new Cpf(pessoaFisicaVM.Cpf); pessoaFisica.DtNascimento = date; _pessoaFisicaApp.Update(pessoaFisica); }
public ActionResult Edit(ClienteViewModel clienteViewModel) { try { //Se é cadastro de pessoa física if (clienteViewModel.TipoPessoa == TipoPessoa.Física) { //Remove os campos de pessoa jurídica da validação do model ModelState.Remove("CNPJ"); ModelState.Remove("NomeFantasia"); ModelState.Remove("RazaoSocial"); } //Se é cadastro de pessoa jurídica else { //Remove os campos de pessoa física da validação do model ModelState.Remove("CPF"); ModelState.Remove("DataNasc"); ModelState.Remove("Nome"); ModelState.Remove("Sobrenome"); } //Se o model é válido if (ModelState.IsValid) { //Preenche o modelo de acordo com o tipo de pessoa if (clienteViewModel.TipoPessoa == TipoPessoa.Física) { //Utilizando AutoMapper para atribuição dos dados da viewmodel para o model var config = new MapperConfiguration(cfg => { cfg.CreateMap <ClienteViewModel, PessoaFisica>() .ForMember(p => p.CPF, map => map.UseValue(Regex.Replace(clienteViewModel.CPF, "[^0-9]", ""))); }); //Regex para persistir somente números var pessoaFisica = config.CreateMapper().Map <ClienteViewModel, PessoaFisica>(clienteViewModel); //Preenche as viewbags dos dropdownlists LoadViewBags(pessoaFisica.Cidade); //Efetua o update _pessoaFisicaApp.Update(pessoaFisica); } else { var config = new MapperConfiguration(cfg => { cfg.CreateMap <ClienteViewModel, PessoaJuridica>() .ForMember(p => p.CNPJ, map => map.UseValue(Regex.Replace(clienteViewModel.CNPJ, "[^0-9]", ""))); }); //Regex para persistir somente números var pessoaJuridica = config.CreateMapper().Map <ClienteViewModel, PessoaJuridica>(clienteViewModel); LoadViewBags(pessoaJuridica.Cidade); //Efetua o update _pessoaJuridicaApp.Update(pessoaJuridica); } //Retorna para a view index return(RedirectToAction("Index")); } return(View(clienteViewModel)); } catch (Exception ex) { throw ex; } }