Example #1
0
        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"));
            }
        }