예제 #1
0
        public virtual void Atualiza(T item)
        {
            using var connection = DataBase.AbreConexao();

            ValidaCondicao(item);

            using var command = new FbCommand($"update {_nomeTabela} set {item.RecebeColunasIgualValorParaSql()} where id = {item.Id}", connection);

            command.ExecuteNonQuery();
        }
예제 #2
0
        public virtual void Insere(T item)
        {
            using var connection = DataBase.AbreConexao();

            ValidaCondicao(item);

            using var command  = new FbCommand();
            command.Connection = connection;
            var commandtext = $"insert into {_nomeTabela} {item.RecebeNomeDasColunasDaTabelaParaSql()} values {item.RecebeValorDasPropriedadesParaSql()}";

            command.CommandText = commandtext;

            command.ExecuteNonQuery();
        }
예제 #3
0
        public void Deleta(T item)
        {
            try
            {
                PesquisaPorId(item.Id);
            }
            catch (PesquisaSemSucessoException)
            {
                throw new FalhaEmDeletarException("Item inexistente, portanto impossível deletar!");
            }

            using var connection = DataBase.AbreConexao();

            using var command = new FbCommand($"delete from {_nomeTabela} where id = {item.Id}", connection);

            command.ExecuteNonQuery();
        }
예제 #4
0
        public T PesquisaPorId(int id)
        {
            using var connection = DataBase.AbreConexao();

            using var command = new FbCommand($"select * from {_nomeTabela} where id = {id}", connection);

            var reader = command.ExecuteReader();

            if (reader.Read())
            {
                var propriedades = GeraPropriedadesParaConstrutor(reader);

                return((T)Activator.CreateInstance(typeof(T), propriedades));
            }
            else
            {
                throw new PesquisaSemSucessoException(_nomeTabela);
            }
        }
예제 #5
0
        public List <T> PesquisaTodos()
        {
            using var connection = DataBase.AbreConexao();

            using var command = new FbCommand($"select * from {_nomeTabela} order by id asc", connection);

            var reader = command.ExecuteReader();

            List <T> itens = new List <T>();

            while (reader.Read())
            {
                var propriedades = GeraPropriedadesParaConstrutor(reader);

                itens.Add(InstanciaObjeto(propriedades));
            }

            return(itens);
        }
예제 #6
0
        public Login PesquisaPorUsuario(string usuario)
        {
            using var connection = DataBase.AbreConexao();

            using var command = new FbCommand($"select * from {_nomeTabela} where log_usuario = \'{usuario}\'", connection);

            var reader = command.ExecuteReader();

            if (reader.Read())
            {
                var values = GeraPropriedadesParaConstrutor(reader);

                return(new Login(values));
            }
            else
            {
                throw new PesquisaSemSucessoException(_nomeTabela);
            }
        }
예제 #7
0
        public Conta PesquisaPorCpf(string cpf)
        {
            using var connection = DataBase.AbreConexao();

            using var command = new FbCommand($"select * from {_nomeTabela} where con_cpf = \'{cpf}\'", connection);

            var reader = command.ExecuteReader();

            if (reader.Read())
            {
                var propriedades = GeraPropriedadesParaConstrutor(reader);

                return(InstanciaObjeto(propriedades));
            }
            else
            {
                throw new PesquisaSemSucessoException(_nomeTabela);
            }
        }