Petshop
namespace DesafioAlura06.PetShop
{
class Pet
{
public Pet(string nome, string raca, string especie, string sexo)
{
Nome = nome;
Raca = raca;
Especie = especie;
Sexo = sexo;
}
public string Nome { get; }
public string Raca { get; }
public string Especie { get; }
public string Sexo { get; }
}
}
class Medico
{
public Medico(string nome, int idade, string especialidade)
{
Nome = nome;
Idade = idade;
Especialidade = especialidade;
}
public string Nome { get; }
public int Idade { get; }
public string Especialidade { get; set; }
}
class Dono
{
public Dono(int idade, string nome, string contato)
{
Idade = idade;
Nome = nome;
Contato = contato;
}
public int Idade { get; }
public string Nome { get; }
public string Contato { get; }
}
class Consulta
{
public Consulta(string nomePetShop, DateTime dataDaConsulta, Dono donoPet, Medico veterinario, Pet pets)
{
NomePetShop = nomePetShop;
DataDaConsulta = dataDaConsulta;
DonoPet = donoPet;
Veterinario = veterinario;
Pets = pets;
}
public string NomePetShop { get; set; }
public DateTime DataDaConsulta { get; set; }
public Dono DonoPet { get; set; }
private double PrecoConsulta { get; set; }
public Medico Veterinario { get; set; }
public Pet Pets { get; set; }
public void ExibirFicha()
{
Console.WriteLine($"Petshop {NomePetShop}\n------ Ficha Tecnica ------\n");
Console.WriteLine($"\nInformacoes do Dono: \nNome: {DonoPet.Nome}\nContato: {DonoPet.Contato}");
Console.WriteLine($"\nInformacoes do Pet: \nNome: {Pets.Nome}\nRaça: {Pets.Raca}\nEspecie: {Pets.Especie}\nSexo: {Pets.Sexo}");
Console.WriteLine($"\nData da Consulta: {DataDaConsulta.ToString("dd/MM/yyyy - HH:mm")}\nCom o Médico: {Veterinario.Nome} ");
Console.WriteLine($"O valor da consulta será de R${PrecoConsulta.ToString("F2")}, que deverá ser pago no dia da Consulta");
}
public void ValorConsulta(double valor)
{
PrecoConsulta = valor;
}
}
Oficina
class Veiculo
{
public Veiculo(string marca, string modelo, int ano, string placa)
{
Marca = marca;
Modelo = modelo;
Ano = ano;
Placa = placa;
}
public string Marca { get; set; }
public string Modelo { get; set; }
public int Ano { get; set; }
public string Placa { get; set; }
}
namespace DesafioAlura06.Oficina
{
class Oficina
{
public Oficina()
{
List<FichaCliente> VeiculosNaOficina = new List<FichaCliente>();
}
public List<FichaCliente> VeiculosNaOficina = new();
public void AdicionarFicha(FichaCliente ficha)
{
VeiculosNaOficina.Add(ficha);
}
public void ListarVeiculos()
{
foreach(FichaCliente f in VeiculosNaOficina)
{
Console.WriteLine($"Carro: {f.Carro.Modelo}\nModelo: {f.Carro.Modelo}\nPlaca: {f.Carro.Placa}");
}
}
}
}
class Mecanico
{
public Mecanico(string nome, string especialidade)
{
Nome = nome;
Especialidade = especialidade;
}
public string Nome { get; set; }
public string Especialidade { get; set; }
}
class FichaCliente
{
public FichaCliente(Veiculo carro, Cliente clienteInfo, Mecanico mecanicoAtribuido)
{
Carro = carro;
ClienteInfo = clienteInfo;
MecanicoAtribuido = mecanicoAtribuido;
}
public Veiculo Carro { get; set; }
public Cliente ClienteInfo { get; set; }
public Mecanico MecanicoAtribuido { get; set; }
public DateTime DataAgendada { get; set; }
public void AgendarServico(DateTime dataAgendada)
{
DataAgendada = dataAgendada;
Console.WriteLine($"Serviço para o carro {Carro.Modelo} com a Placa {Carro.Placa} do cliente {ClienteInfo.Nome} foi agendado para a data {dataAgendada.ToString("dd/MM/yyyy - HH:mm")}");
}
public void ExibirFicha()
{
Console.WriteLine("Ficha do Cliente: ");
Console.WriteLine($"Cliente: {ClienteInfo.Nome}\nContato: {ClienteInfo.Contato}");
Console.WriteLine("Infomacao Carro: ");
Console.WriteLine($"Carro: {Carro.Modelo}\nPlaca: {Carro.Placa}");
Console.WriteLine($"Mecanico Atribuido: \nNome: {MecanicoAtribuido.Nome}");
}
}
class Cliente
{
public Cliente(string nome, string contato)
{
Nome = nome;
Contato = contato;
}
public string Nome { get; set; }
public string Contato { get; set; }
}