Example #1
0
        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);
        }
Example #2
0
        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);
        }