示例#1
0
        private void delStripButton_Click(object sender, EventArgs e)
        {
            List <DataRowView> personList          = GetSelectedRows();
            List <long>        personIdList        = new List <long>();
            StringBuilder      personFios          = new StringBuilder();
            StringBuilder      personFiosNotDelete = new StringBuilder();

            bool breakDelete = false;

            foreach (DataRowView rowItem in personList)
            {
                long      personId = (long)rowItem[PersonView.id];
                DataTable tmp      = DocsView2.GetDocs(personId, _connection);
                if (tmp.Rows.Count < 1)
                {
                    personIdList.Add(personId);
                    personFios.AppendFormat("{0} {1}\n", rowItem[PersonView.fio].ToString(),
                                            rowItem[PersonView.socNumber].ToString());
                }
                else
                {
                    breakDelete = true;
                    personFiosNotDelete.AppendFormat("{0} {1}\n", rowItem[PersonView.fio].ToString(),
                                                     rowItem[PersonView.socNumber].ToString());

                    foreach (DataRow row in tmp.Rows)
                    {
                        personFiosNotDelete.AppendFormat("\t{0} год {1}, пакет {2}\n", row[DocsView2.regNum],
                                                         row[DocsView2.repYear], row[DocsView2.listId]);
                    }
                }
            }

            if (breakDelete)
            {
                MainForm.ShowWarningFlexMessage(
                    "Удаление анкетных данных невозможно, так как имеются документы СЗВ-1!\n\n" + personFiosNotDelete,
                    "Удаление анкет(ы)");
                return;
            }

            if (personIdList.Count <= 0)
            {
                MainForm.ShowInfoMessage("Необходимо выбрать запись!", "Ошибка выбора анкет(ы)");
                return;
            }

            if (
                MainForm.ShowQuestionFlexMessage("Вы действительно хотите удалить выбранные анкеты?\n\n" + personFios,
                                                 "Удаление анкет(ы)") != DialogResult.Yes)
            {
                return;
            }
            try
            {
                PersonInfo.Delete(personIdList, _connection);
                foreach (DataRowView rowItem in personList)
                {
                    rowItem[Check] = false;
                    rowItem.Delete();
                }
            }
            catch (Exception err)
            {
                MainForm.ShowWarningMessage(err.Message, "Внимание");
                _personBS.CancelEdit();
            }
        }