public JsonResult Alterar(Beneficiario 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
            {
                bo.Alterar(new Beneficiario()
                {
                    Id = model.Id,
                    Nome = model.Nome,
                    Cpf = model.Cpf.Replace(".", "").Replace(".", "").Replace(".", "").Replace("-", ""),
                    idCliente = model.idCliente
                });

                return new JsonResult()
                {
                    Data =  "Beneficiário alterado com sucesso"
                };
            }
        }
        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 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"));
            }
        }
Example #4
0
        public JsonResult Alterar(BeneficiarioModel modelo)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var erros = (ModelState.Values.SelectMany(item => item.Errors, (item, error) => error.ErrorMessage))
                                .ToList();

                    Response.StatusCode = 400;
                    return(Json(string.Join(Environment.NewLine, erros)));
                }

                _bo.Alterar(new Beneficiario
                {
                    CPF  = modelo.CPF,
                    Nome = modelo.Nome,
                    Id   = modelo.Id
                });
                return(Json("Beneficiario alterado"));
            }
            catch (Exception e)
            {
                return(Json(e.Message));
            }
        }
Example #5
0
        public JsonResult Alterar(BeneficiarioModel model)
        {
            try
            {
                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)));
                }

                bo.Alterar(new Beneficiario()
                {
                    Id        = model.Id,
                    Cpf       = model.Cpf,
                    Nome      = model.Nome,
                    IdCliente = model.IdCliente
                });

                return(Json("Cadastro alterado com sucesso"));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
        public JsonResult Alterar(BeneficiarioModel model)
        {
            BoBeneficiario bo = new BoBeneficiario();
            var            mensagemValidacao = "CPF inválido. Consulte o Admin do Sistema.";

            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
            {
                IValidacao validador = new Validacao();
                if (!validador.ValidarCPF(model.CPF))
                {
                    return(Json(mensagemValidacao));
                }

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

                return(Json("Beneficiário alterado com sucesso"));
            }
        }
Example #7
0
        public JsonResult Alterar(ClienteModel 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
            {
                var existe = new BoBeneficiario().Consultar(model.Id);

                if (existe != null && existe.Cpf == model.Cpf)
                {
                    return(Json("CPF já cadastrado!."));
                }

                bo.Alterar(new Beneficiario()
                {
                    Id   = model.Id,
                    Nome = model.Nome,
                    Cpf  = model.Cpf
                });

                return(Json("Cadastro alterado com sucesso"));
            }
        }
        public JsonResult Alterar(Beneficiario 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
            {
                bo.Alterar(new Beneficiario()
                {
                    Id        = model.Id,
                    Nome      = model.Nome,
                    CPF       = model.CPF,
                    IdCliente = model.IdCliente
                });

                return(Json("Cadastro alterado com sucesso"));
            }
        }
        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));
            }
        }
Example #10
0
        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
            {
                var cliente = ConstoiCliente(model);
                bo.Alterar(cliente);
                BoBeneficiario beneficiarioBo = new BoBeneficiario();
                if (model.Beneficiarios != null)
                {
                    var beneficiarios = AjusteBeneficiario(model.Beneficiarios, cliente);
                    beneficiarioBo.Alterar(beneficiarios, cliente.Id);
                }
                else
                {
                    beneficiarioBo.ExcluirPorCliente(cliente.Id);
                }
                return(Json("Cadastro alterado com sucesso"));
            }
        }
        // GET: Beneficiario/Edit/5
        public JsonResult Alterar(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
            {
                bob.Alterar(new FI.AtividadeEntrevista.DML.Beneficiario()
                {
                    Id   = model.Id,
                    Nome = model.Nome,
                    Cpf  = model.Cpf
                });

                return(Json("Beneficiario alterado com sucesso"));
            }
        }
Example #12
0
        public JsonResult IncluirBeneficiario(string idcliente, string idbenef, string bCPF, string bNome)
        {
            var model = new BeneficiarioModel
            {
                Id        = string.IsNullOrEmpty(idbenef.ToString()) ? 0 : Convert.ToInt64(idbenef),
                IdCliente = Convert.ToInt64(idcliente),
                CPF       = bCPF,
                Nome      = bNome
            };

            var bo        = new BoBeneficiario();
            var boCliente = new BoCliente();

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

                ViewBag.IdCliente = model.IdCliente;
                var cliente = boCliente.Consultar(model.IdCliente);
                ViewBag.Beneficiarios = cliente.Beneficiarios.Count > 0
                ? cliente.Beneficiarios.Select(p => new BeneficiarioModel
                {
                    CPF       = p.CPF,
                    Id        = p.Id,
                    IdCliente = p.IdCliente,
                    Nome      = p.Nome
                }).ToList()
                : new List <BeneficiarioModel>();

                return(Json("Cadastro efetuado com sucesso"));
            }
        }
Example #13
0
        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
            {
                if (!bo.ValidaCPF(model.CPF))
                {
                    return(Json("CPF inválido"));
                }
                if (bo.VerificarExistencia(model.CPF, model.Id))
                {
                    return(Json("CPF já cadastrado para outro cliente"));
                }

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

                //TODO: Pegar dados do grid
                List <Beneficiario> beneficiarios = new List <Beneficiario>();
                List <Beneficiario> altBenef      = beneficiarios.Where(benef => benef.Acao == 1).ToList();

                if (altBenef.Count > 0)
                {
                    BoBeneficiario boBeneficiario = new BoBeneficiario();
                    boBeneficiario.Alterar(altBenef);
                }

                return(Json("Cadastro alterado com sucesso"));
            }
        }
        public JsonResult Alterar(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
            {
                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.Alterar(model.Beneficiarios.Select(item => new Beneficiario
                {
                    Nome     = item.Nome,
                    CPF      = item.CPF,
                    ClientId = model.Id
                }));

                return(Json("Cadastro alterado com sucesso"));
            }
        }
Example #15
0
        public JsonResult AlterarBenef(string nome, string cpf, long id)
        {
            try
            {
                BoBeneficiario bo = new BoBeneficiario();
                bo.Alterar(new Beneficiario()
                {
                    Nome = nome,
                    CPF  = cpf,
                    Id   = id
                });
            }
            catch (FI.AtividadeEntrevista.Infrastructure.BLLException ex)
            {
                Response.StatusCode = 400;
                return(Json(ex.Message));
            }

            return(Json("Cadastro efetuado com sucesso"));
        }
Example #16
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 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 }));
            }
        }
Example #18
0
        public JsonResult Alterar(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)
                {
                    bo.Alterar(new Beneficiario()
                    {
                        Id        = model.Id,
                        CPF       = cpfBasico,
                        IdCliente = model.IdCliente
                    });
                }
                else
                {
                    return(Json("CPF já cadastrado!"));
                }

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


            if (model.Id > 0)
            {
                var existe = new BoBeneficiario().Consultar(model.Id);

                if (existe != null && existe.Cpf == model.Cpf)
                {
                    return(Json("CPF já cadastrado!."));
                }

                bo.Alterar(new Beneficiario()
                {
                    Id   = model.Id,
                    Nome = model.Nome,
                    Cpf  = model.Cpf
                });

                return(Json("Cadastro alterado com sucesso"));
            }
            else
            {
                model.Id = bo.Incluir(new Beneficiario()
                {
                    IdCliente = model.IdCliente,
                    Nome      = model.Nome,
                    Cpf       = model.Cpf
                });
            }


            return(Json("Cadastro efetuado com sucesso"));
        }
        public ActionResult Alterar(string list, string idCliente)
        {
            List <Beneficiario> registrosAlterados = new List <Beneficiario>();
            List <Beneficiario> beneficiarios      = new BoBeneficiario().Listar(long.Parse(idCliente));


            JArray array = JArray.Parse(list);

            foreach (JObject obj in array.Children <JObject>())
            {
                BeneficiarioModel model = new BeneficiarioModel();

                foreach (JProperty singleProp in obj.Properties())
                {
                    string name = singleProp.Name;

                    switch (name)
                    {
                    case "id":
                        model.Id = singleProp.Value.ToString() == "" ? 0 : long.Parse(singleProp.Value.ToString());
                        break;

                    case "cpf":
                        model.CPF = singleProp.Value.ToString();
                        break;

                    case "nome":
                        model.Nome = singleProp.Value.ToString();
                        break;
                    }
                }
                model.IdCliente = long.Parse(idCliente);

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

                    registrosAlterados.Add(new Beneficiario()
                    {
                        Id        = model.Id,
                        Nome      = model.Nome,
                        IdCliente = model.IdCliente,
                        CPF       = model.CPF.Replace(".", "").Replace("-", "")
                    });
                }
            }

            var Excluidos = beneficiarios.Where(x => !registrosAlterados.Any(z => z.Id == x.Id)).ToList();

            foreach (Beneficiario excluido in Excluidos)
            {
                BoBeneficiario bo = new BoBeneficiario();
                bo.Excluir(excluido.Id);
            }

            return(Json("Cadastro alterado com sucesso"));
        }
        public JsonResult Alterar(ClienteModel model)
        {
            BoCliente      bo        = new BoCliente();
            BoBeneficiario boben     = new BoBeneficiario();
            long           idCliente = model.Id;

            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 (ValidarCPFCliente(model.CPF, model.Id))
                {
                    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           = Models.Util.FormataCPF(model.CPF)
                    });

                    if (model.Beneficiarios.Count() > 0)
                    {
                        foreach (var beneficiario in model.Beneficiarios)
                        {
                            if (ValidarCPFBeneficiario(beneficiario.CPF, model.Id, beneficiario.Id))
                            {
                                if (beneficiario.Id == 0)
                                {
                                    beneficiario.Id = boben.Incluir(new Beneficiario()
                                    {
                                        CPF            = Models.Util.FormataCPF(beneficiario.CPF),
                                        Nome           = beneficiario.Nome,
                                        ClienteModelID = model.Id
                                    });
                                }
                                else
                                {
                                    boben.Alterar(new Beneficiario()
                                    {
                                        Id   = beneficiario.Id,
                                        CPF  = Models.Util.FormataCPF(beneficiario.CPF),
                                        Nome = beneficiario.Nome
                                    });
                                }
                            }
                            else
                            {
                                Response.StatusCode = 400;
                                mensagem            = @"{""Titulo"": ""Erro"", ""Mensagem"": ""CPF do Beneficiario ' + beneficiario.Nome + ' inválido ou já cadastrado""}";
                                return(Json(mensagem));
                            }
                        }
                    }
                    else
                    {
                        foreach (var benef in boben.Listar(idCliente))
                        {
                            BeneficiarioModel ben1 = new BeneficiarioModel();
                            ben1.CPF            = Models.Util.FormataCPF(benef.CPF);
                            ben1.Nome           = benef.Nome;
                            ben1.Id             = benef.Id;
                            ben1.ClienteModelID = benef.ClienteModelID;
                            model.Beneficiarios.Add(ben1);
                        }
                    }
                    Response.StatusCode = 200;
                    mensagem            = @"{""Titulo"": ""Erro"", ""Mensagem"": ""Cadastro alterado com sucesso""}";
                    return(Json(mensagem));
                }
                else
                {
                    Response.StatusCode = 400;
                    mensagem            = @"{""Titulo"": ""Erro"", ""Mensagem"": ""CPF inválido ou já cadastrado!""}";
                    return(Json(mensagem));
                }
            }
        }
        public ActionResult Alterar(long id)
        {
            BoCliente      bo      = new BoCliente();
            Cliente        cliente = bo.Consultar(id);
            BoBeneficiario boben   = new BoBeneficiario();

            Models.ClienteModel model = null;

            if (cliente != null)
            {
                cliente.Beneficiarios = boben.Listar(id);
                model = new ClienteModel()
                {
                    Id            = cliente.Id,
                    CEP           = cliente.CEP,
                    Cidade        = cliente.Cidade,
                    Email         = cliente.Email,
                    Estado        = cliente.Estado,
                    Logradouro    = cliente.Logradouro,
                    Nacionalidade = cliente.Nacionalidade,
                    Nome          = cliente.Nome,
                    Sobrenome     = cliente.Sobrenome,
                    Telefone      = cliente.Telefone,
                    CPF           = Models.Util.FormataCPF(cliente.CPF)
                };

                if (model.Beneficiarios.Count() > 0)
                {
                    foreach (var beneficiario in model.Beneficiarios)
                    {
                        if (beneficiario.Id == 0)
                        {
                            beneficiario.Id = boben.Incluir(new Beneficiario()
                            {
                                CPF            = Models.Util.FormataCPF(beneficiario.CPF),
                                Nome           = beneficiario.Nome,
                                ClienteModelID = cliente.Id
                            });
                        }
                        else
                        {
                            boben.Alterar(new Beneficiario()
                            {
                                Id   = beneficiario.Id,
                                CPF  = Models.Util.FormataCPF(beneficiario.CPF),
                                Nome = beneficiario.Nome
                            });
                        }
                    }
                }
                else
                {
                    foreach (var benef in cliente.Beneficiarios)
                    {
                        BeneficiarioModel ben1 = new BeneficiarioModel();
                        ben1.CPF            = Models.Util.FormataCPF(benef.CPF);
                        ben1.Nome           = benef.Nome;
                        ben1.Id             = benef.Id;
                        ben1.ClienteModelID = benef.ClienteModelID;
                        model.Beneficiarios.Add(ben1);
                    }
                }
            }
            return(View(model));
        }
        public JsonResult Alterar(ClienteModel model)
        {
            BoCliente      bo    = new BoCliente();
            BoBeneficiario boBen = 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 (!ValidaDigitoCPF.Valida(model.CPF))
                {
                    Response.StatusCode = 400;
                    return(Json("CPF inválido"));
                }
                if (bo.VerificarExistencia(model.CPF) && cli.CPF != model.CPF)
                {
                    Response.StatusCode = 400;
                    return(Json("Já existe um cliente cadastrado com este CPF"));
                }
                bo.Alterar(new Cliente()
                {
                    Id            = model.Id,
                    CPF           = ValidaDigitoCPF.RemoveCaracte(model.CPF),
                    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
                });
                foreach (var benModel in model.Beneficiarios)
                {
                    var ben = cli.Beneficiarios.FirstOrDefault(p => p.CPF == benModel.CPF);
                    if (ben != null)
                    {
                        //Se existe alterar
                        boBen.Alterar(new Beneficiario()
                        {
                            Id   = ben.Id,
                            CPF  = ValidaDigitoCPF.RemoveCaracte(ben.CPF),
                            Nome = benModel.Nome
                        });
                    }
                    else
                    {
                        //Se não existe inclui
                        boBen.Incluir(new Beneficiario()
                        {
                            CPF       = ValidaDigitoCPF.RemoveCaracte(benModel.CPF),
                            Nome      = benModel.Nome,
                            IdCliente = model.Id
                        });
                    }
                }
                foreach (var cliModel in cli.Beneficiarios)
                {
                    var ben = model.Beneficiarios.FirstOrDefault(p => p.CPF == cliModel.CPF);
                    if (ben == null)
                    {
                        //cliModel.Id EXLUIR
                        boBen.Excluir(cliModel.Id);
                    }
                }


                return(Json("Cadastro alterado com sucesso"));
            }
        }
        public JsonResult Alterar(ClienteModel model)
        {
            BoCliente      boCliente      = 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
            {
                var cpfJaExiste = boCliente.VerificarExistencia(model.CPF, model.Id);
                if (cpfJaExiste)
                {
                    Response.StatusCode = 400;
                    return(Json("CPF já existe"));
                }

                boCliente.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
                });

                if (model.Beneficiarios?.Count > 0)
                {
                    foreach (var beneficiario in model.Beneficiarios)
                    {
                        if (beneficiario.Id > 0)
                        {
                            if (beneficiario.Excluido)
                            {
                                boBeneficiario.Excluir(beneficiario.Id);
                            }
                            else
                            {
                                boBeneficiario.Alterar(new Beneficiario()
                                {
                                    Id   = beneficiario.Id,
                                    Nome = beneficiario.Nome,
                                    CPF  = beneficiario.CPF
                                });
                            }
                        }
                        else
                        {
                            boBeneficiario.Incluir(new Beneficiario()
                            {
                                Nome      = beneficiario.Nome,
                                CPF       = beneficiario.CPF,
                                IdCliente = model.Id
                            });
                        }
                    }
                }

                return(Json("Cadastro alterado com sucesso"));
            }
        }
        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("");
        }