public SubGroup(int IDGroup, int ID, MainDBDataSet DS) { IDSubgroup = ID; for (int i = 0; i < DS.Subgroups.Rows.Count; i++) { if (ID == Convert.ToInt32(DS.Subgroups.Rows[i][0])) { NameSubGroup = DS.Subgroups.Rows[i][1].ToString(); for (int j = 0; j < DS.SaveGroups.Rows.Count; j++) { if (IDGroup == Convert.ToInt32(DS.SaveGroups.Rows[j][0])) { Check = Convert.ToBoolean(DS.SaveGroups.Rows[j][i + 2]); break; } else { Check = true; } } } } Parameters = new SubGroupParameter[DS.SubGroupParameters.Rows.Count]; for (int i = 0; i < Parameters.Length; i++) { Parameters[i] = new SubGroupParameter(IDGroup, IDSubgroup, Convert.ToInt32(DS.SubGroupParameters.Rows[i][0]), DS); } }
public SubGroupParameter(int IDGroup, int IDSubgroup, int ID, MainDBDataSet DS) { IDParameter = ID; for (int i = 0; i < DS.SubGroupParameters.Rows.Count; i++) { if (IDParameter == Convert.ToInt32(DS.SubGroupParameters.Rows[i][0])) { NameParameter = DS.SubGroupParameters.Rows[i][1].ToString(); Type = TypeMake(DS.SubGroupParameters.Rows[i][2].ToString()); Value = DS.SubGroupParameters.Rows[i][3]; // Присваивание Default break; } } for (int i = 0; i < DS.SaveGroupParameters.Rows.Count; i++) { if ((Convert.ToInt32(DS.SaveGroupParameters.Rows[i][1]) == IDGroup) && (Convert.ToInt32(DS.SaveGroupParameters.Rows[i][2]) == IDSubgroup) && (Convert.ToInt32(DS.SaveGroupParameters.Rows[i][3]) == IDParameter) && (IDSave == 0)) { IDSave = Convert.ToInt32(DS.SaveGroupParameters.Rows[i][0]); Value = DS.SaveGroupParameters.Rows[i][4]; break; } } }
public override global::System.Data.DataSet Clone() { MainDBDataSet cln = ((MainDBDataSet)(base.Clone())); cln.InitVars(); cln.SchemaSerializationMode = this.SchemaSerializationMode; return(cln); }
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) { MainDBDataSet ds = new MainDBDataSet(); global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny(); any.Namespace = ds.Namespace; sequence.Items.Add(any); type.Particle = sequence; global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); if (xs.Contains(dsSchema.TargetNamespace)) { global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); try { global::System.Xml.Schema.XmlSchema schema = null; dsSchema.Write(s1); for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();) { schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); s2.SetLength(0); schema.Write(s2); if ((s1.Length == s2.Length)) { s1.Position = 0; s2.Position = 0; for (; ((s1.Position != s1.Length) && (s1.ReadByte() == s2.ReadByte()));) { ; } if ((s1.Position == s1.Length)) { return(type); } } } } finally { if ((s1 != null)) { s1.Close(); } if ((s2 != null)) { s2.Close(); } } } xs.Add(dsSchema); return(type); }
/* ***********************************Только для БД с настройками (MainDB)********************************************* */ public void SaveGroups(Group[] G) { MainDBDataSet MainDS = DS as MainDBDataSet; for (int i = 0; i < G.Length; i++) { if (G[i].IDGroup == 0) { MainDS.SaveGroups.Rows.Add(); MainDS.SaveGroups.Rows[MainDS.SaveGroups.Rows.Count - 1][1] = G[i].NameGroup; for (int j = 0; j < G[i].SubGroups.Length; j++) { MainDS.SaveGroups.Rows[MainDS.SaveGroups.Rows.Count - 1][j + 2] = G[i].SubGroups[j].Check; } } else { for (int j = 0; j < MainDS.SaveGroups.Rows.Count; j++) { if (G[i].IDGroup == Convert.ToInt32(MainDS.SaveGroups.Rows[j][0])) { MainDS.SaveGroups.Rows[j][1] = G[i].NameGroup; for (int l = 0; l < G[i].SubGroups.Length; l++) { MainDS.SaveGroups.Rows[j][l + 2] = G[i].SubGroups[l].Check; } } } } } DS = MainDS; Update(); Fill(); MainDS = DS as MainDBDataSet; for (int i = 0; i < G.Length; i++) { G[i].IDGroup = Convert.ToInt32(MainDS.SaveGroups.Rows[i][0]); } DS = MainDS; SaveGroupParameters(G); }
// Функция сохранения Параметров в DataSet в таблицу SaveSubGroupsparameters; public void SaveGroupParameters(Group[] G) { MainDBDataSet MainDS = DS as MainDBDataSet; for (int l = 0; l < G.Length; l++) { for (int i = 0; i < G[l].SubGroups.Length; i++) { for (int j = 0; j < G[l].SubGroups[i].Parameters.Length; j++) { if (G[l].SubGroups[i].Parameters[j].IDSave == 0) { MainDS.SaveGroupParameters.Rows.Add(); MainDS.SaveGroupParameters.Rows[MainDS.SaveGroupParameters.Rows.Count - 1][1] = G[l].IDGroup; MainDS.SaveGroupParameters.Rows[MainDS.SaveGroupParameters.Rows.Count - 1][2] = G[l].SubGroups[i].IDSubgroup; MainDS.SaveGroupParameters.Rows[MainDS.SaveGroupParameters.Rows.Count - 1][3] = G[l].SubGroups[i].Parameters[j].IDParameter; MainDS.SaveGroupParameters.Rows[MainDS.SaveGroupParameters.Rows.Count - 1][4] = G[l].SubGroups[i].Parameters[j].Value.ToString(); } else { for (int k = 0; k < MainDS.SaveGroupParameters.Rows.Count; k++) { if (Convert.ToInt32(MainDS.SaveGroupParameters.Rows[k][0]) == G[l].SubGroups[i].Parameters[j].IDSave) { MainDS.SaveGroupParameters.Rows[k][1] = G[l].IDGroup; MainDS.SaveGroupParameters.Rows[k][2] = G[l].SubGroups[i].IDSubgroup; MainDS.SaveGroupParameters.Rows[k][3] = G[l].SubGroups[i].Parameters[j].IDParameter; MainDS.SaveGroupParameters.Rows[k][4] = G[l].SubGroups[i].Parameters[j].Value.ToString(); } } } } } } DS = MainDS; }
// Запись данных группы в DataSet; /*public void SaveGroupParameters(MainDBDataSet DS) * { * for (int i = 0; i < SubGroups.Length; i++) * { * for (int j = 0; j < SubGroups[i].Parameters.Length; j++) * { * if (SubGroups[i].Parameters[j].IDSave == 0) * { * DS.SaveGroupParameters.Rows.Add(); * DS.SaveGroupParameters.Rows[DS.SaveGroupParameters.Rows.Count - 1][1] = SubGroups[i].Parameters[j].IDGroup; * DS.SaveGroupParameters.Rows[DS.SaveGroupParameters.Rows.Count - 1][2] = SubGroups[i].Parameters[j].IDSubgroup; * DS.SaveGroupParameters.Rows[DS.SaveGroupParameters.Rows.Count - 1][3] = SubGroups[i].Parameters[j].IDParameter; * DS.SaveGroupParameters.Rows[DS.SaveGroupParameters.Rows.Count - 1][4] = SubGroups[i].Parameters[j].Value.ToString(); * } * else * for (int k = 0; k < DS.SaveGroupParameters.Rows.Count; k++) * { * if (Convert.ToInt32(DS.SaveGroupParameters.Rows[k][0]) == SubGroups[i].Parameters[j].IDSave) * { * DS.SaveGroupParameters.Rows[k][1] = SubGroups[i].Parameters[j].IDGroup; * DS.SaveGroupParameters.Rows[k][2] = SubGroups[i].Parameters[j].IDSubgroup; * DS.SaveGroupParameters.Rows[k][3] = SubGroups[i].Parameters[j].IDParameter; * DS.SaveGroupParameters.Rows[k][4] = SubGroups[i].Parameters[j].Value.ToString(); * } * } * } * } * * }*/ /* ******************************Конструкторы************************************* */ public Group(int ID, MainDBDataSet DS) // Конструктор группы по DataSet { IDGroup = ID; Spills = new string[1]; IDSpills = new int[1]; SubGroups = new SubGroup[DS.Subgroups.Rows.Count]; // Имя группы по ID for (int i = 0; i < DS.SaveGroups.Rows.Count; i++) { if (Convert.ToInt32(Program.GV.mainDBDataSet.SaveGroups.Rows[i][0]) == ID) { NameGroup = Program.GV.mainDBDataSet.SaveGroups.Rows[i][1].ToString(); break; } } // заполнение Массива Проливов for (int i = 0; i < DS.SelectedSpills.Rows.Count; i++) { if (Convert.ToInt32(Program.GV.mainDBDataSet.SelectedSpills.Rows[i][1]) == ID) { Spills[Spills.Length - 1] = Program.GV.mainDBDataSet.SelectedSpills.Rows[i][2].ToString(); IDSpills[IDSpills.Length - 1] = Convert.ToInt32(Program.GV.mainDBDataSet.SelectedSpills.Rows[i][0]); Array.Resize(ref Spills, Spills.Length + 1); Array.Resize(ref IDSpills, IDSpills.Length + 1); } } Array.Resize(ref Spills, Spills.Length - 1); Array.Resize(ref IDSpills, IDSpills.Length - 1); //Заполнение массива подгрупп. for (int i = 0; i < SubGroups.Length; i++) { SubGroups[i] = new SubGroup(IDGroup, Convert.ToInt32(DS.Subgroups.Rows[i][0]), DS); } }
// Функция чистки Параметров, Групп, Проливов в DataSet в таблицах SaveSubGroupsparameters, SaveGroups, Spills ; public void AutoremoveGroupParameters(Group[] G) { MainDBDataSet MainDS = DS as MainDBDataSet; for (int i = 0; i < MainDS.SaveGroupParameters.Rows.Count; i++) { bool f = true; for (int j = 0; j < G.Length; j++) { for (int k = 0; k < G[j].SubGroups.Length; k++) { for (int l = 0; l < G[j].SubGroups[k].Parameters.Length; l++) { if (G[j].SubGroups[k].Parameters[l].IDSave == Convert.ToInt32(MainDS.SaveGroupParameters.Rows[i][0])) { f = false; } } } } if (f) { if (Convert.ToInt32(MainDS.SaveGroupParameters.Rows.Count) > 1) { MainDS.SaveGroupParameters.Rows[i].Delete(); } else { MainDS.SaveGroupParameters.Rows.Clear(); } } } //MainDS.SelectedSpills.Rows.Clear(); for (int i = 0; i < MainDS.SelectedSpills.Rows.Count; i++) { bool f = true; for (int j = 0; j < G.Length; j++) { for (int k = 0; k < G[j].IDSpills.Length; k++) { if (G[j].IDSpills[k] == Convert.ToInt32(MainDS.SelectedSpills.Rows[i][0])) { f = false; } } } if (f) { if (Convert.ToInt32(MainDS.SelectedSpills.Rows.Count) > 1) { MainDS.SelectedSpills.Rows[i].Delete(); } else { MainDS.SelectedSpills.Rows.Clear(); } } } for (int i = 0; i < MainDS.SaveGroups.Rows.Count; i++) { bool f = true; for (int j = 0; j < G.Length; j++) { if (G[j].IDGroup == Convert.ToInt32(MainDS.SaveGroups.Rows[i][0])) { f = false; } } if (f) { if (Convert.ToInt32(MainDS.SaveGroups.Rows.Count) > 1) { MainDS.SaveGroups.Rows[i].Delete(); } else { MainDS.SaveGroups.Rows.Clear(); } } } DS = MainDS; }