// list of all items from the set public static async Task <SelectList> ToSelectListAsync <TEntity>(this IQueryable <TEntity> set, Expression <Func <TEntity, object> > customOrderBySelector = null) where TEntity : class { if (IDNameObjectType <TEntity> .IsSimplifiable) { var list = await SelectListManager <TEntity> .SimpleINOQuery(set, customOrderBySelector).ToEntityListAsync(); return(SelectListManager <SimpleIDNameObject> .FromList(list)); } else { var list = await SelectListManager <TEntity> .Query(set, customOrderBySelector).ToEntityListAsync(); return(SelectListManager <TEntity> .FromList(list)); } }
// selectedOnly == true - list of one only (selected) item // otherwise - list of all items from the set public static async Task <SelectList> ToSelectListAsync <TEntity>(this IQueryable <TEntity> set, object selectedID, bool selectedOnly, Expression <Func <TEntity, object> > customOrderBySelector = null) where TEntity : class { if (IDNameObjectType <TEntity> .IsSimplifiable) { var q = (selectedOnly) ? SelectListManager <TEntity> .SimpleINOQuery(set, selectedID) : SelectListManager <TEntity> .SimpleINOQuery(set, customOrderBySelector); return(SelectListManager <SimpleIDNameObject> .FromList(await q.ToEntityListAsync(), selectedID)); } else { var q = (selectedOnly) ? SelectListManager <TEntity> .Query(set, selectedID) : SelectListManager <TEntity> .Query(set, customOrderBySelector); return(SelectListManager <TEntity> .FromList(await q.ToEntityListAsync(), selectedID)); } }
public static SelectList ToSelectList <TEntity>(this TEntity selectedItem) where TEntity : class { return(SelectListManager <TEntity> .FromItem(selectedItem)); }