1
resposta

Desafio login e senha

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");

}
1 resposta