Exemplo n.º 1
0
        public async Task <Unidade> BuscarVeiculo(Passagem passagem, string Procedimento = null)
        {
            string url  = Address + Procedimento + passagem.rfid;
            string info = await Pesquisar(url);

            if (info != null)
            {
                Unidade unidade = new Unidade();
                unidade.ListaVeiculos = JsonConvert.DeserializeObject <List <Veiculo> >(info);
                unidade.CarregarInformacoes();
                return(unidade);
            }

            return(null);
        }
Exemplo n.º 2
0
        public async Task <Unidade> Pesquisar <T>(Passagem passagem, string Procedimento = null)
        {
            try
            {
                IniciarConexao();
                using (var cmd = new NpgsqlCommand("buscarpedestre", connection))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("info", NpgsqlDbType.Json, passagem.rfid);

                    NpgsqlDataAdapter ad = new NpgsqlDataAdapter(cmd);
                    DataTable         dt = new DataTable();

                    ad.Fill(dt);

                    using (var reader = cmd.ExecuteReader())
                    {
                        reader.Read();
                        if (dt.Rows.Count > 0)
                        {
                            Unidade unidade   = new Unidade();
                            T       checkType = default(T);

                            if (checkType is Pedestre)
                            {
                                unidade.ListaPessoas = JsonConvert.DeserializeObject <List <Pedestre> >(dt.Rows[0].ItemArray[0].ToString());
                            }
                            else
                            {
                                unidade.ListaVeiculos = JsonConvert.DeserializeObject <List <Veiculo> >(dt.Rows[0].ItemArray[0].ToString());
                            }
                            unidade.CarregarInformacoes();
                            return(unidade);
                        }
                    }
                }
            }
            catch (NpgsqlException exception)
            {
                throw new Exception(exception.Message);
            }
            finally
            {
                connection.Close();
            }
            return(null);
        }