public IEnumerable <SpellListItem> GetSpells(int spellbookId) { using (var ctx = new ApplicationDbContext()) { var svc = new SpellService(); var query = ctx.Entries .Where(e => e.SpellbookId == spellbookId && GetSpellbookById(spellbookId).UserId == _userId) .Select(e => new SpellListItem { SpellName = svc.GetSpellById(e.SpellId).SpellName, SpellLevel = svc.GetSpellById(e.SpellId).SpellLevel, SpellSchool = svc.GetSpellById(e.SpellId).SpellSchool, CastingTime = svc.GetSpellById(e.SpellId).CastingTime, SpellRange = svc.GetSpellById(e.SpellId).SpellRange, VComponents = svc.GetSpellById(e.SpellId).VComponents, SComponents = svc.GetSpellById(e.SpellId).SComponents, HasMComponents = svc.GetSpellById(e.SpellId).HasMComponents, Duration = svc.GetSpellById(e.SpellId).Duration, } ); return(query.ToArray()); } }
public IEnumerable <EntryListItem> GetSpells(int spellbookId) { using (var ctx = new ApplicationDbContext()) { var query = ctx.Entries .Where(e => e.SpellbookId == spellbookId) .Select(e => new EntryListItem { EntryId = e.EntryId, SpellId = e.SpellId }) .ToList(); SpellService spellSvc = new SpellService(); foreach (var item in query) { var spell = spellSvc.GetSpellById(spellId: item.SpellId); item.SpellName = spell.SpellName; item.SpellLevel = spell.SpellLevel; item.SpellSchool = spell.SpellSchool; item.CastingTime = spell.CastingTime; item.SpellRange = spell.SpellRange; item.VComponents = spell.VComponents; item.SComponents = spell.SComponents; item.HasMComponents = spell.HasMComponents; item.Duration = spell.Duration; } return(query); } }