0
respostas

Minha solução do desafio

namespace Teste4_Alura.ExercicioOO;

internal class Consultoria : IServico
{
    string tipoTarefa = string.Empty;

    public Consultoria(string tipoTarefa, Funcionario2 funcionario2)
    {
        this.tipoTarefa = tipoTarefa;
        Funcionario2 = funcionario2;
    }

    public Funcionario2 Funcionario2 {  get; set; }



    public void ExcecutarServico()
    {
        //Funcionario2 = new Funcionario2(Funcionario2.Nome,Funcionario2.Departamento);

        Console.WriteLine($"""
            Executando servico de Consultoria: {tipoTarefa}
            Responsavel: {Funcionario2.Nome} - Departamento: {Funcionario2.Departamento}

            """);

    }
}
namespace Teste4_Alura.ExercicioOO;

internal class Manutencao : IServico
{
    string tipoServico = string.Empty;

    public Manutencao(string tipoServico, Funcionario2 funcionario2)
    {
        this.tipoServico = tipoServico;
        Funcionario2 = funcionario2;
    }

    public Funcionario2 Funcionario2 {  get; set; }    

    public void ExcecutarServico()
    {
        Console.WriteLine($"""
            Executando servico de manutencao: {tipoServico}
            Responsavel: {Funcionario2.Nome} - Departamento: {Funcionario2.Departamento}

            """);
    }
}
namespace Teste4_Alura.ExercicioOO;

class Funcionario2
{
    public string Nome { get; set; }
    public string Departamento { get; set; }    
    public Funcionario2(string nome, string departamento)
    {
        Nome = nome;
        Departamento = departamento;
    }


}
namespace Teste4_Alura.ExercicioOO;

internal interface IServico
{
    void ExcecutarServico();
}
#region Desafio Gestao de Servicos
using Teste4_Alura.ExercicioOO;

Funcionario2 tecnico = new Funcionario2("Joao","TI");
IServico s1 = new Manutencao("Atualizacao de servidor", tecnico );

Funcionario2 analista = new Funcionario2("Maria", "Consultoria");
IServico s2 = new Consultoria("Planejamento estrategico",analista);

s1.ExcecutarServico();
s2.ExcecutarServico();

#endregion