E se no caso do agendamento, eu quisesse agendar mais de uma carro para o teste no dia, no caso, teria que fazer uma lista de carros para um agendamento. como eu faria pra fazer essa lista de carro e exibi-las na página do agendamento ? pensei em vez de colocar
public string Modelo { get; set; }
trocar por
public List<string> Modelo { get; set; }
na classe Agendamento, mas não sei como ficaria a classe AgendamentoViewModel no construtor
public string Modelo
{
get { return this.Agendamento.Modelo; }
set { this.Agendamento.Modelo = value; }
}
e o agendamento
this.Agendamento = new Agendamento(usuario.nome, usuario.telefone, usuario.email,
veiculo.Nome, veiculo.Preco);
public class Agendamento
{
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public string Nome { get; set; }
public string Email { get; set; }
public string Telefone { get; set; }
public string Modelo { get; set; }
public decimal Preco { get; set; }
public bool Confirmado { get; set; }
DateTime dataAgendamento = DateTime.Today;
public DateTime DataAgendamento
{
get
{
return dataAgendamento;
}
set
{
dataAgendamento = value;
}
}
public TimeSpan HoraAgendamento { get; set; }
public string DataFormatada
{
get { return dataAgendamento.Add(HoraAgendamento).ToString("dd/MM/yyyy HH:mm"); }
}
public Agendamento(string nome, string telefone, string email, string modelo, decimal preco, DateTime dataAgendamento, TimeSpan horaAgendamento)
: this(nome,telefone,email,modelo,preco)
{
this.DataAgendamento = dataAgendamento;
this.HoraAgendamento = horaAgendamento;
}
public Agendamento(string nome, string telefone, string email, string modelo, decimal preco)
{
this.Nome = nome;
this.Telefone = telefone;
this.Email = email;
this.Modelo = modelo;
this.Preco = preco;
}
public Agendamento()
{
}
}
public class AgendamentoViewModel : BaseViewModel
{
public Agendamento Agendamento { get; set; }
public string Modelo
{
get { return this.Agendamento.Modelo; }
set { this.Agendamento.Modelo = value; }
}
public decimal Preco
{
get { return this.Agendamento.Preco; }
set { this.Agendamento.Preco = value; }
}
}
//-------------------------------------------------------------------------
public AgendamentoViewModel(Veiculo veiculo, Usuario usuario)
{
this.Agendamento = new Agendamento(usuario.nome, usuario.telefone, usuario.email,
veiculo.Nome, veiculo.Preco);
AgendarCommand = new Command(() =>
{
MessagingCenter.Send<Agendamento>(this.Agendamento, "Agendamento");
}, () =>
{
return !string.IsNullOrEmpty(this.Nome) &&
!string.IsNullOrEmpty(this.Telefone) &&
!string.IsNullOrEmpty(this.Email);
});
}
public ICommand AgendarCommand { get; set; }
public async void SalvarAgendamento()
{
AgendamentoService agendamentoService = new AgendamentoService();
await agendamentoService.EnviarAgendamento(Agendamento);
}
}