interface IServico
{
void ExecutarServico();
}
internal class Funcionario
{
public string Nome { get; }
public string Departamento { get; }
public Funcionario(string nome, string departamento)
{
Nome = nome;
Departamento = departamento;
}
}
internal class Consultoria : IServico
{
public string Titulo { get; set; }
public Funcionario Funcionario { get; set; }
public Consultoria(string titulo, Funcionario funcionario)
{
Titulo = titulo;
Funcionario = funcionario;
}
public void ExecutarServico()
{
Console.WriteLine($"Executando serviço de consultoria: {Titulo}");
Console.WriteLine($"Responsável: {Funcionario.Nome} - Departamento: {Funcionario.Departamento}");
}
}
internal class Manutencao : IServico
{
public string Titulo { get; set; }
public Funcionario Funcionario { get; set; }
public Manutencao(string titulo, Funcionario funcionario)
{
Titulo = titulo;
Funcionario = funcionario;
}
public void ExecutarServico()
{
Console.WriteLine($"Executando serviço de manutenção: {Titulo}");
Console.WriteLine($"Responsável: {Funcionario.Nome} - Departamento: {Funcionario.Departamento}");
}
}
Funcionario f1 = new("Pedro", "TI");
Manutencao m = new("Atualização de servidor", f1);
Funcionario f2 = new("Rebecca", "Marketing");
Consultoria c = new("Planejamento estratégico", f2);
m.ExecutarServico();
c.ExecutarServico();