public void EditSpellList(SpellListDTO spellList)
        {
            var spellBook = _spellLists.FindBy(sl => sl.SpellListId == spellList.SpellListId).Single();

            var spells = GetAllSpells().Where(sp => spellList.SpellIds.Contains(sp.SpellId)).ToList();

            spellBook.Name   = spellList.Name;
            spellBook.Spells = spells;

            _spellLists.Save();
        }
        public void AddSpellList(SpellListDTO spellList)
        {
            /*
             * //automapper couldn't handle this one
             * SpellList newSpellList = new SpellList() {
             *  SpellListId = spellList.SpellListId,
             *  Name = spellList.Name
             * };
             *
             * newSpellList.Spells = GetAllSpells().Where(sp => spellList.SpellIds.Contains(sp.SpellId)).ToList();
             */
            _spellLists.Add(ToSpellList(spellList));

            _spellLists.Save();
        }
        private SpellList ToSpellList(SpellListDTO dto)
        {
            if (dto.Name == null && dto.Spells == null)
            {
                return(_spellLists.FindBy(id => id.SpellListId == dto.SpellListId).Single());

                /*
                 * return new SpellList() {
                 *  SpellListId = dto.SpellListId,
                 *  Name = _spellLists.FindBy(id => id.SpellListId == dto.SpellListId).Single().Name,
                 *  Spells = _spellLists.FindBy(id =>)
                 *      GetAllSpells().Where(sp => dto.SpellIds.Contains(sp.SpellId)).ToList()
                 * };*/
            }
            return(new SpellList()
            {
                SpellListId = dto.SpellListId,
                Name = dto.Name,
                Spells = GetAllSpells().Where(sp => dto.SpellIds.Contains(sp.SpellId)).ToList()
            });
        }
 public void Post([FromBody] SpellListDTO spellList)
 {
     _service.AddSpellList(spellList);
 }
 public void Put([FromBody] SpellListDTO spellList)
 {
     _service.EditSpellList(spellList);
 }