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 }
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(); }
/// <summary>Осуществляет внесение изменений в базу данных. Изменения будут применены после Commit().</summary> /// <param name="info">см. описание к Push(AppletDataInfo info)</param> public void Push(List <AppletDataInfo> info) { AppletsDataInfo.AddRange(info); }
/// <summary>Осуществляет внесение изменений в базу данных. Изменения будут применены после Commit().</summary> /// <param name="info">Ни одно из свойсвт не дожлно быть null. В случае если слово ранее тренировано, /// будет внесено изменение в существующую запись, в противном случае будет создана новая запись</param> public void Push(AppletDataInfo info) { AppletsDataInfo.Add(info); }