public static void Renderizar2() { Funcionario f = new Funcionario(); FolhaDePagamento fp = new FolhaDePagamento(); Console.WriteLine("Digite o cpf do funcionario"); f.cpf = Console.ReadLine(); f = FuncionarioDAO.BuscarFuncionarioCpf(f); if (f != null) { foreach (FolhaDePagamento folhaCadastrada in FolhaPagamentoDAO.BuscarFolhaPorCpf(f.cpf)) { Console.WriteLine("--------------------- \n"); Console.WriteLine("Nome do Funcionario: " + folhaCadastrada.Funcionario.nome); Console.WriteLine("Cargo do Funcionario: " + folhaCadastrada.Cargo.nomeCargo); Console.WriteLine("Mes: " + folhaCadastrada.MesAno.Month + " Ano: " + folhaCadastrada.MesAno.Year); Console.WriteLine("Salário Bruto: R$: " + Calculos.CalcularSalarioBruto(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)); Console.WriteLine("Imposto de Renda: R$: " + Calculos.CalcularImpostoRenda(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)); Console.WriteLine("Imposto de Renda: R$: " + Calculos.CalcularImpostoRenda(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)); Console.WriteLine("INSS: R$: " + Calculos.CalcularINSS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)); Console.WriteLine("FGTS: R$: " + Calculos.CalcularFGTS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)); Console.WriteLine("Bonus: " + folhaCadastrada.Cargo.bonus); Console.WriteLine("Salario Líquido: R$: " + (Calculos.CalcularSalarioBruto(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus) - Calculos.CalcularImpostoRenda(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus) - Calculos.CalcularINSS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus))); } } else { Console.WriteLine("Cpf nao encontrado"); } }
public static void Renderizar3() { Funcionario f = new Funcionario(); FolhaDePagamento fp = new FolhaDePagamento(); Console.WriteLine(" -- Folhas de Pagamento Cadastradas --\n"); Console.WriteLine("Digite o Mes e o ano: "); fp.MesAno = Convert.ToDateTime(Console.ReadLine()); if (fp.MesAno != null) { foreach (FolhaDePagamento folhaCadastrada in FolhaPagamentoDAO.BuscarFolhaPorMesAno(Convert.ToString(fp.MesAno.Month), Convert.ToString(fp.MesAno.Year))) { Console.WriteLine("--------------------- \n"); Console.WriteLine("Nome do Funcionario: " + folhaCadastrada.Funcionario.nome); Console.WriteLine("Cargo do Funcionario: " + folhaCadastrada.Cargo.nomeCargo); Console.WriteLine("Mes: " + folhaCadastrada.MesAno.Month + " Ano: " + folhaCadastrada.MesAno.Year); Console.WriteLine("Salário Bruto: R$: " + Calculos.CalcularSalarioBruto(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)); Console.WriteLine("Imposto de Renda: R$: " + Calculos.CalcularImpostoRenda(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)); Console.WriteLine("INSS: R$: " + Calculos.CalcularINSS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)); Console.WriteLine("FGTS: R$: " + Calculos.CalcularFGTS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)); Console.WriteLine("Bonus: " + folhaCadastrada.Cargo.bonus); Console.WriteLine("Salario Líquido: R$: " + (Calculos.CalcularSalarioBruto(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus) - Calculos.CalcularImpostoRenda(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus) - Calculos.CalcularINSS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus))); } } }
public static void Renderizar() { Funcionario f = new Model.Funcionario(); FolhaDePagamento fp = new FolhaDePagamento(); Console.WriteLine("\tCONSULTAR HISTÓRICO DE FOLHAS DE PAGAMENTO DO FUNCIONÁRIO"); Console.WriteLine("Informe o CPF do Funcionário: "); f.Cpf = Console.ReadLine(); f = FuncionarioDAO.BuscarFuncionarioPorCpf(f.Cpf); if (f != null) { double total = 0; foreach (FolhaDePagamento pgtosCadastradas in FolhaDePagamentoDAO.RetornaFolhasDePagementoPorFuncionario(f.Cpf)) { Console.WriteLine("\n"); Console.WriteLine("Nome do funcionário: " + pgtosCadastradas.Funcionario.Nome); Console.WriteLine("Cargo: " + pgtosCadastradas.Cargo.Nome); Console.WriteLine("Data da folha de pagamento: " + pgtosCadastradas.MesAno.ToString("MM/yyyy")); Console.WriteLine("Salário Bruto: " + Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2")); Console.WriteLine("Imposto de Renda: " + Calculos.ImpostoDeRenda(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2")); Console.WriteLine("INSS: " + Calculos.INSS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2")); Console.WriteLine("FGTS: " + Calculos.FGTS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2")); Console.WriteLine("Bônus: " + Calculos.Bonus(pgtosCadastradas.Cargo.Bonus, pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2")); Console.WriteLine("Salário Líquido: " + (Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora) - Calculos.ImpostoDeRenda(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora) - Calculos.INSS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora)).ToString("C2")); total += Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora); } Console.WriteLine("\t\tTotal Salário: " + total.ToString("C2")); } else { Console.WriteLine("Funcionário não encontrado"); } }
public static void Renderizar() { FolhaDePagamento fp = new FolhaDePagamento(); Console.WriteLine("\tCONSULTAR HISTÓRICO DE FOLHAS DE PAGAMENTO DO MÊS"); Console.WriteLine("informe o mês e ano: "); fp.MesAno = Convert.ToDateTime(Console.ReadLine()); fp = FolhaDePagamentoDAO.ConsultarFolhaDePagamentoMesAno(fp.MesAno.Month, fp.MesAno.Year); if (fp != null) { double total = 0; foreach (FolhaDePagamento pgtosCadastradas in FolhaDePagamentoDAO.RetornaFolhasDePamanetoPorMesAno(fp.MesAno.Month, fp.MesAno.Year)) { Console.WriteLine("\n"); Console.WriteLine("Nome do funcionário: " + pgtosCadastradas.Funcionario.Nome); Console.WriteLine("Cargo: " + pgtosCadastradas.Cargo.Nome); Console.WriteLine("Data da folha de pagamento: " + pgtosCadastradas.MesAno.ToString("MM/yyyy")); Console.WriteLine("Salário Bruto: " + Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2")); Console.WriteLine("Imposto de Renda: " + Calculos.ImpostoDeRenda(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2")); Console.WriteLine("INSS: " + Calculos.INSS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2")); Console.WriteLine("FGTS: " + Calculos.FGTS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2")); Console.WriteLine("Bônus: " + Calculos.Bonus(pgtosCadastradas.Cargo.Bonus, pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2")); Console.WriteLine("Salário Líquido: " + (Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora) - Calculos.ImpostoDeRenda(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora) - Calculos.INSS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora)).ToString("C2")); total += Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora); } Console.WriteLine("\tTotal Salário: " + total.ToString("C2")); } else { Console.WriteLine("Nenhum registro encontrado para essa data"); } }
public static bool CadastrarFolhaDePagamento(FolhaDePagamento pgto) { if (ConsultarFolhaDePagamento(pgto.Funcionario.Cpf, pgto.MesAno.Month, pgto.MesAno.Year) != null) { return(false); } pagtos.Add(pgto); return(true); }
public static bool CadastrarFolhaPagamento(FolhaDePagamento fp) { if (BuscarFolhaPorFuncionarioData(fp) == null) { folhaPagamentos.Add(fp); return(true); } return(false); }
public static FolhaDePagamento BuscarFolhaPorFuncionarioData(FolhaDePagamento fp) { foreach (FolhaDePagamento folhaCadastrada in folhaPagamentos) { if (folhaCadastrada.Funcionario.cpf.Equals(fp.Funcionario.cpf) && folhaCadastrada.MesAno.Month == fp.MesAno.Month && folhaCadastrada.MesAno.Year == fp.MesAno.Year) { return(folhaCadastrada); } } return(null); }
public void TestFolhaDePagamento() { FolhaDePagamento folha = new FolhaDePagamento(); Demonstrativo demonstrativo = folha.GerarDemonstrativo(200, 5000, 50, 10); Assert.AreEqual(1250, demonstrativo.HorasExtras.ValorTotalHoras); Assert.AreEqual(250, demonstrativo.HorasDescontadas.ValorTotalHoras); Assert.AreEqual(6000, demonstrativo.TotalProventos); Assert.AreEqual(2085, demonstrativo.TotalDescontos); Assert.AreEqual(3915, demonstrativo.TotalLiquido); Assert.AreEqual(660, demonstrativo.Fgts.Valor); }
public static void Renderizar() { Funcionario f = new Funcionario(); Cargo c = new Model.Cargo(); FolhaDePagamento fp = new FolhaDePagamento(); Console.WriteLine("\tCADASTRO FOLHA DE PAGAMENTO"); Console.WriteLine("Informe o CPF do funcionario: "); f.Cpf = Console.ReadLine(); f = FuncionarioDAO.BuscarFuncionarioPorCpf(f.Cpf); if (f != null) { fp.Funcionario = f; Console.WriteLine("Informe o Cargo: "); c.Nome = Console.ReadLine().ToUpper(); c = CargoDAO.BuscarCargoPeloNome(c.Nome); if (c != null) { fp.Cargo = c; Console.WriteLine("Mes e ano: MM/yyyy"); fp.MesAno = Convert.ToDateTime(Console.ReadLine()); Console.WriteLine("informe o numero de Horas Trabalhadas: "); fp.HorasTrabalhadas = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Informe o valor da hora: "); fp.ValorHora = Convert.ToDouble(Console.ReadLine()); if (FolhaDePagamentoDAO.CadastrarFolhaDePagamento(fp)) { Console.WriteLine("Folha de Pagamento Cadastrada"); } else { Console.WriteLine("Não é permitido gravar outra folha de pagamento com as mesmas informações"); } } else { Console.WriteLine("Cargo não encontrado"); } } else { Console.WriteLine("Funcionario não encontrado"); } }
public static void Renderizar() { FolhaDePagamento fp = new FolhaDePagamento(); Funcionario f = new Funcionario(); Cargo c = new Cargo(); Console.WriteLine("Digite o CPF do Funcionario:"); f.cpf = Console.ReadLine(); f = FuncionarioDAO.BuscarFuncionarioCpf(f); if (f != null) { fp.Funcionario = f; Console.WriteLine("Digite o cargo do Funcionario"); c.nomeCargo = Console.ReadLine(); c = CargoDAO.BuscarCargoNome(c); if (c != null) { fp.Cargo = c; Console.WriteLine("Digite o mes e o ano da folha de pagamento"); fp.MesAno = Convert.ToDateTime(Console.ReadLine()); Console.WriteLine("Digite o numero de horas trabalhadas"); fp.HorasTrabalhadas = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Digite o valor da hora"); fp.ValorHora = Convert.ToDouble(Console.ReadLine()); if (FolhaPagamentoDAO.CadastrarFolhaPagamento(fp)) { Console.WriteLine("Folha de pagamento cadastrada com sucesso"); } else { Console.WriteLine("Folha de pagamento ja cadastrada"); } } else { Console.WriteLine("Cargo do funcionario invalido"); } } else { Console.WriteLine("CPF do funcionario invalido"); } }
public void Validar_Demonstrativo_Industria_Salario_5000_HrE50_HrD10() { int horasCategoria = 200; double salarioBase = 5000; double horasExtras = 50; double horasDescontadas = 10; var folhaPagamento = new FolhaDePagamento(); var demonstrativo = folhaPagamento.GerarDemonstrativo(horasCategoria, salarioBase, horasExtras, horasDescontadas); var quantidadeHorasExtrasEsperado = 50; var valorTotalHorasExtrasEsperado = 1250; var quantidadeHorasDescontadasEsperado = 10; var valorTotalHorasDescontadasEsperado = 250; var totalProventosEsperado = 6000; var inssAliquotaEsperado = 0.10; var inssValorEsperado = 600; var irrfAliquotaEsperado = 0.275; var irrfValorEsperado = 1485; var totalDescontosEsperado = 2085; var totalLiquidoEsperado = 3915; var fgtsAliquotaEsperado = 0.11; var fgtsValorEsperado = 660; Assert.AreEqual(demonstrativo.SalarioBase, salarioBase); Assert.AreEqual(demonstrativo.HorasExtras.QtdHoras, quantidadeHorasExtrasEsperado); Assert.AreEqual(demonstrativo.HorasExtras.ValorTotalHoras, valorTotalHorasExtrasEsperado); Assert.AreEqual(demonstrativo.HorasDescontadas.QtdHoras, quantidadeHorasDescontadasEsperado); Assert.AreEqual(demonstrativo.HorasDescontadas.ValorTotalHoras, valorTotalHorasDescontadasEsperado); Assert.AreEqual(demonstrativo.TotalProventos, totalProventosEsperado); Assert.AreEqual(demonstrativo.Inss.Aliquota, inssAliquotaEsperado); Assert.AreEqual(demonstrativo.Inss.Valor, inssValorEsperado); Assert.AreEqual(demonstrativo.Irrf.Aliquota, irrfAliquotaEsperado); Assert.AreEqual(demonstrativo.Irrf.Valor, irrfValorEsperado); Assert.AreEqual(demonstrativo.TotalDescontos, totalDescontosEsperado); Assert.AreEqual(demonstrativo.TotalLiquido, totalLiquidoEsperado); Assert.AreEqual(demonstrativo.Fgts.Aliquota, fgtsAliquotaEsperado); Assert.AreEqual(demonstrativo.Fgts.Valor, fgtsValorEsperado); }
public void Validar_Demonstrativo_Industria_Salario_139944() { int horasCategoria = 200; double salarioBase = 1399.44; double horasExtras = 0; double horasDescontadas = 0; var folhaPagamento = new FolhaDePagamento(); var demonstrativo = folhaPagamento.GerarDemonstrativo(horasCategoria, salarioBase, horasExtras, horasDescontadas); var quantidadeHorasExtrasEsperado = 0; var valorTotalHorasExtrasEsperado = 0; var quantidadeHorasDescontadasEsperado = 0; var valorTotalHorasDescontadasEsperado = 0; var totalProventosEsperado = 1399.44; var inssAliquotaEsperado = 0.09; var inssValorEsperado = 125.94; var irrfAliquotaEsperado = 0; var irrfValorEsperado = 0; var totalDescontosEsperado = 125.94; var totalLiquidoEsperado = 1273.5; var fgtsAliquotaEsperado = 0.11; var fgtsValorEsperado = 153.93; Assert.AreEqual(demonstrativo.SalarioBase, salarioBase); Assert.AreEqual(demonstrativo.HorasExtras.QtdHoras, quantidadeHorasExtrasEsperado); Assert.AreEqual(demonstrativo.HorasExtras.ValorTotalHoras, valorTotalHorasExtrasEsperado); Assert.AreEqual(demonstrativo.HorasDescontadas.QtdHoras, quantidadeHorasDescontadasEsperado); Assert.AreEqual(demonstrativo.HorasDescontadas.ValorTotalHoras, valorTotalHorasDescontadasEsperado); Assert.AreEqual(demonstrativo.TotalProventos, totalProventosEsperado); Assert.AreEqual(demonstrativo.Inss.Aliquota, inssAliquotaEsperado); Assert.AreEqual(demonstrativo.Inss.Valor, inssValorEsperado); Assert.AreEqual(demonstrativo.Irrf.Aliquota, irrfAliquotaEsperado); Assert.AreEqual(demonstrativo.Irrf.Valor, irrfValorEsperado); Assert.AreEqual(demonstrativo.TotalDescontos, totalDescontosEsperado); Assert.AreEqual(demonstrativo.TotalLiquido, totalLiquidoEsperado); Assert.AreEqual(demonstrativo.Fgts.Aliquota, fgtsAliquotaEsperado); Assert.AreEqual(demonstrativo.Fgts.Valor, fgtsValorEsperado); }
public static void Renderizar() { Funcionario f = new Funcionario(); FolhaDePagamento fp = new FolhaDePagamento(); Console.WriteLine("Digite o cpf do funcionario"); f.cpf = Console.ReadLine(); f = FuncionarioDAO.BuscarFuncionarioCpf(f); if (f != null) { fp.Funcionario = f; Console.WriteLine("Digite o mes e o ano"); fp.MesAno = Convert.ToDateTime(Console.ReadLine()); fp = FolhaPagamentoDAO.BuscarFolhaPorFuncionarioData(fp); if (fp != null) { Console.WriteLine("Horas trabalhadas: " + fp.HorasTrabalhadas + " Valor hora: " + fp.ValorHora); Console.WriteLine("Salario bruto: " + Calculos.CalcularSalarioBruto(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus)); Console.WriteLine("Imposto de renda: " + Calculos.CalcularImpostoRenda(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus)); Console.WriteLine("INSS: " + Calculos.CalcularINSS(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus)); Console.WriteLine("FGTS: " + Calculos.CalcularFGTS(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus)); Console.WriteLine("Bonus: " + fp.Cargo.bonus); Console.WriteLine("Salario liquido: " + (Calculos.CalcularSalarioBruto(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus) - Calculos.CalcularImpostoRenda(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus) - Calculos.CalcularINSS(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus))); } else { Console.WriteLine("Mes e ano não encontrado"); } } else { Console.WriteLine("CPF NÃO ENCONTRADO"); } }
public static void Renderizar() { Funcionario f = new Funcionario(); FolhaDePagamento fp = new FolhaDePagamento(); Console.WriteLine("\tCONSULTAR FOLHA DE PAGAMENTO"); Console.WriteLine("Informe o CPF do funcionário: "); f.Cpf = Console.ReadLine(); f = FuncionarioDAO.BuscarFuncionarioPorCpf(f.Cpf); if (f != null) { fp.Funcionario = f; Console.WriteLine("Informe o mês e ano: MM/yyyy"); fp.MesAno = Convert.ToDateTime(Console.ReadLine()); fp = FolhaDePagamentoDAO.ConsultarFolhaDePagamento(fp.Funcionario.Cpf, fp.MesAno.Month, fp.MesAno.Year); if (fp != null) { Console.WriteLine("Salário Bruto: " + Calculos.SalarioBruto(fp.HorasTrabalhadas, fp.ValorHora).ToString("C2")); Console.WriteLine("Imposto de Renda: " + Calculos.ImpostoDeRenda(fp.HorasTrabalhadas, fp.ValorHora).ToString("C2")); Console.WriteLine("INSS: " + Calculos.INSS(fp.HorasTrabalhadas, fp.ValorHora).ToString("C2")); Console.WriteLine("FGTS: " + Calculos.FGTS(fp.HorasTrabalhadas, fp.ValorHora).ToString("C2")); Console.WriteLine("Bônus: " + Calculos.Bonus(fp.Cargo.Bonus, fp.HorasTrabalhadas, fp.ValorHora).ToString("C2")); Console.WriteLine("Salário Líquido: " + (Calculos.SalarioBruto(fp.HorasTrabalhadas, fp.ValorHora) - Calculos.ImpostoDeRenda(fp.HorasTrabalhadas, fp.ValorHora) - Calculos.INSS(fp.HorasTrabalhadas, fp.ValorHora)).ToString("C2")); } else { Console.WriteLine("Nenhuma Folha de Pagamento encontrada com essas informações"); } } else { Console.WriteLine("Funcionário não encontrado"); } }
static void Main(string[] args) { //Criando o nosso vetor Funcionario[] funcionarios = new Funcionario[1000]; System.Console.WriteLine(FolhaDePagamento.INSS); string comando = null; int quantidadeDeCadastros = 0; do { //Limpa o menu Console.Clear(); #region Menu Console.WriteLine("[1]. Cadastrar Funcionário"); Console.WriteLine("[2]. Exibir Folha de Pagamento"); Console.WriteLine("[3]. Total de custo bruto da folha"); Console.WriteLine("[4]. Aumento de salário"); Console.WriteLine("[5]. Total de custo líquido da folha\n"); Console.WriteLine("[0]. Sair"); comando = Console.ReadLine(); #endregion switch (comando) { #region Cadastro de usuário case "1": if (quantidadeDeCadastros < funcionarios.Length) { //Instancia do funcionario funcionarios[quantidadeDeCadastros] = new Funcionario(); //Recebendo o nome Console.WriteLine("Informe o nome: "); funcionarios[quantidadeDeCadastros].Nome = Console.ReadLine(); //Recebendo o salario Console.WriteLine("Informe o salário: "); funcionarios[quantidadeDeCadastros].Salario = double.Parse(Console.ReadLine()); //Incrementa a quantidade quantidadeDeCadastros++; } else { System.Console.WriteLine("Erro. Quantidade máxima de usuários cadastrados"); } break; #endregion #region Folha de pagamento case "2": //Exibindo os funcionarios int cont = 0; foreach (Funcionario f in funcionarios) { //Verificando se o f for diferete de nulo if (f == null) { break; } Console.WriteLine($"[{cont}] - Nome: {f.Nome}; Salário: {f.Salario}"); cont++; } System.Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeDeCadastros - 1}]"); int indice = int.Parse(Console.ReadLine()); if (indice >= 0 && indice < quantidadeDeCadastros) { FolhaDePagamento.MostrarFolhaDePagamento(funcionarios[indice]); } else { System.Console.WriteLine("Índice inválido"); } break; #endregion #region Salario Bruto case "3": double total = 0; //Percorre a lista de funcionarios foreach (Funcionario f in funcionarios) { //Verificando se o funcionario e nulo if (f == null) { break; } //Realiza a soma dos salarios total += f.Salario; } System.Console.WriteLine($"Total de salários brutos: {total}"); break; #endregion case "4": System.Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeDeCadastros - 1}]"); int indice2 = int.Parse(Console.ReadLine()); if (indice2 >= 0 && indice2 < quantidadeDeCadastros) { FolhaDePagamento.AumentarSalario(funcionarios[indice2]); } else { System.Console.WriteLine("Índice inválido"); } break; case "5": double totalLiquido = 0; //Percorre a lista de funcionarios foreach (Funcionario f in funcionarios) { //Verificando se o funcionario e nulo if (f == null) { break; } //Realiza a soma dos salarios totalLiquido += f.Salario - FolhaDePagamento.CalcularDescontos(f.Salario); } System.Console.WriteLine($"Total de salários brutos: {totalLiquido}"); break; default: Console.WriteLine("Comando inválido"); break; } Console.ReadKey(); } while (comando != "0"); }
static void Main(string[] args) { Console.OutputEncoding = Encoding.UTF8; sbyte escolha = 0; const int tamanhoDataBase = 1001; FolhaDePagamento.funcionarios = new Funcionario[tamanhoDataBase]; Relatorio.MensagemSucesso("Projeto Finanças"); do { Console.WriteLine(""); Relatorio.TextDecoration("O Que deseja fazer?"); Console.WriteLine($"\n1- Cadastrar um Funcionario\n2- Exibir Folha De Pagamento\n3- Exibir total de custos bruto da folha de pagamento\n4- Aumentar o salario de um funcionario\n5- Exibir total de custos liquido da folha de pagamento\n6- Ver maior salario\n7- Ver menor salario\n8- Alterar cadastro\n9- Remover cadastro\n0 - Sair\n10- Criar DataBase (Aleatorio)\n11- Listar funcionarios\n"); sbyte.TryParse(Console.ReadLine().ToString(), out escolha); int id = 0; switch (escolha) { case 1: // Cadastrar funcionario // for (int i = 0; i < tamanhoDataBase - 1; i++) { if (FolhaDePagamento.funcionarios[i] == null) { FolhaDePagamento.funcionarios[i] = new Funcionario(); FolhaDePagamento.CadastrarFuncionario(i); break; } } break; case 2: // Exibir folha de pagamento // Relatorio.TextDecoration("Digite o numero de identificação do funcionario"); int.TryParse(Console.ReadLine(), out id); if (FolhaDePagamento.funcionarios[id] != null) { FolhaDePagamento.MostrarFolhaDePagamento(id); } else { Relatorio.FuncionarioNaoEncontrado(id); } break; case 3: // Exibir total de custos bruto // FolhaDePagamento.TotalCustosBruto(); break; case 4: // Aumentar Salario de um funcionario // Relatorio.TextDecoration("Informe o numero de identificação do funcionario no qual você quer aumentar o salario"); int.TryParse(Console.ReadLine(), out id); if (id < 1001 && id >= 0) { if (FolhaDePagamento.funcionarios[id] != null) { FolhaDePagamento.AumentarSalario(id); } else { Relatorio.FuncionarioNaoEncontrado(id); } } else { Relatorio.TextDecoration($"O valor inserido ({id}) não está dentro dos limites do banco de dados"); } break; case 5: // Exibir total de custos liquido da folha de pagamento // FolhaDePagamento.TotalCustosLiquido(); break; case 6: // Ver maior salario // FolhaDePagamento.MaiorSalario(); break; case 7: // Ver menor salario // FolhaDePagamento.MenorSalario(); break; case 8: // Alterar cadastro // Console.WriteLine("Digite o ID do funcionario que você quer alterar"); int.TryParse(Console.ReadLine(), out id); if (id < tamanhoDataBase && id >= 0) { if (FolhaDePagamento.funcionarios[id] != null) { FolhaDePagamento.AlterarCadastro(id); } else { Relatorio.TextDecoration($"Não existe nenhum funcionario cadastrado no ID {id}."); Console.WriteLine("\nDeseja cadastar um funcionario nesse ID?\n1- Sim\n2- Não"); sbyte.TryParse(Console.ReadLine(), out sbyte esc); switch (esc) { case 1: FolhaDePagamento.CadastrarFuncionario(id); break; default: //porra nenhuma acontece ;-; break; } } } else { Relatorio.TextDecoration($"O valor inserido ({id}) não está dentro dos limites do banco de dados"); } break; case 9: // Remover cadastro // Console.WriteLine("Digite o ID do funcionario que você quer remover"); int.TryParse(Console.ReadLine(), out id); if (id < tamanhoDataBase && id >= 0) { if (FolhaDePagamento.funcionarios[id] != null) { Console.WriteLine($"\nDeseja mesmo excluir o Funcionario {FolhaDePagamento.funcionarios[id].nome} no indice {id}?\n1- Sim\n2- Não"); sbyte.TryParse(Console.ReadLine(), out sbyte esc); switch (esc) { case 1: Relatorio.MensagemSucesso($"Funcionario {FolhaDePagamento.funcionarios[id].nome} removido com sucesso"); FolhaDePagamento.funcionarios[id] = null; break; default: //porra nenhuma acontece ;-; break; } } else { Relatorio.TextDecoration($"Não há funcionario no indice {id}."); } } else { Relatorio.TextDecoration($"O valor inserido ({id}) não está dentro dos limites do banco de dados"); } break; case 10: // Gerar funcionarios aleatorio // Relatorio.TextDecoration($"Insira a quantidade de funcionarios"); Console.WriteLine($"um numero entre 1 e {tamanhoDataBase}"); int.TryParse(Console.ReadLine(), out int valor); FolhaDePagamento.funcionarios = new Funcionario[tamanhoDataBase]; if (valor < tamanhoDataBase && valor > 0) { for (int i = 0; i < valor; i++) { FolhaDePagamento.GerarDataBase(i); } } else { Relatorio.TextDecoration("O numero inserido não é valido."); } break; case 11: // Listar Funcionario // foreach (Funcionario item in FolhaDePagamento.funcionarios) { if (item != null) { Console.WriteLine($"ID : {item.id} , Nome : {item.nome} , Salario R${item.salarioBruto}"); } } break; case 12: Relatorio.EasterEgg(); break; case 0: // Sair // Console.WriteLine("Aperte qualquer tecla para sair"); break; default: // Exceção // escolha = 1; Relatorio.TextDecoration("Você deve escolhe qualquer uma dessas escolhas numeradas"); continue; } if (escolha != 0) { Console.WriteLine("Aperte qualquer tecla para continuar"); Console.ReadKey(); } }while(escolha != 0); Console.ReadKey(); }
static void Main() { Funcionario[] funcionarios = new Funcionario[1000]; Console.WriteLine(FolhaDePagamento.INSS); string opcao; int quantidadeCadastros = 0; do { #region Menu Console.Clear(); Console.WriteLine("[1]. Cadastrar Funcionário"); Console.WriteLine("[2]. Exibir Folha de Pagamento"); Console.WriteLine("[3]. Total de custo bruto da folha"); Console.WriteLine("[4]. Aumento de salário"); Console.WriteLine("[5]. Total de custo líquido da folha\n"); Console.WriteLine("[0]. Sair"); opcao = Console.ReadLine(); #endregion switch (opcao) { case "1": if (quantidadeCadastros < funcionarios.Length) { funcionarios[quantidadeCadastros] = new Funcionario(); Console.WriteLine("Informe o nome: "); funcionarios[quantidadeCadastros].Nome = Console.ReadLine(); Console.WriteLine("Informe o salário: "); funcionarios[quantidadeCadastros].Salario = double.Parse(Console.ReadLine()); quantidadeCadastros++; } else { Console.WriteLine("Erro. Quantidade máxima de usuários cadastrados"); } break; case "2": int cont = 0; foreach (Funcionario f in funcionarios) { if (f == null) { break; } Console.WriteLine($"[{cont}] - Nome: {f.Nome}; Salário: {f.Salario}"); cont++; } Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeCadastros - 1}]"); int indice = int.Parse(Console.ReadLine()); if (indice >= 0 && indice < quantidadeCadastros) { FolhaDePagamento.MostrarFolhaDePagamento(funcionarios[indice]); } else { Console.WriteLine("Índice inválido"); } break; case "3": double total = 0; foreach (Funcionario f in funcionarios) { if (f == null) { break; } total += f.Salario; } Console.WriteLine($"Total de salários brutos: {total}"); break; case "4": Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeCadastros - 1}]"); int indice2 = int.Parse(Console.ReadLine()); if (indice2 >= 0 && indice2 < quantidadeCadastros) { FolhaDePagamento.AumentarSalario(funcionarios[indice2]); } else { Console.WriteLine("Índice inválido"); } break; case "5": double totalLiquido = 0; foreach (Funcionario f in funcionarios) { if (f == null) { break; } totalLiquido += f.Salario - FolhaDePagamento.CalcularDescontos(f.Salario); } Console.WriteLine($"Total de salários brutos: {totalLiquido}"); break; default: Console.WriteLine("Comando inválido"); break; } Console.ReadKey(); } while (opcao != "0"); }