Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Lista de carros para agendamento

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);
        }
    }
2 respostas

Alexander, tudo bem ?

Cara passei sua dúvida para o instrutor, ele deve ter dar um feedback melhor em breve !

Valeu

solução!

Olá, Alexander

Essa alteração que você quer fazer exige uma mudança enorme no projeto. Não é algo simples, como trocar uma propriedade de string para List<string>: além de substituir todas as views e viewmodels, você vai ter muitos problemas com a persistência de dados, pois na etapa final o curso ensina como salvar os agendamentos em banco de dados e enviá-los para um serviço HTTP rest. Se fizer essa mudança de agendamento para agendar vários veículos ao mesmo tempo, você não vai conseguir implementar essa parte de gravação/leitura do banco de dados, e depois não vai conseguir enviar/receber dados de agendamento para o serviço http rest.