I wanted to list the names belonging to a group and send them to a ViewModel and be collected by a View (details). Problem:
'IQueryable' does not contain a definition for 'NameCategory' and in the extension method 'NameCategory' accepting the first argument of type 'IQueryable' could be found (are you missing a using directive or an assembly reference?)
Controller:
public ActionResult Detalhes(int? id)
{
var grupo = db.Grupo.Where(g => g.GrupoID ==id).FirstOrDefault();
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
//query para recolher as nomes dos catequizandos pertencentes ao grupo selecionado
var queryNomeCatequizandos = (from g in db.Grupo
join i in db.Inscricao on g.GrupoID equals i.GrupoID
join c in db.Catequizando on i.CatequizandoID equals c.CatequizandoID
join p in db.Pessoa on c.CatequizandoID equals p.PessoaID
where g.GrupoID == i.GrupoID && i.CatequizandoID == c.CatequizandoID && c.CatequizandoID == p.PessoaID && g.GrupoID == id
select new GrupoViewModel
{
NomeCatequizando = p.Nome,
});
if (queryNomeCatequizandos == null)
{
return HttpNotFound();
}
GrupoViewModel model = new GrupoViewModel()
{
GrupoID = grupo.GrupoID,
NomeCatequizando = queryNomeCatequizandos.NomeCatequizando,
};
return View(grupo);
}
ViewModel:
public class GrupoViewModel
{
public int GrupoID { get; set; }
public String AnoPastoral { get; set; }
public String HoraInicio { get; set; }
public String DiaSessao { get; set; }
public String AnoCatequese { get; set; }
public String LetraGrupo { get; set; }
public String Sala { get; set; }
public String Observacoes { get; set; }
public String NomeCatequizando { get; set; }
}
There is a problem: Template inscription
public int? GroupID {get; set; }
Controller error:
GrupoID = i.GrupoID,
Error:
Can not implicitly convert type 'int?' to 'int'. An explicit conversion is there a missing cast?