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 { get; set; }
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 Salario * 0.25;
}
public override void AumentarSalario()
{
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.50;
}
//public override double GetPremiacaoSemestral()
//{
// return base.GetPremiacaoSemestral();
//}
public Diretor(string cpf): base(cpf, 5000)
{
//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 System;
using System.Collections.Generic;
using System.Linq;
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("Boas vindas ao nosso sistema");
return true;
}
else
{
Console.WriteLine("Senha incorreta!");
return false;
}
}
}
}
//calcularBonificacao();
usarSistema();
void calcularBonificacao()
{
GerenciadorDeBonificacao gerenciador = new GerenciadorDeBonificacao();
Designer ulisses = new Designer("32165498701");
ulisses.Nome = "Ulisses Souza";
Diretor paula = new("21345678901");
paula.Nome = "Paula Souza";
Auxiliar igor = new("12345678901");
igor.Nome = "Igor Dias";
GerenteDeContas camila = new("43215678901");
camila.Nome = "Camila Oliveira";
gerenciador.Registrar(camila);
gerenciador.Registrar(paula);
gerenciador.Registrar(ulisses);
gerenciador.Registrar(igor);
Console.WriteLine("Total de Bonificacao = " + gerenciador.TotalDeBonificacao);
}
void usarSistema()
{
SistemaInterno sistema = new SistemaInterno();
Diretor ingrid = new("22321654987");
ingrid.Nome = "Igrid Novaes";
ingrid.Login = "Administrador";
ingrid.Senha = "123";
GerenteDeContas ursula = new("11321654987");
ursula.Nome = "Ursula Alcantara";
ursula.Login = "11321654987";
ursula.Senha = "456";
sistema.Logar(ingrid, "123", "Admin");
sistema.Logar(ursula, "456", "11321654987");
}