public ActionResult Alterar(long id) { BoBeneficiarios bo = new BoBeneficiarios(); Beneficiarios Beneficiario = bo.Consultar(id); Models.BeneficiarioModel model = null; if (Beneficiario != null) { model = new BeneficiarioModel() { Id = Beneficiario.Id, CPF = Beneficiario.CPF, Nome = Beneficiario.Nome, IdCliente = Beneficiario.IdCliente }; } return(View(model)); }
public JsonResult Alterar(ClienteModel model) { BoCliente bo = new BoCliente(); BoBeneficiarios boBen = new BoBeneficiarios(); if (!this.ModelState.IsValid) { List <string> erros = (from item in ModelState.Values from error in item.Errors select error.ErrorMessage).ToList(); Response.StatusCode = 400; return(Json(string.Join(Environment.NewLine, erros))); } else { var oCliente = bo.Consultar(model.Id); bool invalido = false; string msg = ""; if (bo.VerificarExistencia(model.CPF) && oCliente.CPF != model.CPF) { msg = string.Join(Environment.NewLine, string.Format("CPF:{0} já cadastrado!", model.CPF)); invalido = true; } if (!CpfCnpjUtils.IsValid(model.CPF)) { msg = string.Join(Environment.NewLine, string.Format("CPF:{0} invalido!", model.CPF)); invalido = true; } if (invalido) { Response.StatusCode = 400; return(Json(msg)); } bo.Alterar(new Cliente() { Id = model.Id, CEP = model.CEP, Cidade = model.Cidade, Email = model.Email, Estado = model.Estado, Logradouro = model.Logradouro, Nacionalidade = model.Nacionalidade, Nome = model.Nome, Sobrenome = model.Sobrenome, Telefone = model.Telefone, CPF = model.CPF }); var listaBeneficiadosExcluidos = new List <Benificiario>(); var listaBeneficiados = boBen.Consultar(model.Id); if (model.Benficiarios != null) { foreach (var item in model.Benficiarios) { if (!CpfCnpjUtils.IsValid(item.CPF)) { msg = string.Join(Environment.NewLine, string.Format("CPF:{0} invalido!", item.CPF)); invalido = true; } if (model.Benficiarios.Count(c => c.CPF == item.CPF) > 1) { msg = string.Join(Environment.NewLine, string.Format("CPF:{0} já cadastrado!", item.CPF)); invalido = true; } } if (invalido) { Response.StatusCode = 400; return(Json(msg)); } listaBeneficiadosExcluidos = listaBeneficiados.Where(w => !model.Benficiarios.Select(s => s.CPF).Contains(w.CPF)).ToList(); foreach (var item in model.Benficiarios) { var oBeneficiado = listaBeneficiados.FirstOrDefault(w => w.CPF == item.CPF); if (oBeneficiado == null) { boBen.Incluir(new Benificiario() { CPF = item.CPF, Nome = item.Nome, IdCliente = model.Id }); } else { oBeneficiado.CPF = item.CPF; oBeneficiado.Nome = item.Nome; oBeneficiado.IdCliente = model.Id; boBen.Alterar(oBeneficiado); } } } else { listaBeneficiadosExcluidos = listaBeneficiados; } foreach (var item in listaBeneficiadosExcluidos) { boBen.Excluir(item.Id); } return(Json("Cadastro alterado com sucesso")); } }