private void AttributeToEntity_Load(object sender, EventArgs e)
 {
     DBP = cont.DataBaseProjectSet.Find(currentDBS); //определяем текущий проект
     TypeComboBox.Items.AddRange(new string[] { "Byte", "Int", "Float", "Double", "Char", "Bool", "Date", "String" });
     TypeAttribute.Items.AddRange(new string[] { "Первичный ключ", "Скалярное поле" });
     comboBox1.SelectedIndex = 0;
 }
示例#2
0
 private void AddRelation_Load(object sender, EventArgs e)
 {
     DBP = cont.DataBaseProjectSet.Find(currentDBS);
     //Заполнение выпадающего списка сущностями из БД
     if (DBP.Entities.Count != 0)
     {
         foreach (Entity ent in DBP.Entities)    //заполнение сущностей из проекта
         {
             if (!ComboBoxEntity1.Items.Contains(ent.Name))
             {
                 ComboBoxEntity1.Items.Add(ent.Name);
             }
         }
         ComboBoxEntity1.SelectedIndex = 0;
         foreach (Entity ent in DBP.Entities)    //заполнение сущностей из проекта
         {
             if (!ComboBoxEntity2.Items.Contains(ent.Name))
             {
                 ComboBoxEntity2.Items.Add(ent.Name);
             }
         }
         ComboBoxEntity2.SelectedIndex = 0;
         ComboBoxK.SelectedIndex       = 0;
     }
 }
示例#3
0
        //не полное решение, не работает, если у сущности есть формы или запросы
        private void butDeleteEntity_Click(object sender, EventArgs e)
        {
            //Поиск сущности

            foreach (Entity en in cont.EntitySet)
            {
                if (en.Name == NameEntityCB.Text)
                {
                    ent = en;
                }
            }
            DataBaseProject dbs = ent.DataBaseProject;

            //Удаление значений атрибутов сущности
            foreach (Forma f in ent.Forms)
            {
                foreach (ControlElement ce in f.ControlElements)
                {
                }
            }
            foreach (AttributeValue atv in cont.AttributeValueSet)
            {
                if (atv.Attribute.Entity == ent)
                {
                    cont.AttributeValueSet.Remove(atv);
                }
            }
            //Удаление связей сущности
            foreach (Relation rel in cont.RelationSet)
            {
                if (rel.Source.Entity == ent || rel.Target.Entity == ent)
                {
                    cont.RelationSet.Remove(rel);
                }
            }
            //Удаление атрибутов сущности
            foreach (Attribute at in cont.AttributeSet)
            {
                if (at.Entity == ent)
                {
                    cont.AttributeSet.Remove(at);
                }
            }
            //Удаление сущности
            cont.EntitySet.Remove(ent);
            cont.SaveChanges();
            Hide();
            FrMain butDeleteEntity = new FrMain();

            butDeleteEntity.currentDBS = dbs.Id;
            butDeleteEntity.ShowDialog();
            Close();
        }
示例#4
0
        //генерация элементов формы
        private void FormOpening_Load(object sender, EventArgs e)
        {
            dBS     = cont.DataBaseProjectSet.Find(curProjId);
            curForm = cont.FormaSet.Find(curFormId);
            foreach (ControlElement localElement in cont.ControlElementSet)
            {
                if (localElement.Forma.Id == curFormId)
                {
                    switch (localElement.TypeControlElement.Name)   //обход контрольных элементов
                    {
                    case "Label":
                        labelCounter++;
                        labelArray[labelCounter] = new Label()
                        {
                            Name = labelCounter.ToString(), Location = new Point(localElement.PositionX, localElement.PositionY), Width = localElement.Length, Height = localElement.Width, Text = localElement.Attribute.Name, Visible = true
                        };
                        this.Controls.Add(labelArray[labelCounter]);
                        break;

                    //условие для Combobox
                    case "ComboBox":
                        comboBoxCounter++;
                        comboBoxArray[comboBoxCounter] = new ComboBox()
                        {
                            Name = comboBoxCounter.ToString(), Location = new Point(localElement.PositionX, localElement.PositionY), Width = localElement.Length, Height = localElement.Width, Visible = true
                        };
                        //items!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                        this.Controls.Add(comboBoxArray[comboBoxCounter]);
                        break;

                    //условие для CheckBox
                    case "CheckBox":
                        checkBoxCounter++;
                        checkBoxArray[checkBoxCounter] = new CheckBox()
                        {
                            Name = checkBoxCounter.ToString(), Location = new Point(localElement.PositionX, localElement.PositionY), Width = localElement.Length, Height = localElement.Width, Visible = true
                        };
                        this.Controls.Add(checkBoxArray[checkBoxCounter]);
                        break;

                    //TextBox
                    case "TextBox":
                        textBoxCounter++;
                        textBoxArray[textBoxCounter] = new TextBox()
                        {
                            Name = textBoxCounter.ToString(), Location = new Point(localElement.PositionX, localElement.PositionY), Width = localElement.Length, Height = localElement.Width, Visible = true
                        };
                        this.Controls.Add(textBoxArray[textBoxCounter]);
                        break;
                    }
                }
            }
        }
示例#5
0
        private void ReportAdding_Load(object sender, EventArgs e)
        {
            //заполнение списка существующими запросами
            dBP = cont.DataBaseProjectSet.Find(currentDBP);
            foreach (Question quest in cont.QuestionSet)
                foreach (Attribute at in quest.Attributes)  
                    if (dBP.Entities.Contains(at.Entity) && !(QuestionList.Items.Contains(quest.Name)))
                        QuestionList.Items.Add(quest.Name);
            if (QuestionList.Items.Count != 0)
                QuestionList.SelectedIndex = 0;
            FormatList.SelectedIndex = 0;

        }
示例#6
0
 private void FormAdding_Load(object sender, EventArgs e)
 {
     dBP = cont.DataBaseProjectSet.Find(currentPrId); //текущий проект
     foreach (Entity en in dBP.Entities)              //заполнение списка сущностей
     {
         EntityList.Items.Add(en.Name);
     }
     EntityList.SelectedIndex = 0;
     foreach (TypeEvent te in cont.TypeEventSet) //заполнение типов событий
     {
         FormTypesList.Items.Add(te.Name);
     }
     FormTypesList.SelectedIndex = 0;
 }
示例#7
0
 private void QuestionAdding_Load(object sender, EventArgs e)
 {
     dBP = cont.DataBaseProjectSet.Find(currentDb);
     foreach (Entity en in dBP.Entities)
     {
         EntityList.Items.Add(en.Name);
     }
     //EntityList.DataSource = cont.EntitySet.ToList();
     //EntityList.DisplayMember = "Name";
     if (EntityList.Items.Count != 0)
     {
         EntityList.SelectedIndex = 0;
     }
     AttributesAndConditionsSelection.Enabled = false;
     TakenAttributeCombo.Items.Clear();
     dGVAttributes.Rows.Clear();
     ConnectList.SelectedIndex  = 0;
     ComparesList.SelectedIndex = 0;
 }
示例#8
0
 private void OpenProject_Click(object sender, EventArgs e)
 {                                      //открытие данных, связанных с проектом
     if (ProjectsList.Items.Count != 0) //проверяем количество существующих в бд проектов
     {
         DataBaseProject dBS = new DataBaseProject();
         foreach (DataBaseProject dbs in cont.DataBaseProjectSet)    //обход проектов в бд
         {
             if (dbs == ProjectsList.Items[ProjectsList.SelectedIndex])
             {
                 dBS = dbs;  //запоминается выбранный проект
             }
         }
         Hide();
         FrMain fM = new FrMain();
         fM.currentDBS = dBS.Id; //передаем ид текущего проекта
         fM.ShowDialog();        //переход на главную форму
         Close();
     }
     else
     {
         MessageBox.Show("Нет ни одного проекта в БД");
     }
 }
示例#9
0
 private void FrMain_Load(object sender, EventArgs e)
 {
     DBP = cont.DataBaseProjectSet.Find(currentDBS); //текущий проект
     ProjectName.Text = DBP.Name;
     //Заполнение выпадающего списка сущностями данного проекта из БД
     if (DBP.Entities.Count != 0)
     {
         foreach (Entity ent in DBP.Entities)
         {
             if (!EntityList.Items.Contains(ent.Name))
             {
                 EntityList.Items.Add(ent.Name);
             }
         }
         EntityList.SelectedIndex = 0;
     }
     //Заполнение выпадающего списка связями данного проекта из БД
     if (DBP.Entities.Count != 0)
     {
         foreach (Entity ent in DBP.Entities)
         {
             if (ent.Attributes.Count != 0)
             {
                 foreach (Attribute at in ent.Attributes)
                 {
                     if (at.RelFromSource.Count != 0)
                     {
                         foreach (Relation rel in at.RelFromSource)
                         {
                             if (!RelationList.Items.Contains(rel.Name))
                             {
                                 RelationList.Items.Add(rel.Name);
                             }
                         }
                         RelationList.SelectedIndex = 0;
                     }
                 }
             }
         }
     }
     //Заполнение выпадающего списка формами данного проекта из БД
     if (DBP.Entities.Count != 0)
     {
         foreach (Entity ent in DBP.Entities)
         {
             if (ent.Forms.Count != 0)
             {
                 foreach (Forma fo in ent.Forms)
                 {
                     if (!FormList.Items.Contains(fo.Name))
                     {
                         FormList.Items.Add(fo.Name);
                     }
                 }
                 FormList.SelectedIndex = 0;
             }
         }
     }
     //Заполнение выпадающего списка запросами данного проекта из БД
     if (DBP.Entities.Count != 0)
     {
         foreach (Entity ent in DBP.Entities)
         {
             if (ent.Attributes.Count != 0)
             {
                 foreach (Attribute at in ent.Attributes)
                 {
                     if (at.Questions.Count != 0)
                     {
                         foreach (Question quest in at.Questions)
                         {
                             if (!QuestionList.Items.Contains(quest.Name))
                             {
                                 QuestionList.Items.Add(quest.Name);
                             }
                         }
                         QuestionList.SelectedIndex = 0;
                     }
                 }
             }
         }
     }
     //Заполнение выпадающего списка отчетами данного проекта из БД
     if (DBP.Entities.Count != 0)
     {
         foreach (Entity ent in DBP.Entities)
         {
             if (ent.Attributes.Count != 0)
             {
                 foreach (Attribute at in ent.Attributes)
                 {
                     if (at.Questions.Count != 0)
                     {
                         foreach (Question quest in at.Questions)
                         {
                             if (quest.Reports.Count != 0)
                             {
                                 foreach (Report rt in quest.Reports)
                                 {
                                     if (!ReportList.Items.Contains(rt.Name))
                                     {
                                         ReportList.Items.Add(rt.Name);
                                     }
                                 }
                                 ReportList.SelectedIndex = 0;
                             }
                         }
                     }
                 }
             }
         }
     }
 }
示例#10
0
 private void QuestionViewing_Load(object sender, EventArgs e)
 {
     dBP   = cont.DataBaseProjectSet.Find(currentDB);
     quest = cont.QuestionSet.Find(currentQuest);
     if (quest.Attributes.Count != 0)
     {
         int        amount   = 0;
         int[]      idAttrs  = new int[quest.Attributes.Count];
         List <int> numOfNum = new List <int>();
         for (int i = 0; i < quest.Attributes.Count - 1; i++)
         {
             for (int j = i + 1; j < quest.Attributes.Count; j++)
             {
                 if (quest.Attributes.ElementAt(i).Name == quest.Attributes.ElementAt(j).Name)
                 {
                     numOfNum.Add(i + 1);
                     numOfNum.Add(j + 1);
                 }
             }
         }
         foreach (Attribute at in quest.Attributes)
         {
             amount++;
             if (!numOfNum.Contains(amount))
             {
                 dGVQuestResult.Columns.Add("Column" + amount.ToString(), at.Name);
             }
             else
             {
                 dGVQuestResult.Columns.Add("Column" + amount.ToString(), at.Entity.Name + "." + at.Name);
             }
             idAttrs[amount - 1] = at.Id;
         }
         numOfNum.Clear();
         List <string> numOfExemp = quest.Execute();
         int           colNum     = 0;
         foreach (Attribute at in quest.Attributes)
         {
             int rowNum = 0;
             if (colNum == 0)
             {
                 foreach (AttributeValue atv in at.AttributeValues)
                 {
                     if (numOfExemp.Contains(atv.Attribute.Entity.Id + "." + atv.Number))
                     {
                         dGVQuestResult.Rows.Add();
                         dGVQuestResult.Rows[rowNum].Cells[colNum].Value = atv.Value;
                         rowNum++;
                     }
                 }
             }
             else
             {
                 foreach (AttributeValue atv in at.AttributeValues)
                 {
                     if (numOfExemp.Contains(atv.Attribute.Entity.Id + "." + atv.Number))
                     {
                         dGVQuestResult.Rows[rowNum].Cells[colNum].Value = atv.Value;
                         rowNum++;
                     }
                 }
             }
             colNum++;
             //foreach (DataGridViewColumn dgvc in dGVQuestResult.Columns)
             //dgvc.Name;
         }
         foreach (DataGridViewColumn dgvc in dGVQuestResult.Columns)
         {
             dgvc.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
         }
         //dGVQuestResult.
     }
 }
示例#11
0
 private void EntityAdding_Load(object sender, EventArgs e)
 {
     DBP = cont.DataBaseProjectSet.Find(currentDBS);
 }