/// <summary> /// Busca os funcionarios pelo tipo /// </summary> /// <param name="tipo">enumerador do tipo de funcionario</param> /// <returns>Retorna uma lista de funcionarios</returns> public static List <Funcionario> GetFuncionariosTipados(EnumTipoFuncionario tipo) { List <Funcionario> listaRetorno = new List <Funcionario>(); if (tipo == EnumTipoFuncionario.Funcionario) { string[] linhas = File.ReadAllLines(CAMINHOARQUIVOFUNCIONARIO); foreach (string linha in linhas) { Funcionario f = MontaFuncionario(linha); if (f.Tipo == 'F') { listaRetorno.Add(MontaFuncionario(linha)); } } } else if (tipo == EnumTipoFuncionario.Gerente) { string[] linhas = File.ReadAllLines(CAMINHOARQUIVOFUNCIONARIO); foreach (string linha in linhas) { Funcionario f = MontaFuncionario(linha); if (f.Tipo == 'G') { listaRetorno.Add(MontaFuncionario(linha)); } } } return(listaRetorno); }
public void CadastraFuncionario(string nome, float salarioContratual, DateTime dataAdmissao, EnumTipoFuncionario enumTipoFuncionario) { SalveFuncionario(nome, salarioContratual, dataAdmissao, enumTipoFuncionario, null); }
public static Funcionario Crie(string nome, float salarioContratual, DateTime dataAdmissao, EnumTipoFuncionario enumTipoFuncionario, CNH cnh) { Funcionario funcionario = null; switch (enumTipoFuncionario) { case EnumTipoFuncionario.AUTONOMO: funcionario = new FuncionarioAutonomo(nome, 0, salarioContratual, dataAdmissao); break; case EnumTipoFuncionario.CLT: funcionario = new FuncionarioCLT(nome, 0, salarioContratual, dataAdmissao); break; case EnumTipoFuncionario.PROLABORE: funcionario = new FuncionarioProlabore(nome, 0, salarioContratual, dataAdmissao); break; case EnumTipoFuncionario.INTERMITENTE: funcionario = new FuncionarioIntermitente(nome, 0, salarioContratual, dataAdmissao); break; default: throw new ArgumentException("Tipo nao mapeado na fabrica"); } funcionario.CNH = cnh; return(funcionario); }
public TabelaDeFuncionarios(string matricula, EnumTipoFuncionario tipoFuncionario, string nome, double salario, DateTime dataAdmissao, string cargo) { Matricula = matricula; Nome = nome; Salario = salario; DataAdmissao = dataAdmissao; Cargo = cargo; TipoFuncionario = tipoFuncionario; }
public void CadastrarFuncionario(Funcionario funcionario, EnumTipoFuncionario tipoFuncionario) { try { Validacao.Valide(funcionario); BancoDeDadosEmMemoria <TabelaDeFuncionarios> .Singleton.Inserir(new TabelaDeFuncionarios(funcionario.Matricula, tipoFuncionario, funcionario.Nome, funcionario.Salario, funcionario.DataAdmissao, funcionario.Cargo)); } catch (ValidacaoException erro) { MantenedorDeErros.GravarErros(erro.ListaDeErros); } }
private void SalveFuncionario(string nome, float salarioContratual, DateTime dataAdmissao, EnumTipoFuncionario enumTipoFuncionario, CNH cnh) { if (ValidaCNH(cnh)) { throw new ArgumentException(); } Funcionario funcionario = FabricaFuncionarios.Crie(nome, salarioContratual, dataAdmissao, enumTipoFuncionario, cnh); var mensagens = ValidadorGenerico.ValideGenerico(funcionario); if (!mensagens.Any()) { repositorioFuncionario.Insert(funcionario); } }