public async Task <List <RunewordResponse> > CreateOrUpdateRunewords(List <CreateRunewordRequest> createRunewordsRequest) { var runewordsToUpdate = new List <CreateRunewordRequest>(); var runewordsToCreate = new List <CreateRunewordRequest>(); var allRunewords = await _runewordRespository.AllAsync(); foreach (var runeword in createRunewordsRequest) { Runeword foundRuneword = allRunewords.Find(x => x.Code == runeword.Code); if (foundRuneword != null) { runeword.Id = foundRuneword.Id; runewordsToUpdate.Add(runeword); } else { runewordsToCreate.Add(runeword); } } await _runewordRespository.AddMultipleAsync(_mapper.Map <List <Runeword> >(runewordsToCreate)); await _runewordRespository.BulkUpdate(_mapper.Map <List <Runeword> >(runewordsToUpdate)); return(_mapper.Map <List <RunewordResponse> >(createRunewordsRequest)); }
public RunewordListItem(Runeword runeword) { Runeword = runeword ?? throw new ArgumentNullException(nameof(runeword)); }