public JsonResult Alterar(List <Beneficiario> beneficiarios)
        {
            BoBeneficiario bo = new BoBeneficiario();

            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
            {
                foreach (Beneficiario beneficiario in beneficiarios)
                {
                    if (!new BoCliente().ValidaCPF(beneficiario.CPF))
                    {
                        return(Json("CPF inválido"));
                    }
                    if (bo.VerificarExistencia(beneficiario.IdCliente, beneficiario.Id, beneficiario.CPF))
                    {
                        return(Json("CPF já cadastrado para outro beneficiário"));
                    }
                }

                bo.Alterar(beneficiarios);

                return(Json("Cadastro de beneficiários alterado com sucesso"));
            }
        }
        public JsonResult Incluir(BeneficiarioModel model)
        {
            BoBeneficiario bob = new BoBeneficiario();

            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
            {
                if (bob.VerificarExistencia(model.Cpf, model.IdCliente))
                {
                    Response.StatusCode = 400;
                    return(Json("CPF já cadastrado"));
                }

                model.Id = bob.Incluir(new Beneficiario()
                {
                    Nome      = model.Nome,
                    Cpf       = model.Cpf,
                    IdCliente = model.IdCliente
                });

                return(Json("Beneficiario cadastrado com sucesso"));
            }
        }
Пример #3
0
        public JsonResult IncluirBeneficiario(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            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 if (!Util.ValidaCPF(model.CPF))
            {
                Response.StatusCode = 400;
                return(Json(string.Join(Environment.NewLine, "O CPF é inválido!")));
            }
            else if (bo.VerificarExistencia(model.CPF))
            {
                Response.StatusCode = 400;
                return(Json(string.Join(Environment.NewLine, "CPF já cadastrado!")));
            }
            else
            {
                Response.StatusCode = 200;
                return(Json("OK"));
            }
        }
Пример #4
0
        public ActionResult Validar(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            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
            {
                if (bo.VerificarExistencia(model.CPF, model.idCliente))
                {
                    Response.StatusCode = 400;
                    return(Json(string.Join(Environment.NewLine, "CPF já cadastrado na base de dados!")));
                }
                else
                {
                    return(Json("true"));
                }
            }
        }
Пример #5
0
        public JsonResult Validar(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            List <string> erros = new List <string>();

            if (!this.ModelState.IsValid)
            {
                erros.AddRange((from item in ModelState.Values
                                from error in item.Errors
                                select error.ErrorMessage).ToList());
            }
            // Valida CPF
            if (!Validacao.ValidarCPF(model.CPF))
            {
                erros.Add("Digite um CPF válido");
            }
            // Verifica se CPF já existe na base de dados
            else if (bo.VerificarExistencia(model.CPF) != 0)
            {
                erros.Add("CPF do Beneficiário já cadastrado");
            }

            if (erros.Count() > 0)
            {
                Response.StatusCode = 400;
                return(Json(string.Join("</br>", erros.Distinct())));
            }

            var retorno = Json(model);

            return(retorno);
        }
        public JsonResult Alterar(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            if (bo.VerificarExistencia(model.CPF, model.IdCliente, model.Id))
            {
                Response.StatusCode = 400;
                return(Json($"CPF já consta como beneficiario do cliente {model.IdCliente}"));
            }

            if (!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
            {
                bo.Alterar(new Beneficiario()
                {
                    Id        = model.Id,
                    Nome      = model.Nome,
                    CPF       = model.CPF,
                    IdCliente = model.IdCliente
                });

                return(Json(model));
            }
        }
Пример #7
0
        public JsonResult Incluir(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            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
            {
                if (!bo.VerificarExistencia(model.CPF))
                {
                    model.Id = bo.Incluir(new Beneficiario()
                    {
                        IDCLIENTE = model.IDCLIENTE,
                        Nome      = model.Nome,
                        CPF       = model.CPF
                    });

                    return(Json("Cadastro efetuado com sucesso"));
                }
                else
                {
                    return(Json("CPF já cadastrado"));
                }
            }
        }
        public JsonResult Alterar(BeneficiarioModel beneficiario)
        {
            BoBeneficiario bo = new BoBeneficiario();

            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
            {
                if (bo.VerificarExistencia(beneficiario.CPF, beneficiario.IdCliente))
                {
                    Response.StatusCode = 400;
                    return(Json("CPF já cadastrado para esse beneficiário"));
                }

                bo.Alterar(new Beneficiario()
                {
                    Id        = beneficiario.Id,
                    IdCliente = beneficiario.IdCliente,
                    Nome      = beneficiario.Nome,
                    CPF       = beneficiario.CPF
                });

                return(Json("Cadastro alterado com sucesso"));
            }
        }
        public JsonResult Incluir(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            if (bo.VerificarExistencia(model.CPF, model.IdCliente))
            {
                return(Json(string.Join(Environment.NewLine, "CPF já está cadastrado para este cliente")));
            }

            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
            {
                model.Id = bo.Incluir(new Beneficiario()
                {
                    Nome      = model.Nome,
                    IdCliente = model.IdCliente,
                    CPF       = model.CPF.Replace(".", "").Replace("-", "")
                });

                return(Json("Cadastro efetuado com sucesso"));
            }
        }
 public Boolean ValidarCPFBeneficiario(string Cpf, long Idcliente, long IdBeneficiario)
 {
     if (Models.Util.ValidaCPF(Cpf))
     {
         BoBeneficiario boben = new BoBeneficiario();
         if (IdBeneficiario != 0)
         {
             return(!boben.VerificarExistencia(Models.Util.FormataCPF(Cpf), Idcliente, IdBeneficiario));
         }
         else
         {
             return(!boben.VerificarExistencia(Models.Util.FormataCPF(Cpf), Idcliente));
         }
     }
     else
     {
         return(false);
     }
 }
        public JsonResult VerificarCPF(string cpf)
        {
            string         message      = string.Empty;
            BoBeneficiario beneficiario = new BoBeneficiario();

            if (beneficiario.VerificarExistencia(cpf))
            {
                message = "Este CPF já existe no sistema.";
            }
            return(Json(new { message = message }, JsonRequestBehavior.AllowGet));
        }
Пример #12
0
        public JsonResult FindCpfBeneficiario(string cpf)
        {
            BoBeneficiario bo = new BoBeneficiario();

            cpf = Regex.Replace(cpf, "[^0-9a-zA-Z]+", "");

            if (bo.VerificarExistencia(cpf))
            {
                return(Json("CPF do beneficiário já existente na base de dados!", JsonRequestBehavior.AllowGet));
            }

            if (!Validacao.ValidaCPF.IsValidCpf(cpf))
            {
                return(Json("O número do CPF é inválido!", JsonRequestBehavior.AllowGet));
            }

            return(Json("OK", JsonRequestBehavior.AllowGet));
        }
Пример #13
0
        public JsonResult AddBeneficiario(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            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
            {
                try
                {
                    if (!bo.VerificarExistencia(model.CPF))
                    {
                        model.Id = bo.Incluir(new Beneficiario()
                        {
                            Nome = model.Nome,
                            CPF  = model.CPF
                        });

                        return(Json(ClienteMsg.INF0001));
                    }
                    else
                    {
                        throw new Exception(ClienteMsg.EXC0001);
                    }
                }
                catch (Exception ex)
                {
                    Response.StatusCode = 400;

                    List <string> erros = new List <string>();
                    erros.Add(ex.Message);
                    return(Json(string.Join(Environment.NewLine, erros)));
                }
            }
        }
Пример #14
0
        public JsonResult Incluir(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            if (bo.VerificarExistencia(model.CPF, model.IdCliente, model.Id))
            {
                Response.StatusCode = 400;
                return(Json($"CPF já consta como beneficiario do cliente {model.IdCliente}"));
            }

            if (!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 configuration = new MapperConfiguration(c =>
                //{
                //    c.CreateMap<BeneficiarioModel, Beneficiario>();
                //});
                //IMapper mapperClass = configuration.CreateMapper();
                //var beneficiario = mapperClass.Map<BeneficiarioModel, Beneficiario>(model);
                //model.Id = bo.Incluir(beneficiario);


                model.Id = bo.Incluir(new Beneficiario()
                {
                    Nome      = model.Nome,
                    CPF       = model.CPF,
                    IdCliente = model.IdCliente
                });


                return(Json(model));
            }
        }
Пример #15
0
        public JsonResult Alterar(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            List <string> erros = new List <string>();

            if (!this.ModelState.IsValid)
            {
                erros.AddRange((from item in ModelState.Values
                                from error in item.Errors
                                select error.ErrorMessage).ToList());
            }
            // Valida CPF
            if (!Validacao.ValidarCPF(model.CPF))
            {
                erros.Add("Digite um CPF válido");
            }
            // Verifica se CPF já existe na base de dados
            else if (bo.VerificarExistencia(model.CPF) != model.Id)
            {
                erros.Add("CPF já cadastrado para outro beneficiário");
            }
            else
            {
                bo.Alterar(new Beneficiario()
                {
                    Id        = model.Id,
                    CPF       = model.CPF,
                    Nome      = model.Nome,
                    IdCliente = model.IdCliente
                });
            }

            if (erros.Count() > 0)
            {
                Response.StatusCode = 400;
                return(Json(string.Join("</br>", erros.Distinct())));
            }

            return(Json("Cadastro alterado com sucesso"));
        }
        public JsonResult Adicionar(BeneficiarioModel beneficiario)
        {
            BoBeneficiario bo = new BoBeneficiario();

            if (bo.VerificarExistencia(beneficiario.CPF, beneficiario.IdCliente))
            {
                return(Json("CPF já cadastrado para esse beneficiário"));
            }
            List <Beneficiario> beneficiarios = new List <Beneficiario>();

            beneficiarios.Add(new Beneficiario()
            {
                CPF       = beneficiario.CPF,
                IdCliente = beneficiario.IdCliente,
                Nome      = beneficiario.Nome
            });

            beneficiario.Id     = bo.Incluir(beneficiarios).Last();
            Response.StatusCode = 200;
            return(Json(JsonConvert.SerializeObject(beneficiario)));
        }
Пример #17
0
        public JsonResult IncluirBeneficiario(Beneficiario model)
        {
            BoBeneficiario bo        = new BoBeneficiario();
            BoCliente      boCliente = new BoCliente();
            var            cliente   = boCliente.Listar().Where(whe => whe.CPF == model.Id).ToList();

            model.IDCLIENTE = cliente.FirstOrDefault().Id;
            model.Id        = null;
            if (!boCliente.ValidaCPF(model.CPF))
            {
                Response.StatusCode = 400;
                return(Json("Digite um CPF válido."));
            }
            if (bo.VerificarExistencia(model.CPF, model.IDCLIENTE))
            {
                Response.StatusCode = 400;
                return(Json("CPF já cadastrado para este Beneficiário."));
            }
            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
            {
                model.Id = bo.Incluir(new Beneficiario()
                {
                    CPF       = model.CPF,
                    Nome      = model.Nome,
                    IDCLIENTE = model.IDCLIENTE
                });


                return(Json("Cadastro efetuado com sucesso"));
            }
        }
        public ActionResult Incluir(BeneficiarioModel beneficiario)
        {
            BoBeneficiario bo = new BoBeneficiario();

            if (bo.VerificarExistencia(beneficiario.CPF, beneficiario.IdCliente) && beneficiario.Id == 0)
            {
                this.ModelState.AddModelError("CPFJaCadastrado", "CPF já cadastrado");
            }

            if (!this.ModelState.IsValid)
            {
                TempData["ViewData"] = ViewData;
                return(RedirectToAction("Index", "Beneficiario", new { id = beneficiario.IdCliente }));
            }
            else
            {
                //Inclusão
                if (beneficiario.Id == 0)
                {
                    beneficiario.Id = bo.Incluir(new Beneficiario()
                    {
                        CPF       = beneficiario.CPF,
                        Nome      = beneficiario.Nome,
                        IdCliente = beneficiario.IdCliente
                    });
                }
                else //Alteração
                {
                    bo.Alterar(new Beneficiario()
                    {
                        Id        = beneficiario.Id,
                        CPF       = beneficiario.CPF,
                        Nome      = beneficiario.Nome,
                        IdCliente = beneficiario.IdCliente
                    });
                }
                return(RedirectToAction("Index", "Beneficiario", new { id = beneficiario.IdCliente }));
            }
        }
Пример #19
0
        public JsonResult Incluir(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            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
            {
                ///Remover os caracteres não numéricos
                string cpfCompleto = model.CPF;
                string cpfBasico   = cpfCompleto.Replace(".", "").Replace("-", "");

                bool cpfCadastrado = bo.VerificarExistencia(cpfBasico);

                if (!cpfCadastrado)
                {
                    model.Id = bo.Incluir(new Beneficiario()
                    {
                        Nome      = model.Nome,
                        CPF       = cpfBasico,
                        IdCliente = model.IdCliente
                    });
                }
                else
                {
                    return(Json("CPF já cadastrado!"));
                }


                return(Json("Cadastro efetuado com sucesso"));
            }
        }
Пример #20
0
        public JsonResult Incluir(BeneficiarioModel model)
        {
            BoBeneficiario      bo        = new BoBeneficiario();
            ValidacaoController validacao = new ValidacaoController();

            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 if (!validacao.ValidaCPF(model.CPF))
            {
                Response.StatusCode = 400;
                return(Json(cpfInvalido));
            }
            else if (bo.VerificarExistencia(0, model.CPF))
            {
                Response.StatusCode = 400;
                return(Json(cpfCadastrado));
            }
            else
            {
                model.Id = bo.Incluir(new Beneficiario()
                {
                    Nome      = model.Nome,
                    CPF       = model.CPF,
                    IdCliente = model.IdCliente
                });


                return(Json(""));
            }
        }
Пример #21
0
        public JsonResult SalvarBeneficiario(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();

            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
            {
                if (model.CPF != null)
                {
                    var result = bo.VerificarExistencia(model.CPF.Replace(".", "").Replace("-", ""));

                    if (result == true)
                    {
                        return(Json("Beneficiario ja cadastrado na base"));
                    }
                    model.Id = bo.Incluir(new Beneficiario()
                    {
                        CPF  = model.CPF.Replace(".", "").Replace("-", ""),
                        Nome = model.Nome
                    });

                    return(Json(model.Id));
                }
                else
                {
                    return(Json(model.IdCliente));
                }
            }
        }
Пример #22
0
        private void InserirBeneficiariosDoCliente(ClienteModel clienteModel)
        {
            if (clienteModel.Beneficiarios == null)
            {
                return;
            }

            foreach (BeneficiarioModel beneficiarioModel in clienteModel.Beneficiarios)
            {
                if (_BoBeneficiario.VerificarExistencia(clienteModel.Id, beneficiarioModel.CPF))
                {
                    throw new Exception(string.Format("CPF: {0} já está em uso por outro beneficiário", beneficiarioModel.CPF));
                }
                else
                {
                    _BoBeneficiario.Incluir(new Beneficiario()
                    {
                        IdCliente = clienteModel.Id,
                        CPF       = beneficiarioModel.CPF,
                        Nome      = beneficiarioModel.Nome,
                    });
                }
            }
        }
Пример #23
0
        public JsonResult Incluir(ClienteModel model)
        {
            BoCliente     bo    = new BoCliente();
            List <string> erros = new List <string>();

            List <Beneficiario> beneficiarios = new List <Beneficiario>();

            if (!this.ModelState.IsValid)
            {
                erros.AddRange((from item in ModelState.Values
                                from error in item.Errors
                                select error.ErrorMessage).ToList());
            }
            // Valida CPF
            if (!Validacao.ValidarCPF(model.CPF))
            {
                erros.Add("Digite um CPF válido");
            }
            // Verifica se CPF já existe na base de dados
            else if (bo.VerificarExistencia(model.CPF) != 0)
            {
                erros.Add("CPF já cadastrado");
            }
            // Valida beneficiários
            else if (model.Beneficiarios != null)
            {
                BoBeneficiario boBen = new BoBeneficiario();

                beneficiarios = model.Beneficiarios.Select(beneficiario => new Beneficiario
                {
                    Id        = beneficiario.Id,
                    CPF       = beneficiario.CPF,
                    Nome      = beneficiario.Nome,
                    IdCliente = model.Id
                }).ToList();

                foreach (var beneficiario in beneficiarios)
                {
                    if (!Validacao.ValidarCPF(beneficiario.CPF))
                    {
                        erros.Add("Digite um CPF válido para o beneficiário");
                    }

                    long idCliente = boBen.VerificarExistencia(beneficiario.CPF);
                    if (idCliente > 0 && idCliente != beneficiario.IdCliente)
                    {
                        erros.Add("CPF do beneficiário já cadastrado para outro cliente");
                    }
                    ;
                }
                ;
            }

            if (erros.Count() > 0)
            {
                Response.StatusCode = 400;
                return(Json(string.Join("</br>", erros.Distinct())));
            }

            model.Id = bo.Incluir(new Cliente()
            {
                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,
                Beneficiarios = beneficiarios
            });

            return(Json("Cadastro efetuado com sucesso"));
        }
        public JsonResult Alterar(ClienteModel model)
        {
            BoCliente bo = new BoCliente();

            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
            {
                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
                });

                BoBeneficiario boBenefi = new BoBeneficiario();

                if (model.Beneficiarios != null)
                {
                    string strCpf = "";

                    dynamic dynBenefi = Newtonsoft.Json.JsonConvert.DeserializeObject(model.Beneficiarios);

                    boBenefi.Excluir(model.Id);

                    foreach (var objBenefi in dynBenefi)
                    {
                        if (boBenefi.VerificarExistencia(objBenefi.cpf.ToString(), model.Id))
                        {
                            strCpf += objBenefi.cpf.ToString() + "<br>";
                        }
                        else
                        {
                            boBenefi.Incluir(new Beneficiario()
                            {
                                CPF       = objBenefi.cpf.ToString(),
                                Nome      = objBenefi.nome.ToString(),
                                IdCliente = model.Id
                            });
                        }
                    }

                    if (strCpf.Length > 0)
                    {
                        return(Json(new { Result = false, Message = "Cadastro do Cliente alterado com sucesso.<br><br>Porém, Beneficiários com os CPF abaixo já exitem:<br><br>" + strCpf }));
                    }
                }
                else
                {
                    boBenefi.Excluir(model.Id);
                }

                return(Json(new { Result = true, Message = "Cadastro alterado com sucesso" }));
            }
        }
        public JsonResult Incluir(ClienteModel model)
        {
            BoCliente      bo             = new BoCliente();
            BoBeneficiario boBeneficiario = new BoBeneficiario();

            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
            {
                bool existe                = bo.VerificarExistencia(model.CPF);
                bool valido                = bo.ValidarCPF(model.CPF);
                bool beneficiarioValido    = model.Beneficiarios.Any(x => !CPFExtensions.ValidarCPF(x.CPF));
                bool beneficiarioExistente = model.Beneficiarios.Any(ben => boBeneficiario.VerificarExistencia(ben.CPF, ben.IdCliente));

                if (valido && beneficiarioValido)
                {
                    if (!existe && !beneficiarioExistente)
                    {
                        model.Id = bo.Incluir(new Cliente()
                        {
                            CEP           = model.CEP,
                            CPF           = model.CPF,
                            Cidade        = model.Cidade,
                            Email         = model.Email,
                            Estado        = model.Estado,
                            Logradouro    = model.Logradouro,
                            Nacionalidade = model.Nacionalidade,
                            Nome          = model.Nome,
                            Sobrenome     = model.Sobrenome,
                            Telefone      = model.Telefone
                        });

                        model.Beneficiarios.ForEach(ben =>
                        {
                            boBeneficiario.Incluir(new Beneficiario
                            {
                                CPF       = ben.CPF,
                                Nome      = ben.Nome,
                                IdCliente = model.Id
                            });
                        });

                        return(Json("Cadastro efetuado com sucesso"));
                    }
                    else
                    {
                        return(Json("CPF já cadastrado"));
                    }
                }
                else
                {
                    if (!valido)
                    {
                        return(Json("CPF Inválido!"));
                    }
                    else
                    {
                        return(Json("CPF Beneficiario Inválido!"));
                    }
                }
            }
        }
        public string ManipulaBeneficiarios(List <BeneficiarioModel> beneficiarios, long clienteId)
        {
            BoBeneficiario           boBeneficiario       = new BoBeneficiario();
            BoValidarCPF             boValidarCPF         = new BoValidarCPF();
            List <BeneficiarioModel> beneficiarioAlterado = new List <BeneficiarioModel>();
            List <long> beneficiariosModelIds             = new List <long>();
            List <long> beneficiariosDelIds = new List <long>();
            List <long> beneficiariosIds    = new List <long>();

            List <Beneficiario> listBeneficiarios = new BoBeneficiario().Pesquisar(clienteId);

            beneficiarios.ForEach(item => beneficiariosModelIds.Add(item.Id));
            beneficiarioAlterado = beneficiarios.Where(w => w.Alterado).ToList();

            if (listBeneficiarios.Count > 0)
            {
                beneficiariosDelIds = listBeneficiarios.Where(w => !beneficiariosModelIds.Contains(w.Id)).Select(x => x.Id).ToList();
                beneficiariosIds    = listBeneficiarios.Where(w => beneficiariosModelIds.Contains(w.Id)).Select(x => x.Id).ToList();
            }

            if (beneficiariosDelIds.Count > 0)
            {
                beneficiariosDelIds.ForEach(id => boBeneficiario.Excluir(id));
            }
            if (beneficiarios.Count > 0)
            {
                beneficiarioAlterado.ForEach(
                    beneficiario => boBeneficiario.Alterar(
                        new Beneficiario()
                {
                    Id        = beneficiario.Id,
                    IdCliente = beneficiario.IdCliente,
                    Nome      = beneficiario.Nome,
                    CPF       = beneficiario.CPF
                }
                        )
                    );
            }

            foreach (var beneficiario in beneficiarios)
            {
                if (!beneficiariosIds.Contains(beneficiario.Id))
                {
                    if (!boValidarCPF.ValidaCPF(beneficiario.CPF))
                    {
                        return($"Este não é um CPF valido: {beneficiario.CPF}");
                    }

                    if (boBeneficiario.VerificarExistencia(beneficiario.CPF))
                    {
                        return($"Este CPF ja esta em uso: {beneficiario.CPF}");
                    }

                    beneficiario.Id = boBeneficiario.Incluir(new Beneficiario()
                    {
                        IdCliente = clienteId,
                        Nome      = beneficiario.Nome,
                        CPF       = beneficiario.CPF
                    });
                }
            }

            return("");
        }