Ejemplo n.º 1
0
        /// <summary>
        /// Método que recebe o arquivo txt de eot para ser processado
        /// O mesmo retorna um valor booleano que indica se teve criticas ou não
        /// </summary>
        /// <param name="objReader"></param>
        /// <returns></returns>
        public bool ProcessarPrefixo(StreamReader objReader)
        {
            bool   erro  = false;
            string sLine = "";

            DETRAF.DAL.PrefixoDal objPrefixoDal = new DETRAF.DAL.PrefixoDal();
            DETRAF.LOGGER.Logger  objLogger     = new DETRAF.LOGGER.Logger();

            while (sLine != null)
            {
                sLine = objReader.ReadLine();
                if (!string.IsNullOrEmpty(sLine))
                {
                    string[] campo = sLine.Split(new char[] { ';' });

                    try
                    {
                        CodPrefixo = campo[0];
                        CodEot     = Convert.ToInt32(campo[1]);
                        Localidade = campo[2];

                        objPrefixoDal.GravarPrefixo(codPrefixo, CodEot, Localidade);
                    }
                    catch (Exception ex)
                    {
                        erro = true;
                        objLogger.Gravar(@"C:/detraf/eot/critica-prefixo.txt", sLine.ToString() + " - " + ex.Message);
                    }
                }
            }

            objReader.Close();
            objReader.Dispose();

            objLogger     = null;
            objPrefixoDal = null;

            return(erro);
        }
Ejemplo n.º 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);
        }