How to do an if else on a select when creating an object?

1

I do not know if the title was good, but the question is:

listaAgendaDetalhe = (from a in listaAgenda
                      join p in listaProfissional
                      on a.idProfissional equals p.id
                      select new agendaDetalhe()
                      {
                      ativo = p.ativo,
                      dataIni = a.dataIni,
                      especialidade = a.especialidade,
                      if (a.frequencia = 0)
                      frequencia = 'DIARIO'
                      else if (a.frequencia = 1)
                      frequencia = 'SEMANAL'
                      else if (a.frequencia = 2)
                      frequencia = 'QUINZENAL'
                      }).ToList();

The question is in the frequencia field, I want to do a check before assigning a value to it, but the way I did, it does not work.

    
asked by anonymous 28.06.2017 / 14:53

2 answers

2

Use like this:

listaAgendaDetalhe = (from a in listaAgenda
                      join p in listaProfissional
                      on a.idProfissional equals p.id
                      select new agendaDetalhe()
                      {
                          ativo = p.ativo,
                          dataIni = a.dataIni,
                          especialidade = a.especialidade,
                          frequencia = a.frequencia == 0 ? "DIARIO" : a.frequencia == 1 ? "SEMANAL" : "QUINZENAL",
                      }).ToList();
    
28.06.2017 / 15:05
4

In this case you can use a if ternario for this, it would look like this:

listaAgendaDetalhe = (from a in listaAgenda
                      join p in listaProfissional
                      on a.idProfissional equals p.id
                      select new agendaDetalhe()
                      {
                      ativo = p.ativo,
                      dataIni = a.dataIni,
                      especialidade = a.especialidade,
                      a.frequencia == 0 ? "DIARIO" : a.frequencia == 1 ? "SEMANAL" : a.frequencia == 2 ? "QUINZENAL" : null
                      }).ToList();
    
28.06.2017 / 15:03