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(); }
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(); }
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(); }
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); } }
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); }
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); } }
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); } }