public static List<Guid> GetGuidListStatic(string sqlStatement) { DBConnect conn = new DBConnect(); conn.Open(); List<Guid> list = conn.GetGuidList(sqlStatement); conn.Close(); return list; }
public SQL_XML_IO_statuses CreateInitialDatapack() { EFDbContext.SaveChgs(); RefTree.Clear(); string path = FileService.GetMainDataDirectory()+"Resources\\InitialData.xml"; XmlWriter xmlWriter = XmlWriter.Create(path,new XmlWriterSettings() {Encoding = Encoding.UTF8 }); DBConnect dbconnect = new DBConnect(); dbconnect.Open(); xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement(SQL_XML_IOSystem.StartElementName); xmlWriter.WriteAttributeString("version", Data_Versions.version_1_1.ToString()); xmlWriter.WriteAttributeString("MainElement_Guid", Guid.NewGuid().ToString()); xmlWriter.WriteAttributeString("MainElement_Name", "DataPack"); logging = true; PathList = new List<string>(); // schema.ClearRules(); schema.GetTableByName(Language.TableName).DontProcessingBackwardReferences = true; //schema.GetTableByName(Language.TableName).DontProcessingField("FrequencyDictionary_id"); //schema.GetTableByName(Dictionary.TableName).DontProcessing = true; //schema.GetTableByName(ProcessingWordsRules.TableName).DontProcessing = true; //schema.GetTableByName(Subtitles.TableName).DontProcessing = true; // upload the languages foreach(Language lang in ViewModelLocator.Instance.Languages) { SaveTable(xmlWriter,dbconnect,Language.TableName,lang.id); } // upload the LearningWordStrategy //schema.GetTableByName(LearningWordStrategy.TableName).GetFieldByName("") schema.GetTableByName(AppSetting.TableName).DontProcessing = true; schema.GetTableByName(LearningItem.TableName).DontProcessing = true; schema.GetTableByName(SubtitleItem.TableName).DontProcessing = true; foreach (LearningWordStrategy lws in EFDbContext.DataBase.LearningWordStrategy) { SaveTable(xmlWriter, dbconnect, LearningWordStrategy.TableName, lws.id); } xmlWriter.WriteEndDocument(); xmlWriter.Close(); // Save the dbconnect.Close(); return SQL_XML_IO_statuses.Ok; }
public SQL_XML_IO_statuses DeleteLearningItem(LearningItem learningitem) { if (learningitem == null) return SQL_XML_IO_statuses.OtherError; RefTree.Clear(); DBConnect dbconnect = new DBConnect(); dbconnect.Open(); //logging = true; //FindAllReferences_("LearningItems",learningitem.id); if(ViewModelLocator.Instance.AppSetting.CurrentLearningItem.id == learningitem.id) { ViewModelLocator.Instance.AppSetting.CurrentLearningItem = null; } EFDbContext.SaveChgs(); // Rules schema.ClearRules(); schema.GetTableByName(AppSetting.TableName).DontProcessing = true; schema.GetTableByName(Dictionary.TableName).DontProcessing = true; schema.GetTableByName(Language.TableName).DontProcessing = true; schema.GetTableByName(WordOfDictionary.TableName).DontProcessing = true; // optimization for speed DBConnect.Query query = new DBConnect.Query(); query.sql = SQLqueries.Delete_Update_Subtitle_Items_Words; query.AddParameter("id", learningitem.id); dbconnect.ExecuteSQL(query); query.sql = SQLqueries.Delete_Subtitile_Items_Words; query.AddParameter("id", learningitem.id); dbconnect.ExecuteSQL(query); query.sql = SQLqueries.Delete_Subtitle_Items; query.AddParameter("id", learningitem.id); dbconnect.ExecuteSQL(query); PathList.Clear(); DeleteTable(dbconnect,"LearningItems",learningitem.id,true); dbconnect.Close(); ((IObjectContextAdapter)ViewModelLocator.Instance.DataBase).ObjectContext.Detach(learningitem); EFDbContext.SaveChgs(); return SQL_XML_IO_statuses.Ok; }
public static bool ObjectExistStatic(string table_name,Guid id) { DBConnect conn = new DBConnect(); conn.Open(); bool res = conn.ObjectExist(table_name, id); conn.Close(); return res; }
public SQL_XML_IO_statuses Load(string path,out Guid guid) { RefTree.Clear(); guid = Guid.Empty; FakeElements = new List<Ref>(); if (!FileService.FileExists(path)) return SQL_XML_IO_statuses.NoFile; DBConnect dbconnect = new DBConnect(); dbconnect.Open(); using (XmlReader reader = XmlReader.Create(path)) { int MaxElements = 1; XML_Element element; List<XML_Element> xml_elements = new List<XML_Element>(); element = ReadElement(reader,Data_Versions.version_1_0,"xml"); element = ReadElement(reader,Data_Versions.version_1_0,StartElementName); guid = new Guid(element.GetAttibute("MainElement_Guid")); string version_string = element.GetAttibute("version"); if (version_string.Contains(".")) version_string = version_string.Replace(".0",""); short VersionOfData = short.Parse(version_string); int Counter = 0; while (true) { element = ReadElement(reader,VersionOfData); if (element.Name == StartElementName) break; AddToRefList(element.Name, Guid.Parse(element.guid), "", true); xml_elements.Add(element); Counter++; if(Counter == MaxElements) { LoadElements(dbconnect,xml_elements,VersionOfData); xml_elements.Clear(); Counter = 0; } } LoadElements(dbconnect,xml_elements,VersionOfData); } if (FakeElements.Count > 0) { foreach (var elm in FakeElements) { dbconnect.ExecuteSQL("DELETE FROM ["+elm.tablename+"] WHERE id = '"+elm.guid+"'"); } } dbconnect.Close(); return SQL_XML_IO_statuses.Ok; }
public SQL_XML_IO_statuses Save(string path, string table_name, Guid guid) { EFDbContext.SaveChgs(); RefTree.Clear(); XmlWriter xmlWriter = XmlWriter.Create(path,new XmlWriterSettings() {Encoding = Encoding.UTF8 }); DBConnect dbconnect = new DBConnect(); dbconnect.Open(); xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement(StartElementName); xmlWriter.WriteAttributeString("version", Data_Versions.version_1_1.ToString()); xmlWriter.WriteAttributeString("MainElement_Guid", guid.ToString()); xmlWriter.WriteAttributeString("MainElement_Name", table_name); logging = true; //PathList = null; PathList = new List<string>(); SaveTable(xmlWriter,dbconnect,table_name,guid); dbconnect.Close(); xmlWriter.WriteEndDocument(); xmlWriter.Close(); return SQL_XML_IO_statuses.Ok; }