public async Task InsertIntoDatabase(ObservableCollection <Lession> lessions) { for (int i = 0; i < lessions.Count; i++) { switch (lessions[i].Vocables.Count) { case 0: lessions.RemoveAt(i); continue; case 1: if (lessions[i].Vocables[0].English == "" && lessions[i].Vocables[0].German == "") { lessions.RemoveAt(i); } continue; default: continue; } } DisassembledLessions disassembledLessions = await Task.Run(() => lessionFactory.DeconstuctLessions(lessions)); await _databaseService.InsertModules(disassembledLessions.Moduls); await _databaseService.InsertOrUpdateOrDeleteVocablesAsync(disassembledLessions.Vocables); }
public DisassembledLessions DeconstuctLessions(ObservableCollection <Lession> lessions) { DisassembledLessions disassembledLessions = new DisassembledLessions(); List <Vocabulary> DisassembledVobables = new List <Vocabulary>(); List <Modul> DisassembledModules = new List <Modul>(); foreach (Lession lession in lessions) { switch (lession.Modul_Name) { case "Rename this!": continue; default: Modul modul = new Modul(); modul.ModulID = lession.ModulID; modul.Modul_Name = lession.Modul_Name; DisassembledModules.Add(modul); foreach (Vocabulary vocabulary in lession.Vocables) { if (vocabulary.German != "" && vocabulary.English != "") { Vocabulary vocable = new Vocabulary(); vocable.German = TrimmVocable(vocabulary.German); vocable.English = TrimmVocable(vocabulary.English); vocable.Counter = vocabulary.Counter; vocable.ModulID = vocabulary.ModulID; vocable.VocableID = vocabulary.VocableID; DisassembledVobables.Add(vocable); } else if (vocabulary.German == "" && vocabulary.English == "" && vocabulary.VocableID != 0) { Vocabulary vocable = new Vocabulary(); vocable.German = TrimmVocable(vocabulary.German); vocable.English = TrimmVocable(vocabulary.English); vocable.Counter = vocabulary.Counter; vocable.ModulID = vocabulary.ModulID; vocable.VocableID = vocabulary.VocableID; DisassembledVobables.Add(vocable); } } break; } } disassembledLessions.Moduls = DisassembledModules; disassembledLessions.Vocables = DisassembledVobables; return(disassembledLessions); }