Exemple #1
0
        public Resultado ConsolidaListaDebitoConta(String NomeArquivo)
        {
            Resultado res = new Resultado();
            List <AAT_TBL_RET_DEB_CONTA> lsDebConta = new List <AAT_TBL_RET_DEB_CONTA>();
            //DebitoContaRetornoDAL DebContaRetDAL = new DebitoContaRetornoDAL();
            DebitoContaDAL DebContaDAL = new DebitoContaDAL();

            //lsDebConta = GetWhere(NomeArquivo, null, "B", null).Where(d => d.AAT_TBL_RET_DEB_CONTA_CRITICAS.Count == 0).ToList();
            //lsDebConta = GetWhere(NomeArquivo, null, "B", null,0,"",false).Where(d => d.AAT_TBL_RET_DEB_CONTA_CRITICAS.Count == 0).ToList();
            lsDebConta = GetWhere(null, null, null, NomeArquivo, null, "B", false).Where(d => d.AAT_TBL_RET_DEB_CONTA_CRITICAS.Count == 0).ToList();
            string   userName        = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
            DateTime currentDateTime = DateTime.Now;

            res.Sucesso(lsDebConta.Count + " registro(s) importado(s) com sucesso.");

            foreach (AAT_TBL_RET_DEB_CONTA retDebConta in lsDebConta)
            {
                AAT_TBL_DEB_CONTA debConta = new AAT_TBL_DEB_CONTA();
                debConta.COD_EMPRS       = Util.String2Short(retDebConta.COD_EMPRESA);
                debConta.NUM_RGTRO_EMPRG = Util.String2Int32(retDebConta.NUM_REGISTRO);
                //debConta.NUM_IDNTF_RPTANT = Util.String2Int32(retDebConta.NUM_REPRESENTANTE); // linha comentada e adicionado a linha de baixo.
                debConta.NUM_IDNTF_RPTANT = Convert.ToInt32(retDebConta.NUM_REPRESENTANTE);
                debConta.COD_PRODUTO      = short.Parse(retDebConta.ID_DEB_BANC.Substring(0, 3));
                debConta.NUM_CPF          = Int64.Parse(retDebConta.ID_DEB_BANC.Substring(3));
                debConta.ID_DEB_BANC      = retDebConta.ID_DEB_BANC;
                //debConta.IND_ATIVO = short.Parse((retDebConta.COD_MOVIMENTO == "0") ? "1" : "0"); // TIPO F: 0=Débito   / 1=Cancelamento
                debConta.IND_ATIVO     = short.Parse((retDebConta.COD_MOVIMENTO == "2") ? "1" : "0"); // TIPO B: 1=Inclusão / 2=Exclusão
                debConta.LOG_INCLUSAO  = userName;
                debConta.DTH_INCLUSAO  = currentDateTime;
                debConta.DCR_NOM_ARQ   = retDebConta.DCR_NOM_ARQ;
                debConta.NUM_SEQ_LINHA = retDebConta.NUM_SEQ_LINHA;

                debConta.COD_BANCO   = "033";
                debConta.COD_AGENCIA = retDebConta.AGENC_DEB_CONTA;
                debConta.TIP_CONTA   = retDebConta.ID_CLIENTE_BANCO.Substring(0, 2);
                debConta.NUM_CONTA   = retDebConta.ID_CLIENTE_BANCO.Substring(2).Trim();

                Resultado resSave = DebContaDAL.SaveData(debConta);
                if (!resSave.Ok)
                {
                    retDebConta.AAT_TBL_RET_DEB_CONTA_CRITICAS.Add(
                        new AAT_TBL_RET_DEB_CONTA_CRITICAS
                    {
                        COD_CRITICA = "999",
                        DCR_CRITICA = "Erro ao inserir o registro na tabela: " + resSave.Mensagem
                    });
                    m_DbContext.SaveChanges(); // Grava a critica de erro do banco
                    res.Erro("Occoreram erros na importação.");
                }
            }

            if (lsDebConta.Count == 0)
            {
                res.Erro("Nenhum registro do tipo 'B' foi importado.");
            }
            return(res);
        }
        public Resultado SaveData(AAT_TBL_DEB_CONTA newDebConta)
        {
            Resultado res = new Resultado();

            try
            {
                //var atualiza = m_DbContext.AAT_TBL_DEB_CONTA.FirstOrDefault(p => p.COD_EMPRS == newDebConta.COD_EMPRS
                //                                                              && p.NUM_RGTRO_EMPRG == newDebConta.NUM_RGTRO_EMPRG
                //                                                              && p.NUM_IDNTF_RPTANT == newDebConta.NUM_IDNTF_RPTANT
                //                                                              && p.COD_PRODUTO == newDebConta.COD_PRODUTO
                //                                                              && p.DTH_EXCLUSAO == null);

                var atualiza = m_DbContext.AAT_TBL_DEB_CONTA.FirstOrDefault(p => p.NUM_CPF == newDebConta.NUM_CPF &&
                                                                            p.COD_PRODUTO == newDebConta.COD_PRODUTO &&
                                                                            p.DTH_EXCLUSAO == null);

                bool iguais = (atualiza != null) ? atualiza.Comparar(newDebConta) : false;
                //bool iguais = atualiza.Comparar(newDebConta);

                if (iguais)
                {
                    res.Sucesso("Registro não inserido. Já existe um 'igual'.");
                }
                else
                {
                    if (atualiza != null)
                    {
                        atualiza.DTH_EXCLUSAO = newDebConta.DTH_INCLUSAO; // Desativa o registro atual
                    }
                    m_DbContext.AAT_TBL_DEB_CONTA.Add(newDebConta);       // Insere um registro novo ativo (DTH_EXCLUSAO=null)
                    int rows_updated = m_DbContext.SaveChanges();
                    if (rows_updated > 0)
                    {
                        res.Sucesso("Registro atualizado com sucesso.");
                    }
                }
            }
            catch (Exception ex)
            {
                res.Erro(Util.GetInnerException(ex));
            }
            return(res);
        }
Exemple #3
0
        public Resultado Criticar(List <AAT_TBL_RET_DEB_CONTA> lsRetDebConta)
        {
            Resultado res = new Resultado();
            //List<AAT_TBL_RET_DEB_CONTA> lsDebConta = new List<AAT_TBL_RET_DEB_CONTA>();
            //DebitoContaRetornoDAL DebContaRetDAL = new DebitoContaRetornoDAL();
            //if (!String.IsNullOrEmpty(NomeArquivo))
            //{
            //    lsRetDebConta = GetWhere(NomeArquivo, null, "F").ToList();
            //}
            string   userName        = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
            DateTime currentDateTime = DateTime.Now;

            foreach (AAT_TBL_RET_DEB_CONTA retDebConta in lsRetDebConta.Where(x => x.ID_TP_REGISTRO == "F"))
            {
                AAT_TBL_DEB_CONTA debConta = new AAT_TBL_DEB_CONTA();

                short sTest;
                int   iTest;
                if (!short.TryParse(retDebConta.COD_EMPRESA, out sTest))
                {
                    retDebConta.AAT_TBL_RET_DEB_CONTA_CRITICAS.Add(
                        new AAT_TBL_RET_DEB_CONTA_CRITICAS
                    {
                        COD_CRITICA = "200",
                        DCR_CRITICA = "Cód. Empresa em branco."
                    });
                }

                if (!int.TryParse(retDebConta.NUM_REGISTRO, out iTest))
                {
                    retDebConta.AAT_TBL_RET_DEB_CONTA_CRITICAS.Add(
                        new AAT_TBL_RET_DEB_CONTA_CRITICAS
                    {
                        COD_CRITICA = "201",
                        DCR_CRITICA = "Registro empregado em branco."
                    });
                }

                if (!int.TryParse(retDebConta.NUM_REPRESENTANTE, out iTest))
                {
                    retDebConta.AAT_TBL_RET_DEB_CONTA_CRITICAS.Add(
                        new AAT_TBL_RET_DEB_CONTA_CRITICAS
                    {
                        COD_CRITICA = "202",
                        DCR_CRITICA = "Núm. representante em branco"
                    });
                }

                if (retDebConta.COD_MOTIVO_RET != "00")
                {
                    retDebConta.AAT_TBL_RET_DEB_CONTA_CRITICAS.Add(new AAT_TBL_RET_DEB_CONTA_CRITICAS
                    {
                        COD_CRITICA = retDebConta.COD_MOTIVO_RET,
                        DCR_CRITICA = (retDebConta.AAT_TBL_RET_DEB_CONTA_MOTIVO != null) ? retDebConta.AAT_TBL_RET_DEB_CONTA_MOTIVO.DESC_MOTIVO : ""
                    });
                }
            }

            foreach (AAT_TBL_RET_DEB_CONTA retDebConta in lsRetDebConta.Where(x => x.ID_TP_REGISTRO == "B"))
            {
                AAT_TBL_DEB_CONTA debConta = new AAT_TBL_DEB_CONTA();

                if (!String.IsNullOrEmpty(retDebConta.ID_DEB_BANC))
                {
                    string strCPf = retDebConta.ID_DEB_BANC.Substring(3);
                    long   lCPF;
                    long.TryParse(strCPf, out lCPF);

                    // Int16.MaxValue: 32767
                    // Int32.MaxValue: 2147483647
                    // Int64.MaxValue: 9223372036854775807

                    EmpregadoBLL EmpBLL = new EmpregadoBLL();
                    EMPREGADO    Emp    = EmpBLL.GetEmpregado(null, null, lCPF, null);
                    //REPRES_UNIAO_FSS

                    if (Emp == null)
                    {
                        //EmpregadoBLL RepresBLL = new EmpregadoBLL();
                        REPRES_UNIAO_FSS Repres = EmpBLL.GetRepresentante(null, null, lCPF, null);

                        if (Repres == null)
                        {
                            retDebConta.AAT_TBL_RET_DEB_CONTA_CRITICAS.Add(new AAT_TBL_RET_DEB_CONTA_CRITICAS
                            {
                                COD_CRITICA = "203",
                                DCR_CRITICA = "Empregado não localizado (" + lCPF.ToString() + ")"
                            });
                        }
                        else
                        {
                            retDebConta.COD_EMPRESA       = Repres.COD_EMPRS.ToString();
                            retDebConta.NUM_REGISTRO      = Repres.NUM_RGTRO_EMPRG.ToString();
                            retDebConta.NUM_REPRESENTANTE = Repres.NUM_IDNTF_RPTANT.ToString();
                        }
                    }
                    else
                    {
                        retDebConta.COD_EMPRESA       = Emp.COD_EMPRS.ToString();
                        retDebConta.NUM_REGISTRO      = Emp.NUM_RGTRO_EMPRG.ToString();
                        retDebConta.NUM_REPRESENTANTE = "0";
                    }

                    short vCOD_PRODUTO;
                    short.TryParse(retDebConta.ID_DEB_BANC.Substring(0, 3), out vCOD_PRODUTO);
                    //if (vCOD_PRODUTO > 0)
                    //{
                    if (base.GetProduto(vCOD_PRODUTO) == null)
                    {
                        retDebConta.AAT_TBL_RET_DEB_CONTA_CRITICAS.Add(new AAT_TBL_RET_DEB_CONTA_CRITICAS
                        {
                            COD_CRITICA = "205",
                            DCR_CRITICA = "Produto não localizado (" + vCOD_PRODUTO.ToString("000") + ")"
                        });
                    }
                    //}
                }
            }

            res.Sucesso(lsRetDebConta.Count + " registro(s) importado(s) com sucesso.");
            return(res);
        }