Beispiel #1
0
        public int ReprocessarCdr()
        {
            DETRAF.DAL.CdrDal objCdrDal = new DETRAF.DAL.CdrDal();
            DataTable         dt        = objCdrDal.ConsultarEotCdr();
            int       i = 0;
            int       id;
            DataTable dtEotLocOrigem;
            DataTable dtEotLocDestino;
            string    Clid_novo;
            string    Dst_novo;
            string    strDateTime;
            string    ano;
            string    mes;
            string    dia;
            DateTime  DateCdr;

            foreach (DataRow dr in dt.Rows)
            {
                id      = Convert.ToInt32(dr["id"].ToString());
                Clid    = dr["clid"].ToString();
                Dst     = dr["dst"].ToString();
                Billsec = Convert.ToInt32(dr["billsec"]);
                Data    = dr["data"].ToString();
                Hora    = dr["hora"].ToString();

                Clid_novo = Clid;
                Dst_novo  = Dst;

                dtEotLocOrigem   = ObterEotLocalidade(Clid_novo);
                EotOrigem        = 0;
                LocalidadeOrigem = "";
                foreach (DataRow dr2 in dtEotLocOrigem.Rows)
                {
                    EotOrigem        = Convert.ToInt32(dr2["eot"].ToString());
                    LocalidadeOrigem = dr2["localidade"].ToString();
                }

                dtEotLocDestino   = ObterEotLocalidade(Dst_novo);
                EotDestino        = 0;
                LocalidadeDestino = "";
                foreach (DataRow dr3 in dtEotLocDestino.Rows)
                {
                    EotDestino        = Convert.ToInt32(dr3["eot"].ToString());
                    LocalidadeDestino = dr3["localidade"].ToString();
                }

                //Verificação de Localidades e Tipo de Ligações (Entrante e Sainte)
                if (LocalidadeOrigem == "SPO" && LocalidadeDestino == "SPO" && (EotOrigem.ToString() == "829" || EotDestino.ToString() == "829"))
                {
                    ModalidadeLigacao = "L";
                    if (EotOrigem.ToString() == "829")
                    {
                        Entrante = 0;
                        Sainte   = 1;
                    }
                    else
                    {
                        Entrante = 1;
                        Sainte   = 0;
                    }
                }
                else if (LocalidadeDestino == "INTL")
                {
                    ModalidadeLigacao = "I";
                    if (EotOrigem.ToString() == "829")
                    {
                        Entrante = 0;
                        Sainte   = 1;
                    }
                    else
                    {
                        Entrante = 1;
                        Sainte   = 0;
                    }
                }
                else
                {
                    ModalidadeLigacao = "N";
                    if (EotOrigem.ToString() == "829")
                    {
                        Entrante = 0;
                        Sainte   = 1;
                    }
                    else if (EotDestino.ToString() == "829")
                    {
                        Entrante = 1;
                        Sainte   = 0;
                    }
                    else if (Dst == "02910329")
                    {
                        Entrante = 1;
                        Sainte   = 0;
                    }
                    else
                    {
                        Entrante = 1;
                        Sainte   = 1;
                    }
                }
                TipoLigacao = "N";
                if (Dst_novo.StartsWith("90"))
                {
                    TipoLigacao = "A";
                }

                //strDateTime = "1992-10-10 12:15:12";
                ano         = Data.Substring(0, 4);
                mes         = Data.Substring(4, 2);
                dia         = Data.Substring(6, 2);
                strDateTime = ano + "-" + mes + "-" + dia + " " + Hora;
                DateCdr     = DateTime.Parse(strDateTime);

                objCdrDal.AtualizarCdr(id, Clid_novo, EotOrigem, LocalidadeOrigem, Dst_novo, EotDestino, LocalidadeDestino, Billsec, Data, Hora, DateCdr, Entrante, Sainte, TipoLigacao, ModalidadeLigacao);
            }

            objCdrDal = null;
            return(i);
        }
Beispiel #2
0
        public DataTable ObterEotLocalidade(string tn)
        {
            DETRAF.DAL.CdrDal objCdrDal = new DETRAF.DAL.CdrDal();
            int    eotPortado           = 0;
            int    eot        = 0;
            string localidade = "";

            if (tn.StartsWith("00"))
            {
                eot        = 99999;
                localidade = "INTL";
            }
            else if (tn == "10329")
            {
                eot        = 829;
                localidade = "SE";
            }
            else if (tn == "1")
            {
                eot        = 77777;
                localidade = "SE";
            }
            else if (tn == "02910329")
            {
                eot        = 88888;
                localidade = "TLESTE";
            }
            else
            {
                DataTable dtPortado = objCdrDal.ConsultarTnPortado(PadronizarNumDestinoPortabilidade(tn));
                foreach (DataRow dr in dtPortado.Rows)
                {
                    eotPortado = Convert.ToInt32(dr["subscription_recipient_eot"].ToString());
                }

                DETRAF.DAL.PrefixoDal objPrefixoDal = new DETRAF.DAL.PrefixoDal();
                string    prefixo   = ObterPrefixo(tn);
                DataTable dtPrefixo = objPrefixoDal.ConsultarPrefixo(prefixo);
                foreach (DataRow dr in dtPrefixo.Rows)
                {
                    eot        = Convert.ToInt32(dr["eot"].ToString());
                    localidade = dr["localidade"].ToString();
                }

                objCdrDal     = null;
                objPrefixoDal = null;
            }

            DataTable  mDataTable = new DataTable();
            DataColumn mDataColumn;

            mDataColumn            = new DataColumn();
            mDataColumn.DataType   = Type.GetType("System.String");
            mDataColumn.ColumnName = "eot";
            mDataTable.Columns.Add(mDataColumn);

            mDataColumn            = new DataColumn();
            mDataColumn.DataType   = Type.GetType("System.String");
            mDataColumn.ColumnName = "localidade";
            mDataTable.Columns.Add(mDataColumn);

            DataRow linha;

            linha = mDataTable.NewRow();
            if (eotPortado > 0)
            {
                linha["eot"] = eotPortado;
            }
            else
            {
                linha["eot"] = eot;
            }

            //Regras de localidade para celular

            /*if (tn.StartsWith("116") || tn.StartsWith("0116") || tn.StartsWith("90116") ||
             *  tn.StartsWith("117") || tn.StartsWith("0117") || tn.StartsWith("90117") ||
             *  tn.StartsWith("118") || tn.StartsWith("0118") || tn.StartsWith("90118") ||
             *  tn.StartsWith("119") || tn.StartsWith("0119") || tn.StartsWith("90119"))
             * {
             *  localidade = "SPO";
             * }*/


            //Regras de localidade para celular
            if (tn.StartsWith("119") || tn.StartsWith("0119") || tn.StartsWith("90119"))
            {
                localidade = "SPO";
            }


            linha["localidade"] = localidade;
            mDataTable.Rows.Add(linha);

            return(mDataTable);
        }
Beispiel #3
0
 public void ExcluirCdr(string dataInicial, string dataFinal)
 {
     DETRAF.DAL.CdrDal objCdrDal = new DETRAF.DAL.CdrDal();
     objCdrDal.ExcluirCdr(dataInicial, dataFinal);
     objCdrDal = null;
 }
Beispiel #4
0
        public bool ProcessaCdr(string caminho)
        {
            bool   erroMetodo = true;
            string sLine      = "";
            string Clid_novo;
            string Dst_novo;

            string[]     campo;
            string       strDateTime;
            string       ano;
            string       mes;
            string       dia;
            StreamReader objReader = new StreamReader(caminho);
            DataTable    dtEotLocOrigem;
            DataTable    dtEotLocDestino;
            DateTime     DateCdr;

            DETRAF.LOGGER.Logger objLogger = new DETRAF.LOGGER.Logger();
            DETRAF.DAL.CdrDal    objCdrDal = new DETRAF.DAL.CdrDal();

            while (sLine != null)
            {
                sLine = objReader.ReadLine();
                if (!string.IsNullOrEmpty(sLine))
                {
                    campo = sLine.Split(new char[] { ';' });
                    try
                    {
                        Clid    = campo[0];
                        Dst     = campo[1];
                        Billsec = Convert.ToInt32(campo[2]);
                        Data    = campo[3];
                        Hora    = campo[4];

                        /*SentidoLigacao = campo[5];
                         * TipoLigacao = campo[6];
                         * ModalidadeLigacao = campo[7];*/
                    }
                    catch (IndexOutOfRangeException)
                    {
                        throw new InvalidCastException("Arquivo fora do padrão!");
                    }

                    Clid_novo = Clid;
                    Dst_novo  = Dst;

                    dtEotLocOrigem   = ObterEotLocalidade(Clid_novo);
                    EotOrigem        = 0;
                    LocalidadeOrigem = "";
                    foreach (DataRow dr in dtEotLocOrigem.Rows)
                    {
                        EotOrigem        = Convert.ToInt32(dr["eot"].ToString());
                        LocalidadeOrigem = dr["localidade"].ToString();
                    }

                    dtEotLocDestino   = ObterEotLocalidade(Dst_novo);
                    EotDestino        = 0;
                    LocalidadeDestino = "";
                    foreach (DataRow dr in dtEotLocDestino.Rows)
                    {
                        EotDestino        = Convert.ToInt32(dr["eot"].ToString());
                        LocalidadeDestino = dr["localidade"].ToString();
                    }

                    //Verificação de Localidades e Tipo de Ligações (Entrante e Sainte)
                    if (LocalidadeOrigem == "SPO" && LocalidadeDestino == "SPO" && (EotOrigem.ToString() == "829" || EotDestino.ToString() == "829"))
                    {
                        ModalidadeLigacao = "L";
                        if (EotOrigem.ToString() == "829")
                        {
                            Entrante = 0;
                            Sainte   = 1;
                        }
                        else
                        {
                            Entrante = 1;
                            Sainte   = 0;
                        }
                    }
                    else if (LocalidadeDestino == "INTL")
                    {
                        ModalidadeLigacao = "I";
                        if (EotOrigem.ToString() == "829")
                        {
                            Entrante = 0;
                            Sainte   = 1;
                        }
                        else
                        {
                            Entrante = 1;
                            Sainte   = 0;
                        }
                    }
                    else
                    {
                        ModalidadeLigacao = "N";
                        if (EotOrigem.ToString() == "829")
                        {
                            Entrante = 0;
                            Sainte   = 1;
                        }
                        else if (EotDestino.ToString() == "829")
                        {
                            Entrante = 1;
                            Sainte   = 0;
                        }
                        else if (Dst == "02910329")
                        {
                            Entrante = 1;
                            Sainte   = 0;
                        }
                        else
                        {
                            Entrante = 1;
                            Sainte   = 1;
                        }
                    }
                    TipoLigacao = "N";
                    if (Dst_novo.StartsWith("90"))
                    {
                        TipoLigacao = "A";
                    }

                    //strDateTime = "1992-10-10 12:15:12";
                    ano         = Data.Substring(0, 4);
                    mes         = Data.Substring(4, 2);
                    dia         = Data.Substring(6, 2);
                    strDateTime = ano + "-" + mes + "-" + dia + " " + Hora;
                    DateCdr     = DateTime.Parse(strDateTime);

                    objCdrDal.GravarCdr(Clid_novo, EotOrigem, LocalidadeOrigem, Dst_novo, EotDestino, LocalidadeDestino, Billsec, Data, Hora, DateCdr, Entrante, Sainte, TipoLigacao, ModalidadeLigacao);
                }
            }
            objReader.Close();
            objReader.Dispose();
            objLogger = null;
            objCdrDal = null;

            return(erroMetodo);
        }