private void buttonOK_Click(object sender, EventArgs e) { typeID = docTypeBlock.ID; if (typeID == 0) { docTypeBlock.SelectDialog(); return; } string nameStr = ""; if (typeNameEnable) { nameStr = textBoxName.Text.Trim(); } if ((!checkBoxName.Checked || nameStr.Length == 0) && typeNameEnable && !(_editorId == Environment.CurEmp.ID && typeID == originalTypeID)) { var dialog = new CheckTypeDialog(); dialog.SetStartPosition(this, 0, 60); if (dialog.ShowDialog() != DialogResult.Yes) { checkBoxName.Checked = true; textBoxName.Focus(); return; } nameStr = ""; } DateTime docDate = originalDate; if (dateBlock.IsEmpty()) { docDate = default(DateTime); } else { if (!dateBlock.Check()) { MessageBox.Show( dateBlock.Error + "." + System.Environment.NewLine + Environment.StringResources.GetString("DocProperties.buttonOK_Click.Message1") + ".", Environment.StringResources.GetString("InputError")); dateBlock.Focus(); return; } if (dateBlock.Value > DateTime.Now.Date && !(_editorId == Environment.CurEmp.ID && dateBlock.Value == originalDate)) { var dialog = new CheckDateDialog(); dialog.SetStartPosition(this, 0, 60); if (dialog.ShowDialog() != DialogResult.Yes) { dateBlock.Focus(); return; } } docDate = dateBlock.Value; } string numberStr = number.Text; bool protectedDoc = checkBoxProtected.Checked; string descrStr = description.Text; int personCount = personBlock.Count; if (personCount == 0) { MessageBox.Show( Environment.StringResources.GetString("DocProperties.buttonOK_Click.Message2") + Environment.PersonWord.GetForm(Cases.R, false, false), Environment.StringResources.GetString("InputError")); return; } string personIDs = personBlock.PersonIDs.Aggregate("", (current, t) => current + (((current.Length > 0) ? "," : "") + t)); byte type = docTypeBlock.SearchType; if (sType != -1) { type = (byte)sType; } // проверяем, есть ли похожий документ уже DataTable dt = Environment.DocData.GetSimilarDocs(typeID, numberStr, docDate, personIDs, DocID, -1); if (dt.Rows.Count > 0) { Dialogs.SimilarDocsDialog dialog = new Dialogs.SimilarDocsDialog(dt, typeID, docTypeBlock.Text, nameStr, numberStr, docDate, protectedDoc, personIDs, DocID, descrStr, personCount) { SearchType = type }; dialog.DialogEvent += SimilarDocsDialog_DialogEvent; ShowSubForm(dialog); return; } CheckAndSave(docDate, nameStr, numberStr, protectedDoc, descrStr, personCount); }