private static DataTable obterFuncionarios(string query, params object[] valores) { DataTable funcionarios = new DataAcessSqlCE().Consultar(query, valores); //Adiciono uma coluna para adicionar o nome dos departamentos funcionarios.Columns.Add("Nome Departamento", typeof(string)); //Busco os departamentos para comparar List <Departamento> departamentos = Departamento.BuscarDepartamentos(); //Pego o Id e adiciono o nome dos departamentos foreach (DataRow linha in funcionarios.Rows) { int idD; if (int.TryParse(linha["Id_Departamento"].ToString(), out idD)) { linha["Nome Departamento"] = (from d in departamentos where d.Id_D == idD select d.Nome).First();//linha["Nome"];linha["Nome Departamento"] } } funcionarios.Columns.Remove("Id_Departamento"); //if(funcionarios.Rows.Count == 0) // throw new Exception("Não possui nenhum funcionario cadastrado!"); return(funcionarios); }
public static int TotalDeFuncionariosCadastrados() { DataAcessSqlCE acessoDados = new DataAcessSqlCE(); string query = "SELECT COUNT(Id_F) FROM Funcionario"; return(Convert.ToInt32(acessoDados.ObterUnicoValor(query))); }
public static int BuscarProxIdACadastrar() { DataAcessSqlCE acessoDados = new DataAcessSqlCE(); string query = @"SELECT AUTOINC_NEXT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='Funcionario' AND COLUMN_NAME='Id_F'"; return(Convert.ToInt32(acessoDados.ObterUnicoValor(query))); }
public static Departamento BuscarDepartamentoPorId(int id) { Departamento departamento = new DataAcessSqlCE().Consultar <Departamento>("SELECT * FROM Departamento WHERE Id_D = @id", id).FirstOrDefault(); if (departamento == null) { throw new Exception("Não possui nenhum departamento cadastrado!"); } return(departamento); }
public void Excluir() { if (this.Id_F == 0) { throw new Exception("É necessario a identificação do Id para Exclusão!"); } DataAcessSqlCE acessoDados = new DataAcessSqlCE(); acessoDados.Executar("DELETE FROM Funcionario WHERE Id_F = @id", this.Id_F); }
/// <summary> /// Busca funcionarios por parte do nome ou nome completo /// </summary> /// <param name="nome"></param> /// <param name="nomePorCompleto">Caso true, procura o funcionario pelo nome completo</param> /// <returns></returns> public static List <Departamento> BuscarDepartamentos(string nome = null, bool nomePorCompleto = false) { string valor = nomePorCompleto ? nome : "%" + nome + "%"; List <Departamento> departamentos = new DataAcessSqlCE().Consultar <Departamento>("SELECT * FROM Departamento WHERE Nome LIKE @nome ORDER BY Id_D", valor); if (!nomePorCompleto && departamentos.Count == 0) { throw new Exception("Não Existe nenhum departamento com esse Nome!"); } return(departamentos); }
private bool cpfExiste(string CPF) { DataAcessSqlCE acessoBanco = new DataAcessSqlCE(); int qntRegistros = (int)acessoBanco.ObterUnicoValor("SELECT COUNT('Id_F') FROM Funcionario WHERE CPF = @valor", CPF); if (qntRegistros > 0) { return(true); } else { return(false); } }
//Methods public void Cadastrar() { if (this.Nome.Trim().Equals(string.Empty)) { throw new ExceptionNomeVazio("O Campo Nome não pode ser vazio"); //exceção explícita } DataAcessSqlCE acessoBanco = new DataAcessSqlCE(); if (nomeExiste(this.Nome.Trim())) { throw new ExceptionRegistroExistente("Já Existe um Departamento com este nome"); } acessoBanco.Executar("INSERT INTO Departamento (Nome) VALUES", this.Nome); }
//Metodos public void Cadastrar() { if (string.IsNullOrEmpty(this.Nome)) { throw new ExceptionNomeVazio("O campo nome é obrigatório"); } if (cpfExiste(this.CPF)) { throw new ExceptionRegistroExistente("Já possui um Funcionario com o CPF cadastrado"); } DataAcessSqlCE acessoDados = new DataAcessSqlCE(); acessoDados.Executar("INSERT INTO Funcionario (Nome, CPF, DataNascimento, Sexo, Celular, Foto, Email, DataAdmissao, Id_Departamento, Salario, Ativo) VALUES", this.Nome, this.CPF, this.DataNascimento, this.Sexo, this.Celular, this.Foto, this.Email, this.DataAdmissao, (this.Departamento == null ? (int?)null : (int?)this.Departamento.Id_D), this.Salario, this.Ativo); }
public void SalvarAlteracoes() { if (this.Nome.Trim().Equals(string.Empty)) { throw new ExceptionNomeVazio("O Campo Nome não pode ser vazio"); //exceção explícita } DataAcessSqlCE acessoBanco = new DataAcessSqlCE(); if (nomeExiste(this.Nome)) { throw new ExceptionRegistroExistente("Já Existe um Departamento com este nome"); } acessoBanco.Executar("UPDATE Departamento SET Nome " + "WHERE Id_D = @id", this.Id_D, this.Nome); }
public static void BuscarMaiorMenorSalarioEData(out float maiorValorSalarial, out float menorValorSalarial, out DateTime dataMax, out DateTime dataMin) { DataTable dt = new DataAcessSqlCE().Consultar("SELECT MAX(Salario) AS MaiorSalario, MIN(Salario) As MenorSalario, MAX(DataAdmissao) AS MaiorData, MIN(DataAdmissao) AS MenorData FROM Funcionario"); if (!string.IsNullOrEmpty(dt.Rows[0][0].ToString())) { maiorValorSalarial = Convert.ToSingle(dt.Rows[0]["MaiorSalario"]); } else { maiorValorSalarial = 100000; } if (!string.IsNullOrEmpty(dt.Rows[0][1].ToString())) { menorValorSalarial = Convert.ToSingle(dt.Rows[0]["MenorSalario"]); } else { menorValorSalarial = 0; } if (!string.IsNullOrEmpty(dt.Rows[0][2].ToString())) { dataMax = Convert.ToDateTime(dt.Rows[0]["MaiorData"]); } else { dataMax = DateTime.Now; } if (!string.IsNullOrEmpty(dt.Rows[0][3].ToString())) { dataMin = Convert.ToDateTime(dt.Rows[0]["MenorData"]); } else { dataMin = new DateTime(1753, 1, 1); } //} //else //{ // // // // dataMin = new DateTime(1753, 1, 1); //} }
public static Funcionario BuscarFuncionarioPorId(int id) { //retorna Departamento Nullo por conta da propriedade ser de um tipo diferente do banco. Funcionario funcionario = new DataAcessSqlCE().Consultar <Funcionario>("SELECT * FROM Funcionario WHERE Id_F = @id", id).FirstOrDefault(); if (funcionario == null) { throw new Exception("Este Id não pertence a nenhum funcionario!"); } Departamento departamento = new DataAcessSqlCE().Consultar <Departamento>("SELECT * FROM Departamento WHERE Id_D in (SELECT Id_Departamento FROM Funcionario WHERE Id_F = @idfunc)", id).FirstOrDefault();//subquerie,Busca o departamento do Funcionario de Id X if (departamento != null) { funcionario.Departamento = departamento; } return(funcionario); }
public void SalvarAlteracoes() { if (string.IsNullOrEmpty(this.Nome)) { throw new ExceptionNomeVazio("O campo nome é obrigatório"); } DataAcessSqlCE acessoDados = new DataAcessSqlCE(); string cpfOld = acessoDados.ObterUnicoValor("SELECT CPF FROM Funcionario WHERE Id_F = @id", this.Id_F).ToString(); if (cpfOld != this.CPF && cpfExiste(this.CPF)) { throw new ExceptionRegistroExistente("Já possui um Funcionario com o CPF cadastrado"); } acessoDados.Executar("UPDATE Funcionario SET Nome, CPF, DataNascimento, Sexo, Celular, Foto, Email, DataAdmissao, Id_Departamento, Salario, Ativo " + "WHERE Id_F = @idfunc", this.Id_F, this.Nome, this.CPF, this.DataNascimento, this.Sexo, this.Celular, this.Foto, this.Email, this.DataAdmissao, (this.Departamento == null ? (int?)null : (int?)this.Departamento.Id_D), this.Salario, this.Ativo); }
private bool nomeExiste(string nomeDepartamento) { //verifica se ja existe o departamento try { DataAcessSqlCE acessoBanco = new DataAcessSqlCE(); //int qtdRegistros = acessoBanco.VerificarSeExiste("Departamento", "Nome", nomeDepartamento); int qntRegistros = (int)acessoBanco.ObterUnicoValor("SELECT COUNT('Id_D') FROM Departamento WHERE Nome = @valor", nomeDepartamento); if (qntRegistros > 0) { return(true); } else { return(false); } } catch { throw; } }
public void Excluir() { DataAcessSqlCE acessoBanco = new DataAcessSqlCE(); acessoBanco.Executar("DELETE FROM Departamento WHERE Id_D = @id", this.Id_D); }