コード例 #1
0
ファイル: DB.cs プロジェクト: mbmdm/PersonalDictionary
        private void Commit_Progress(XDocument doc)
        {
            doc.Element(root_xml_name).Add(new XElement(xml_traing_progress_applest_name));
            var root = doc.Element(root_xml_name).Element(xml_traing_progress_applest_name);

            #region Часть 1. Вносим изменения в прогресс апплетов

            AppletsDataInfo.ForEach(delegate(AppletDataInfo info)
            {
                if (info.AppletData.WordProgress.Keys.Contains(info.Word))
                {
                    info.AppletData.WordProgress[info.Word] = info.Progress;
                }
                else
                {
                    info.AppletData.WordProgress.Add(info.Word, info.Progress);
                }
            });

            #endregion

            #region Часть 2. Записываем все в XDocument

            ApplestsData.ForEach(delegate(AppletData data)
            {
                XElement xe = new XElement("applet");
                xe.Add(new XAttribute("uid", data.AppletID));
                xe.Add(new XAttribute("display", data.AppletDisplay));
                data.WordProgress.Keys.ToList().ForEach(delegate(Word w)
                {
                    XElement temp = new XElement("appletdata");
                    temp.Add(new XAttribute("ref", w.ID));
                    temp.Add(new XAttribute("progress", data.WordProgress[w]));
                    xe.Add(temp);
                });

                root.Add(xe);
            });

            #endregion
        }
コード例 #2
0
ファイル: DB.cs プロジェクト: mbmdm/PersonalDictionary
        internal void Init()
        {
            if (Words == null)
            {
                Words = new List <Word>();
            }
            else
            {
                Words.Clear();
            }

            if (Dictionaties == null)
            {
                Dictionaties = new List <Dictionary>();
            }
            else
            {
                Dictionaties.Clear();
            }

            if (ApplestsData == null)
            {
                ApplestsData = new List <AppletData>();
            }
            else
            {
                ApplestsData.Clear();
            }

            if (WordsInfo == null)
            {
                WordsInfo = new List <WordInfo>();
            }
            else
            {
                WordsInfo.Clear();
            }

            if (WordsInfoDelete == null)
            {
                WordsInfoDelete = new List <WordInfo>();
            }
            else
            {
                WordsInfoDelete.Clear();
            }

            if (DictionariesInfo == null)
            {
                DictionariesInfo = new List <DictionaryInfo>();
            }
            else
            {
                DictionariesInfo.Clear();
            }

            if (DictionariesInfoDelete == null)
            {
                DictionariesInfoDelete = new List <DictionaryInfo>();
            }
            else
            {
                DictionariesInfoDelete.Clear();
            }

            if (AppletsDataInfo == null)
            {
                AppletsDataInfo = new List <AppletDataInfo>();
            }
            else
            {
                AppletsDataInfo.Clear();
            }

            if (AppletsDataInfoDelete == null)
            {
                AppletsDataInfoDelete = new List <AppletDataInfo>();
            }
            else
            {
                AppletsDataInfoDelete.Clear();
            }

            currentDictionaty = null;

            xdoc = XDocument.Load(Environment.CurrentDirectory + "\\" + xml_Name);

            Init_Word();
            Init_Dic();
            Init_Progress();
        }
コード例 #3
0
ファイル: DB.cs プロジェクト: mbmdm/PersonalDictionary
 /// <summary>Осуществляет внесение изменений в базу данных. Изменения будут применены после Commit().</summary>
 /// <param name="info">см. описание к Push(AppletDataInfo info)</param>
 public void Push(List <AppletDataInfo> info)
 {
     AppletsDataInfo.AddRange(info);
 }
コード例 #4
0
ファイル: DB.cs プロジェクト: mbmdm/PersonalDictionary
 /// <summary>Осуществляет внесение изменений в базу данных. Изменения будут применены после Commit().</summary>
 /// <param name="info">Ни одно из свойсвт не дожлно быть null. В случае если слово ранее тренировано,
 /// будет внесено изменение в существующую запись, в противном случае будет создана новая запись</param>
 public void Push(AppletDataInfo info)
 {
     AppletsDataInfo.Add(info);
 }