Example #1
0
        public static List <Avaria> Where(string atributo, string operador, object valor)
        {
            List <Avaria> avarias = new List <Avaria>();
            DBConnection  db      = new DBConnection();
            DataTable     table;

            string descricao, imagem;
            int    id, contrato_id, tipo_id, estado_id;

            Contrato     contrato;
            EstadoAvaria estado;
            TipoAvaria   tipo;

            table = db.Query("SELECT * FROM avaria WHERE " + atributo + " " + operador + " @0", valor);

            //Percorrer todas as linhas retornadas da base de dados
            foreach (DataRow row in table.Rows)
            {
                id          = row.Field <int>("id");
                descricao   = row.Field <string>("descricao");
                imagem      = row.Field <string>("imagem");
                contrato_id = row.Field <int>("contrato_id");
                tipo_id     = row.Field <int>("tipo_avaria_id");
                estado_id   = row.Field <int>("estado_id");

                contrato = Contratos.GetById(contrato_id);
                estado   = EstadosAvaria.GetById(estado_id);
                tipo     = TiposAvaria.GetById(tipo_id);

                avarias.Add(new Avaria(id, tipo, descricao, imagem, estado));
            }

            return(avarias);
        }
        /// <summary>
        /// Devolve todas as leituras com uma certa condição
        /// </summary>
        /// <param name="atributo">Parametro a ser comparado</param>
        /// <param name="operador">Termo de avaliação</param>
        /// <param name="valor">Valor a comparar</param>
        /// <returns></returns>
        public static List <Leitura> Where(string atributo, string operador, object valor)
        {
            List <Contrato> contratos = new List <Contrato>();
            DBConnection    db        = new DBConnection();
            DataTable       table;

            int      id, valorLeitura, contrato_id;
            DateTime data;
            Contrato contrato;

            table = db.Query("SELECT * FROM leitura WHERE " + atributo + " " + operador + " @0", valor);

            //Percorrer todas as linhas retornadas da base de dados
            foreach (DataRow row in table.Rows)
            {
                id           = row.Field <int>("id");
                valorLeitura = row.Field <int>("valor");
                data         = row.Field <DateTime>("data");
                contrato_id  = row.Field <int>("contrato_id");

                contrato = Contratos.GetById(contrato_id);

                leituras.Add(new Leitura(id, data, valorLeitura, contrato));
            }

            return(leituras);
        }
Example #3
0
        public static Avaria GetById(int id)
        {
            DBConnection db;
            Avaria       avaria = avarias.FindLast(x => x.Id == id);
            DataTable    table;

            int    contrato_id, tipo_id, utilizador_id, estado_id;
            string descricao, imagem;

            Utilizador   uti;
            Contrato     contrato;
            TipoAvaria   tipo;
            EstadoAvaria estado;

            //1º tenta ver se ja tem esse tipo em memoria
            if (avaria != null)
            {
                return(avaria);
            }

            //Caso nao tenha esse tipo em memoria vai à base de dados
            db    = new DBConnection();
            table = db.Query("SELECT * FROM avaria WHERE id = @0", id);

            //Se o id não existir também na base de dados retorna objeto default
            if (table.Rows.Count == 0)
            {
                return(null);
            }

            //criar variaveis necessarias par ao objeto de utilizador
            descricao     = table.Rows[0].Field <string>("descricao");
            utilizador_id = table.Rows[0].Field <int>("utilizador_id");
            contrato_id   = table.Rows[0].Field <int>("contrato_id");
            imagem        = table.Rows[0].Field <string>("imagem");
            tipo_id       = table.Rows[0].Field <int>("tipo_avaria_id");
            estado_id     = table.Rows[0].Field <int>("estado_id");

            uti      = Utilizadores.GetById(utilizador_id);
            contrato = Contratos.GetById(contrato_id);
            tipo     = TiposAvaria.GetById(tipo_id);
            estado   = EstadosAvaria.GetById(estado_id);

            //Criar novo objeto de Utilizador
            avaria = new Avaria(id, tipo, descricao, imagem, estado);
            avarias.Add(avaria);

            return(avaria);
        }