Exemple #1
0
 private void btnEditObject_Click(object sender, EventArgs e)
 {
     if (Control.currentUser.Objects.Count != 0)
     {
         try
         {
             int id = Control.FindID(dgvObjects);
             Control.currentObject = Control.container.Objects.Find(id);
             Control.currentFile   = Control.currentObject.File;
             EditObjectForm editObjectForm = new EditObjectForm();
             editObjectForm.ShowDialog();
             Control.ForgetCurrentObject();
             Control.ForgetCurrentFile();
             CompleteForm.dgvObjects(this);
             CompleteForm.dgvCollections(this);
         }
         catch (Exception)
         {
             Control.Exclamation("Выберите объект, чтобы отредактировать его данные.", "Редактирование объекта");
         }
     }
     else
     {
         Control.Exclamation("Вы еще не создали ни одного объекта.", "Редактирование объекта");
     }
 }
Exemple #2
0
        private void UserAccountForm_Load(object sender, EventArgs e)
        {
            lblUserLogin.Text = Control.currentUser.Name;

            CompleteForm.dgvObjects(this);
            CompleteForm.dgvCollections(this);
        }
 private void btnAddCollectionToObject_Click(object sender, EventArgs e)
 {
     if (Control.currentUser.Collections.ToList().Count == 0)
     {
         Control.Exclamation("Вы еще ни создали ни одной коллекции.", "Список коллекций объекта");
         return;
     }
     try
     {
         int id = Control.FindID(dgvExistingCollections);
         if (!Control.tempCollections.Exists(x => x.Id == id))
         {
             Control.tempCollections.Add(Control.container.Collections.Find(id));
         }
         else
         {
             MessageBox.Show(string.Format("Объект уже назначен коллекции \"{0}\".", id),
                             "Список коллекций объекта", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
         }
         CompleteForm.dgvObjectCollections(this);
     }
     catch (Exception)
     {
         MessageBox.Show("Выберите коллекцию, чтобы добавить в нее объект.",
                         "Список коллекций объекта", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
 }
        private void btnAddAuthorToObject_Click(object sender, EventArgs e)
        {
            int id = Control.FindID(dgvExistingUsers);

            if (id == Control.currentUser.Id)
            {
                Control.Exclamation("Вы являетесь создателем объекта по умолчанию.", "Список создателей объекта");
                return;
            }
            try
            {
                if (!Control.tempUsers.Exists(x => x.Id == id))
                {
                    Control.tempUsers.Add(Control.container.Users.Find(id));
                }
                else
                {
                    MessageBox.Show(string.Format("Пользователь \"{0}\" уже назначен как автор объекта.", id),
                                    "Список авторов объекта", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                CompleteForm.dgvObjectUsers(this);
            }
            catch (Exception)
            {
                MessageBox.Show("Выберите пользователя, чтобы назначить его автором объекта.",
                                "Список авторов объекта", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
 private void btnAddCategoryToObject_Click(object sender, EventArgs e)
 {
     if (Control.container.Categories.ToList().Count == 0)
     {
         Control.Exclamation("В базе данных еще не создана ни одна категория.", "Список категорий объекта");
         return;
     }
     try
     {
         int      id       = Control.FindID(dgvExistingCategories);
         Category category = Control.container.Categories.Find(id);
         if (!Control.tempCategories.Exists(x => x.Id == id))
         {
             Control.tempCategories.Add(category);
         }
         else
         {
             Control.Exclamation(string.Format("Объект уже содержит категорию \"{0}\".", category.Name), "Список категорий объекта");
         }
         CompleteForm.dgvObjectCategories(this);
     }
     catch (Exception)
     {
         Control.Exclamation("Выберите категорию, чтобы добавить ее в список категорий объекта.", "Список категорий объекта");
     }
 }
Exemple #6
0
        private void btnCreateObject_Click(object sender, EventArgs e)
        {
            CreatingObjectForm creatingObjectForm = new CreatingObjectForm();

            creatingObjectForm.ShowDialog();
            CompleteForm.dgvObjects(this);
            CompleteForm.dgvCollections(this);
        }
 private void btnAddAllCategoriesToObject_Click(object sender, EventArgs e)
 {
     if (Control.tempCategories.Count == Control.container.Categories.ToList().Count)
     {
         Control.Exclamation("К объекту уже добавлены все категории.", "Список категорий объекта");
         return;
     }
     Control.tempCategories = Control.container.Categories.ToList();
     CompleteForm.dgvObjectCategories(this);
 }
 private void btnAddAllCollectionsToObject_Click(object sender, EventArgs e)
 {
     if (Control.tempCollections.Count == Control.currentUser.Collections.ToList().Count)
     {
         Control.Exclamation("К объекту уже добавлены все коллекции.", "Список коллекций объекта");
         return;
     }
     Control.tempCollections = Control.currentUser.Collections.ToList();
     CompleteForm.dgvObjectCollections(this);
 }
 private void btnDeleteAllCategoreisFromObject_Click(object sender, EventArgs e)
 {
     if (Control.tempCategories.Count == 0)
     {
         Control.Exclamation("Объект не содержит ни одной категории.", "Список категорий объекта");
         return;
     }
     Control.tempCategories.Clear();
     CompleteForm.dgvObjectCategories(this);
 }
 private void btnDeleteCollectionsFromObject_Click(object sender, EventArgs e)
 {
     if (Control.tempCollections.Count == 0)
     {
         Control.Exclamation("Объект не содержит ни одной коллекции.", "Список коллекций объекта");
         return;
     }
     Control.tempCollections.Clear();
     CompleteForm.dgvObjectCollections(this);
 }
Exemple #11
0
 private void btnDeleteAllObjectsFromCollection_Click(object sender, EventArgs e)
 {
     if (Control.tempObjects.Count == 0)
     {
         Control.Exclamation("Коллекция не содержит ни одного объекта.",
                             "Список объектов коллекции");
         return;
     }
     Control.tempObjects.Clear();
     CompleteForm.dgvCollectionObjects(this);
 }
 private void btnAddAllAuthorsToObject_Click(object sender, EventArgs e)
 {
     if (Control.tempUsers.Count == Control.container.Users.ToList().Count)
     {
         MessageBox.Show("Авторами объекта уже являются все пользователи.",
                         "Список авторов объекта", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
         return;
     }
     Control.tempUsers = Control.container.Users.ToList();
     CompleteForm.dgvObjectUsers(this);
 }
Exemple #13
0
 private void btnAddAllObjectsToCollection_Click(object sender, EventArgs e)
 {
     if (Control.tempObjects.Count == Control.currentUser.Objects.Count)
     {
         Control.Exclamation("К коллекции уже добавлены все объекты.",
                             "Список объектов коллекции");
         return;
     }
     Control.tempObjects = Control.currentUser.Objects.ToList();
     CompleteForm.dgvCollectionObjects(this);
 }
 private void btnDeleteAllAuthorsFromObject_Click(object sender, EventArgs e)
 {
     if (Control.tempUsers.Count == 1) // Текущий пользователь не удаляется из списка создателей объекта
     {
         Control.Exclamation("Все пользователи (кроме Вас) уже удалены из списка создателей объекта.", "Список создателей объекта");
         return;
     }
     Control.tempUsers.Clear();
     Control.tempUsers.Add(Control.currentUser);
     CompleteForm.dgvObjectUsers(this);
 }
Exemple #15
0
        private void EditCollectionForm_Load(object sender, EventArgs e)
        {
            tbCollectionName.Text        = Control.currentCollection.Name;
            tbCollectionDescription.Text = Control.currentCollection.Description;

            CompleteForm.dgvExistingObjects(this);

            Control.tempObjects = Control.currentCollection.Objects.ToList();

            CompleteForm.dgvCollectionObjects(this);
        }
        private void CreatingObjectForm_Load(object sender, EventArgs e)
        {
            Control.tempUsers.Clear();
            Control.tempUsers.Add(Control.currentUser);

            CompleteForm.dgvExistingUsers(this);
            CompleteForm.dgvExistingCollections(this);
            CompleteForm.dgvExistingCategories(this);

            CompleteForm.dgvObjectUsers(this);
            CompleteForm.dgvObjectCollections(this);
            CompleteForm.dgvObjectCategories(this);
        }
        private void CollectionInfoForm_Load(object sender, EventArgs e)
        {
            lblCollectionName.Text        = Control.currentCollection.Name;
            lblCollectionDescription.Text = Control.currentCollection.Description;
            lblCreatingDate.Text          = Control.currentCollection.CreatingDate.ToShortDateString();
            lblAverageMark.Text           = Control.currentCollection.AverageMark.ToString();
            cbMark.SelectedIndex          = 4;

            CompleteForm.dgvCollectionComments(this);
            CompleteForm.dgvCollectionCreators(this);
            CompleteForm.dgvCollectionObjects(this);
            CompleteForm.dgvCollectionCategories(this);
            CompleteForm.dgvCollectionMarks(this);
        }
Exemple #18
0
        private void cbObjects_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (cbObjects.Text)
            {
            case "Объекты": CompleteForm.dgvDataBaseObjects(this); break;

            case "Коллекции": CompleteForm.dgvDataBaseCollections(this); break;

            case "Пользователи": CompleteForm.dgvDataBaseUsers(this); break;

            default:
                break;
            }
        }
Exemple #19
0
 private void btnCreateCollection_Click(object sender, EventArgs e)
 {
     if (Control.currentUser.Objects.Count != 0)
     {
         CreatingCollectionForm creatingCollectionForm = new CreatingCollectionForm();
         creatingCollectionForm.ShowDialog();
         CompleteForm.dgvObjects(this);
         CompleteForm.dgvCollections(this);
     }
     else
     {
         Control.Exclamation("У вас еще нет ни одного объекта для создания коллекции.", "Создание коллекции");
     }
 }
Exemple #20
0
        private void btnAddCondition_Click(object sender, EventArgs e)
        {
            if (tbValue.Visible && tbValue.Text == string.Empty || nudValue.Text == string.Empty)
            {
                Control.Exclamation("Поле со значением не заполнено.", "Значение");
                return;
            }
            reportIsReady = false;
            Query query = new Query();

            if (tbValue.Visible)
            {
                query = new Query()
                {
                    Entity    = cbEntities.Text,
                    Property  = cbProperties.Text,
                    Condition = cbCondition.Text,
                    Value     = tbValue.Text,
                    Link      = Control.tempQueries.Count == 0 ? "" : cbLink.Text
                };
            }
            if (nudValue.Visible)
            {
                query = new Query()
                {
                    Entity    = cbEntities.Text,
                    Property  = cbProperties.Text,
                    Condition = cbCondition.Text,
                    Value     = nudValue.Text,
                    Link      = Control.tempQueries.Count == 0 ? "" : cbLink.Text
                };
            }
            if (dtpValue.Visible)
            {
                query = new Query()
                {
                    Entity    = cbEntities.Text,
                    Property  = cbProperties.Text,
                    Condition = cbCondition.Text,
                    Value     = dtpValue.Value.ToShortDateString(),
                    Link      = Control.tempQueries.Count == 0 ? "" : cbLink.Text
                };
            }
            Control.tempQueries.Add(query);
            CompleteForm.dgvQueries(this);
            cbEntities.Enabled = false;
            cbLink.Enabled     = true;
            tbValue.Clear();
        }
        private void ObjectInfoForm_Load(object sender, EventArgs e)
        {
            lblObjectName.Text        = Control.currentObject.Name;
            lblObjectDescription.Text = Control.currentObject.Description;
            lblFile.Text         = Control.currentObject.File.Name;
            lblCreatingDate.Text = Control.currentObject.CreatingDate.ToShortDateString();
            lblAverageMark.Text  = Control.currentObject.AvarageMark.ToString();
            cbMark.SelectedIndex = 4;

            CompleteForm.dgvObjectComments(this);
            CompleteForm.dgvAuthors(this);
            CompleteForm.dgvCollections(this);
            CompleteForm.dgvCategories(this);
            CompleteForm.dgvMarks(this);
        }
 private void btnDeleteCollectionFromObject_Click(object sender, EventArgs e)
 {
     if (Control.tempCollections.Count == 0)
     {
         Control.Exclamation("Объект не содержит ни одной коллекции.", "Список коллекций объекта");
         return;
     }
     try
     {
         int id = Control.FindID(dgvObjectCollections);
         Control.tempCollections.Remove(Control.container.Collections.Find(id));
         CompleteForm.dgvObjectCollections(this);
     }
     catch (Exception)
     {
         Control.Exclamation("Выберите коллекцию, чтобы удалить ее из списка коллекций объекта.", "Список коллекций объекта");
     }
 }
        private void btnDeleteAuthorFromObject_Click(object sender, EventArgs e)
        {
            int id = Control.FindID(dgvObjectAuthors);

            if (id == Control.currentUser.Id)
            {
                Control.Exclamation("Вы не можете удалить себя из списка создателей объекта.", "Список создателей объекта");
                return;
            }
            try
            {
                Control.tempUsers.Remove(Control.container.Users.Find(id));
                CompleteForm.dgvObjectUsers(this);
            }
            catch (Exception)
            {
                Control.Exclamation("Выберите автора, чтобы удалить его из списка авторов объекта.", "Список создателей объекта");
            }
        }
        private void btnAddMark_Click(object sender, EventArgs e)
        {
            if (cbMark.Text.Length == 0)
            {
                Control.Exclamation("Оценка не выбрана.", "Оценка");
                return;
            }
            if (Control.currentObject.Marks.ToList().Exists(x => x.User == Control.currentUser))
            {
                Control.Exclamation("Вы уже ставили оценку этому объекту.", "Оценка");
                return;
            }

            Mark newMark = new Mark();

            newMark.Value  = int.Parse(cbMark.Text);
            newMark.User   = Control.currentUser;
            newMark.Object = Control.currentObject;

            Control.container.Marks.Add(newMark);

            Control.currentObject.Marks.Add(newMark);
            Control.currentObject.AvarageMark =
                (double)(from mark in Control.currentObject.Marks select mark.Value).Sum() /
                (double)Control.currentObject.Marks.Count;

            ////ТАК ДЕЛАЕТСЯ ИЗМЕНЕНИЕ ДАННЫХ//
            //Control.container.Objects.AsEnumerable().Select(c => { c.AvarageMark = Control.currentObject.AvarageMark; return c; });
            //foreach (Object collectionObject in Control.container.Objects)
            //{
            //    Control.container.Entry(collectionObject).State = EntityState.Modified;
            //}

            Object changingObject = new Object();

            changingObject             = Control.container.Objects.Find(Control.currentObject.Id);
            changingObject.AvarageMark = Control.currentObject.AvarageMark;

            Control.container.SaveChanges();

            CompleteForm.dgvMarks(this);
            lblAverageMark.Text = Control.currentObject.AvarageMark.ToString();
        }
        private void EditObjectForm_Load(object sender, EventArgs e)
        {
            tbObjectName.Text          = Control.currentObject.Name;
            tbObjectDescription.Text   = Control.currentObject.Description;
            lblFilename.Text           = Control.currentObject.File.Name;
            pbOverview.BackgroundImage = Image.FromFile(Control.currentObject.File.Name);

            CompleteForm.dgvExistingUsers(this);
            CompleteForm.dgvExistingCollections(this);
            CompleteForm.dgvExistingCategories(this);

            Control.tempUsers       = Control.currentObject.Users.ToList();
            Control.tempCategories  = Control.currentObject.Categories.ToList();
            Control.tempCollections = Control.currentObject.Collections.ToList();

            CompleteForm.dgvObjectUsers(this);
            CompleteForm.dgvObjectCollections(this);
            CompleteForm.dgvObjectCategories(this);
        }
        private void btnCreateNewCategory_Click(object sender, EventArgs e)
        {
            if (tbCreateNewCategory.Text == string.Empty)
            {
                Control.Exclamation("Поле категории не заполнено.", "Категория объекта");
                return;
            }
            if (Control.container.Categories.ToList().Exists(x => x.Name == tbCreateNewCategory.Text))
            {
                if (Control.tempCategories.Exists(x => x.Name == tbCreateNewCategory.Text))
                {
                    Control.Exclamation(string.Format("Категория \"{0}\" уже существует (и она уже добавлена в список категорий объекта).", tbCreateNewCategory.Text), "Категория объекта");
                    tbCreateNewCategory.Clear();
                    return;
                }
                else
                {
                    Control.tempCategories.Add(Control.container.Categories.Find(Control.container.Categories.
                                                                                 Where(x => x.Name == tbCreateNewCategory.Text).First().Id));
                    Control.Exclamation(string.Format("Категория \"{0}\" уже существует (тем не менее она добавляется в список категорий объекта).", tbCreateNewCategory.Text), "Категория объекта");
                    CompleteForm.dgvObjectCategories(this);
                    tbCreateNewCategory.Clear();
                    return;
                }
            }

            Category newCategory = new Category();

            newCategory.Name = tbCreateNewCategory.Text;

            Control.container.Categories.Add(newCategory);
            Control.container.SaveChanges();

            Control.tempCategories.Add(Control.container.Categories.Find(Control.container.Categories.
                                                                         Where(x => x.Name == tbCreateNewCategory.Text).First().Id));

            Control.Information(string.Format("Категория \"{0}\" успешно создана (и добавлена в список категорий объекта).", tbCreateNewCategory.Text), "Категория объекта");

            CompleteForm.dgvExistingCategories(this);
            CompleteForm.dgvObjectCategories(this);
            tbCreateNewCategory.Clear();
        }
Exemple #27
0
 private void btnDeleteObjectFromCollection_Click(object sender, EventArgs e)
 {
     if (Control.tempObjects.Count == 0)
     {
         Control.Exclamation("Коллекци не содержит ни одного объекта.",
                             "Список объектов коллекции");
         return;
     }
     try
     {
         int id = Control.FindID(dgvCollectionObjects);
         Control.tempObjects.Remove(Control.container.Objects.Find(id));
         CompleteForm.dgvCollectionObjects(this);
     }
     catch (Exception)
     {
         Control.Exclamation("Выберите объект, чтобы удалить его из списка объектов коллекции.",
                             "Список объектов коллекции");
     }
 }
Exemple #28
0
 private void btnAddObjectToCollection_Click(object sender, EventArgs e)
 {
     try
     {
         int    id  = Control.FindID(dgvExistingObjects);
         Object obj = Control.container.Objects.Find(id);
         if (!Control.tempObjects.Exists(x => x.Id == id))
         {
             Control.tempObjects.Add(obj);
         }
         else
         {
             Control.Exclamation(string.Format("Коллекция уже содержит объект \"{0}\".", obj.Name), "Список объектов коллекции");
         }
         CompleteForm.dgvCollectionObjects(this);
     }
     catch (Exception)
     {
         Control.Exclamation("Выберите объект, чтобы добавить его в список объектов коллекции.",
                             "Список объектов коллекции");
     }
 }
Exemple #29
0
 private void btnObjectInfo_Click(object sender, EventArgs e)
 {
     if (Control.currentUser.Objects.Count != 0)
     {
         try
         {
             int id = Control.FindID(dgvObjects);
             Control.currentObject = Control.container.Objects.Find(id);
             ObjectInfoForm objectInfoForm = new ObjectInfoForm();
             objectInfoForm.ShowDialog();
             Control.ForgetCurrentObject();
             CompleteForm.dgvObjects(this);
         }
         catch (Exception)
         {
             Control.Exclamation("Выберите объект, чтобы просмотреть его данные.", "Информация об объекте");
         }
     }
     else
     {
         Control.Exclamation("Вы еще не создали ни одного объекта.", "Информация об объекте");
     }
 }
Exemple #30
0
 private void btnCollectionInfo_Click(object sender, EventArgs e)
 {
     if (Control.currentUser.Collections.Count != 0)
     {
         try
         {
             int id = Control.FindID(dgvCollections);
             Control.currentCollection = Control.container.Collections.Find(id);
             CollectionInfoForm collectionInfoForm = new CollectionInfoForm();
             collectionInfoForm.ShowDialog();
             Control.ForgetCurrentCollection();
             CompleteForm.dgvCollections(this);
         }
         catch (Exception)
         {
             Control.Exclamation("Выберите коллекцию, чтобы просмотреть ее данные.", "Информация о коллекции");
         }
     }
     else
     {
         Control.Exclamation("Вы еще не создали ни одной коллекции.", "Информация о коллекции");
     }
 }