depois de 3 dias praticamente tentando agoras deu certo!
using System.Text;
using System.Threading.Tasks;
namespace bytebank_ADM.SistemaInterno
{
public class SistemaInterno
{
public bool Logar(Autenticavel funcionario,string senha, string login)
{
bool usuarioAutenticado = funcionario.Autenticar(senha, login);
if(usuarioAutenticado)
{
Console.WriteLine("Bem vindo ao sistema.");
return true;
}
else
{
Console.WriteLine("Senha invalida.");
return false;
}
}
}
}
using bytebank_ADM.Funcionarios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace bytebank_ADM.SistemaInterno
{
public abstract class Autenticavel : Funcionario
{
public string Senha { get; set; }
public string Login { set; get; }
public abstract bool Autenticar(string senha, string login);
public Autenticavel(string cpf, double salario) : base(cpf, salario)
{
}
}
}
using bytebank_ADM.SistemaInterno;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace bytebank_ADM.Funcionarios
{
public class GerenteDeContas : Autenticavel
{
public GerenteDeContas(string cpf) : base(cpf, 4000)
{
}
public override double GetBonificacao()
{
return this.Salario * 0.25;
}
public override void AumentarSalario()
{
this.Salario *= 1.05;
}
public override bool Autenticar(string senha, string login)
{
return this.Senha == senha && this.Login == login;
}
}
}
using bytebank_ADM.SistemaInterno;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace bytebank_ADM.Funcionarios
{
public class Diretor : Autenticavel
{
public override double GetBonificacao()
{
return this.Salario * 0.5;
}
public Diretor(string cpf) : base(cpf, 5000) //invocando método construtor da classe base que exige o parâmetro cpf
{
//Console.WriteLine("Criando um diretor.");
}
public override void AumentarSalario()
{
this.Salario *= 1.15;
}
public override bool Autenticar(string senha, string login)
{
return this.Senha == senha && this.Login == login;
}
}
}
using bytebank_ADM.Funcionarios;
using bytebank_ADM.SistemaInterno;
using bytebank_ADM.Utilitario;
using System.Net.Http.Headers;
UsarSistema();
void CalcularBonificacao()
{
GerenciadorDeBonificacao gerenciador = new GerenciadorDeBonificacao();
Designer ulisses = new Designer("123456789");
ulisses.Nome = "Ulisses Souza";
Diretor paula = new Diretor("123456");
paula.Nome = "Paula Souza";
Auxiliar igor = new Auxiliar("654321");
igor.Nome = "Igor Dias";
GerenteDeContas camila = new GerenteDeContas("98765");
camila.Nome = "Camila Oliveira";
gerenciador.Registrar(camila);
gerenciador.Registrar(ulisses);
gerenciador.Registrar(igor);
gerenciador.Registrar(paula);
Console.WriteLine("Total de Bonificação: " + gerenciador.TotalDeBonificacao);
}
void UsarSistema()
{
SistemaInterno sistema = new SistemaInterno();
Diretor ingrid = new Diretor("826489");
ingrid.Nome = "Ingrid Novaes";
ingrid.Senha = "123";
ingrid.Login = "ingrid.usuario";
GerenteDeContas ursula = new GerenteDeContas("34567");
ursula.Nome = "Ursula Alcantar";
ursula.Senha = "321";
ursula.Login = "ursula.usuario";
sistema.Logar(ingrid, "123", "ingrid.usuario");
sistema.Logar(ursula, "321", "ursula.usuario");
}