Exemplo n.º 1
0
        public JsonResult ListaBeneficiarios(string cpf)
        {
            try
            {
                int qtd = 0;


                List <Beneficiario> clientes = new BoBeneficiario().Pesquisa(0, 10, "NOME", true, out qtd).ToList();

                var retorno = clientes.Where(x => x.IdCliente == int.Parse(cpf)).ToList();
                //Return result to jTable
                //return Json(new { Result = "OK", Records = clientes, TotalRecordCount = qtd });
                return(Json(retorno, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
        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 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("");
        }