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 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);
 }
 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);
 }
        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 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 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);
        }