Beispiel #1
0
        //Вызов окна подтверждения удаления записи для Главной таблицы, а также удаление записи
        private void DeleteInMainTable()
        {
            DeleteMail = new ShowOrDeleteInMainTable();
            int selectedIndex;
            int selectedRow = dataGrid_MainTable.SelectedIndex;

            if (selectedRow >= 0)
            {
                DeleteMail.SetData(mailArr[selectedRow], ShowOrDeleteInMainTable.ModeWindow.DeleteConfirm);
                selectedIndex = mailArr[selectedRow].mail_Id;
            }
            else
            {
                MessageBox.Show("Выделите запись которую желаете удалить", "Внимание", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }
            DeleteMail.Owner = this;

            bool?result = DeleteMail.ShowDialog();

            if (result == true)
            {
                using (MailContext context = new MailContext())
                {
                    Mail mail = context.Mail.FirstOrDefault <Mail>(c => c.mail_Id == selectedIndex);
                    context.Mail.Remove(mail);
                    context.SaveChanges();

                    MessageBox.Show("Запись №" + selectedIndex + " в Главной таблице удалена успешно!", "Успешно", MessageBoxButton.OK, MessageBoxImage.Information);

                    RefreshMainTable();
                }
            }
        }
Beispiel #2
0
        //Метод вызова окна просмотра записи, а также контроля за ними
        private void ShowInMainTable()
        {
            int rowIndex = dataGrid_MainTable.SelectedIndex;

            if (rowIndex >= 0)
            {
                int index = mailArrNow[rowIndex].mail_Id;
                if (ShowMailList.Count != 0)
                {
                    //Очистка листа ShowMailList от закрытых окон
                    ShowOrDeleteInMainTable[] tempArr = ShowMailList.ToArray();
                    foreach (ShowOrDeleteInMainTable SODIMT in tempArr)
                    {
                        if (SODIMT.IsVisible == false)
                        {
                            MessageBox.Show("Удаление");
                            ShowMailList.Remove(SODIMT);
                        }
                    }

                    //Вывод окна на передний план если оно уже было открыто
                    foreach (ShowOrDeleteInMainTable SODIMT in ShowMailList)
                    {
                        if (SODIMT.id == index)
                        {
                            SODIMT.Activate();
                            return;
                        }
                    }
                }
                ShowMail = new ShowOrDeleteInMainTable();

                ShowMail.Owner = this;
                ShowMail.Show();
                ShowMail.SetData(index, ShowOrDeleteInMainTable.ModeWindow.Show);
                ShowMailList.Add(ShowMail);
            }
        }