private void btnAddItem_Click(object sender, EventArgs e)
        {
            var group = lstGroups.SelectedItem as Group;

            if (group == null)
            {
                MessageBox.Show("Выберите группу для добавления", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            Item item = new Item()
            {
                Group     = group,
                CheckDate = DateTime.Now
            };

            var frm = new frmAddItem(item);

            if (frm.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            //Проверка на повторение в списке
            int i = lstItems.FindStringExact(item.FullName);

            if (i != -1)
            {
                MessageBox.Show("Такая запись уже существует", "Предупреждение", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
                lstItems.SetSelected(i, true);
                return;
            }

            using (var context = new Context())
            {
                try
                {
                    item.Group = context.Groups.First(x => x.Id == group.Id);
                    context.Items.Add(item);
                    context.SaveChanges();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + Environment.NewLine + ex.InnerException + Environment.NewLine +
                                    ex.StackTrace);
                }
            }

            RefreshItemList();
        }
        private void btnEditItem_Click(object sender, EventArgs e)
        {
            var tmp = lstItems.SelectedItem as Item;

            if (tmp == null)
            {
                MessageBox.Show("Выберите запись для редактирования", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            Item item = new Item(tmp);

            var frm = new frmAddItem(item);

            if (frm.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            int i = lstItems.FindStringExact(item.FullName);

            if (i != -1)
            {
                MessageBox.Show("Такая запись уже существует", "Предупреждение", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
                lstItems.SetSelected(i, true);
                return;
            }

            using (var context = new Context())
            {
                var editItem = context.Items.Include("Group").First(x => x.Id == tmp.Id);
                editItem.CheckDate = item.CheckDate;
                editItem.Code      = item.Code;
                editItem.IdNum     = item.IdNum;
                editItem.Name      = item.Name;

                try
                {
                    context.SaveChanges();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + Environment.NewLine + ex.InnerException + Environment.NewLine +
                                    ex.StackTrace);
                }
            }

            RefreshItemList();
        }