예제 #1
0
        // Não possui camada de visualização, pois query é simples demais
        public List <BaseRadaresDTO> GetPerfilVelocidadesRadar(int velocidadeMin, int velocidadeMax)
        {
            List <BaseRadaresDTO> lstRetorno = new List <BaseRadaresDTO>();

            using (Npgsql.NpgsqlConnection conn = new Npgsql.NpgsqlConnection(connString))
            {
                Npgsql.NpgsqlCommand comm = conn.CreateCommand();
                comm.CommandTimeout = 420;

                comm.CommandType = CommandType.Text;
                comm.CommandText = "select lote, codigo, endereco, sentido, referencia, tipo_equip, enquadrame, qtde_fxs_f,  \n" +
                                   "data_publi, velocidade, lat, lon, bairro  from \"BaseRadares\" b where velocidade_carro_moto between " + velocidadeMin.ToString() + " and " + velocidadeMax + ";";

                conn.Open();

                Npgsql.NpgsqlDataReader dr = comm.ExecuteReader();


                while (dr.Read())
                {
                    BaseRadaresDTO ett = new BaseRadaresDTO();
                    ett.Lote            = Convert.ToInt32(dr["lote"]);
                    ett.Codigo          = dr["codigo"].ToString();
                    ett.Endereco        = dr["endereco"].ToString();
                    ett.Sentido         = dr["sentido"].ToString();
                    ett.Referencia      = dr["referencia"].ToString();
                    ett.TipoEquipamento = dr["tipo_equip"].ToString();
                    ett.Enquadramento   = dr["enquadrame"].ToString();
                    ett.QtdeFaixas      = Convert.ToInt32(dr["qtde_fxs_f"]);
                    ett.DataPublicacao  = dr["data_publi"].ToString();
                    ett.Velocidade      = dr["velocidade"].ToString();
                    ett.Lat             = dr["lat"].ToString();
                    ett.Lon             = dr["lon"].ToString();
                    ett.Bairro          = dr["bairro"].ToString();

                    lstRetorno.Add(ett);
                }
            }

            return(lstRetorno);
        }
예제 #2
0
        public byte[] GetRadaresTipoEnquadramentoCSV(string[] Enquadramentos) // TODO: usar o parametro para a requisicao
        {
            List <BaseRadaresDTO> lstRadares = new List <BaseRadaresDTO>();
            StringBuilder         sb         = new StringBuilder();
            string linha = String.Empty;

            sb.AppendLine("lote;codigo;endereco;sentido;referencia;tipo_equip;enquadrame;qtde_fxs_f;data_publi;velocidade;lat;lon;bairro;");

            using (Npgsql.NpgsqlConnection conn = new Npgsql.NpgsqlConnection(connString))
            {
                Npgsql.NpgsqlCommand comm = conn.CreateCommand();
                comm.CommandTimeout = 420;

                comm.CommandType = CommandType.Text;
                comm.CommandText = "select lote, codigo, endereco, sentido, referencia, tipo_equip, enquadrame, qtde_fxs_f,  \n" +
                                   "data_publi, velocidade, lat, lon, bairro  from \"BaseRadares\" b;";

                conn.Open();

                Npgsql.NpgsqlDataReader dr = comm.ExecuteReader();

                while (dr.Read())
                {
                    BaseRadaresDTO ett = new BaseRadaresDTO();
                    ett.Lote            = Convert.ToInt32(dr["lote"]);
                    ett.Codigo          = dr["codigo"].ToString();
                    ett.Endereco        = dr["endereco"].ToString();
                    ett.Sentido         = dr["sentido"].ToString();
                    ett.Referencia      = dr["referencia"].ToString();
                    ett.TipoEquipamento = dr["tipo_equip"].ToString();
                    ett.Enquadramento   = dr["enquadrame"].ToString();

                    try
                    {
                        ett.QtdeFaixas = Convert.ToInt32(dr["qtde_fxs_f"]);
                    }
                    catch { ett.QtdeFaixas = 0; }

                    ett.DataPublicacao = dr["data_publi"].ToString();
                    ett.Velocidade     = dr["velocidade"].ToString();
                    ett.Lat            = dr["lat"].ToString().Replace(".", ",");
                    ett.Lon            = dr["lon"].ToString().Replace(".", ",");
                    ett.Bairro         = dr["bairro"].ToString();

                    lstRadares.Add(ett);
                }
            }

            lstRadares = lstRadares.Where(d => Enquadramentos.Any(e => d.Enquadramento.Split("-").Contains(e))).ToList();

            foreach (BaseRadaresDTO ett in lstRadares)
            {
                linha += ett.Lote.ToString() + ";";
                linha += ett.Codigo + ";";
                linha += ett.Endereco + ";";
                linha += ett.Sentido + ";";
                linha += ett.Referencia + ";";
                linha += ett.TipoEquipamento + ";";
                linha += ett.Enquadramento + ";";
                linha += ett.QtdeFaixas.ToString() + ";";
                linha += ett.DataPublicacao + ";";
                linha += ett.Velocidade + ";";
                linha += ett.Lat.ToString().Replace(".", ",") + ";";
                linha += ett.Lon.ToString().Replace(".", ",") + ";";
                linha += ett.Bairro + ";";

                sb.AppendLine(linha);
                linha = String.Empty;
            }

            byte[] csv = Encoding.Unicode.GetBytes(sb.ToString());

            return(csv);
        }