Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }
Ejemplo n.º 3
0
        public override global::System.Data.DataSet Clone()
        {
            MainDBDataSet cln = ((MainDBDataSet)(base.Clone()));

            cln.InitVars();
            cln.SchemaSerializationMode = this.SchemaSerializationMode;
            return(cln);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        /*
         ***********************************Только для БД с настройками (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);
        }
Ejemplo n.º 6
0
        // Функция сохранения Параметров в 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;
        }
Ejemplo n.º 7
0
        // Запись данных группы в 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);
            }
        }
Ejemplo n.º 8
0
        // Функция чистки Параметров, Групп, Проливов в 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;
        }