private void ПечатьToolStripMenuItem_Click(object sender, EventArgs e) { try { _printingService.Print(currentID, Convert.ToDateTime(dataGridView1.CurrentRow.Cells[2].Value), GetDocsById(currentID), dataGridView1.CurrentRow?.Cells[3].Value.ToString(), ClientName.Text, dm.GetIdentityClientName(Convert.ToInt32(dataGridView1.CurrentRow.Cells["Client_ID"].Value)) ?? ClientName.Text, label6.Text.Replace("Стоимость: ", "").Replace("руб.", "").Trim(), textBox1.Text, InfoType.Text, dataGridView1.CurrentRow.Cells[4].Value.ToString(), _employeeService.GetActiveSign(), entryType: dataGridView1.CurrentRow?.Cells[1].Value.ToString()); } catch (Exception ex) { MessageBox.Show(ex.Message, "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void SaveItem_Click(object sender, EventArgs e) { #region Проверки заполнения if (((radioButton1.Checked == false) && (radioButton2.Checked == false)) || ((organizationsCB.Text == "") || organizationsCB.Text == "Начните вводить имя организации") || ((checkBox1.Checked == false) && (checkBox2.Checked == false)) || (clientsCB.Text == "") || (costTB.Text == "") || (memoTB.Text == "")) { MessageBox.Show("Не все поля формы заполнены. \nВнесите всю необходимую информацию и повторите попытку.", "Ошибка заполнения формы", MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.None; return; } if (((organizationsCB.SelectedIndex == -1) && (organizationsCB.Text != "Частное лицо")) || (clientsCB.SelectedIndex == -1)) { MessageBox.Show("Выбран несуществующий клиент или организация. Проверьте правильность ввода.", "Ошибка заполнения формы", MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.None; return; } //if (dateTimePicker1.Value > DateTime.Now) //{ // MessageBox.Show("Дата документа задана не верно.", "Ошибка заполнения формы", MessageBoxButtons.OK, MessageBoxIcon.Warning); // return; //} if (typeDocCB.SelectedIndex == -1) { MessageBox.Show("Не выбран тип документа.", "Ошибка заполнения формы", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int chBoxIndx = 1; if ((checkBox1.Checked == true) && (checkBox2.Checked == false)) { chBoxIndx = 2; } if ((checkBox1.Checked == false) && (checkBox2.Checked == true)) { chBoxIndx = 3; } if ((checkBox1.Checked == true) && (checkBox2.Checked == true)) { chBoxIndx = 4; } string chBoxIndxStr = Convert.ToString(chBoxIndx); if (memoTB.Text.Length > 4000) { if (MessageBox.Show("Слишком большой объем поля описания.\n\nСохранить введенное значение?", "Внимание", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) != DialogResult.OK) { return; } } #endregion SaveItem.Enabled = false; Cursor = Cursors.AppStarting; //Подготавливаем переменые даты для передачи на sql server DateTime dateNow = Convert.ToDateTime(textBox3.Text); //Отправляем текст на Regex-анализ, чтобы узнать количество выданных планшетов int mapCasesCount = RegexAnalys.MapCasesCount(memoTB.Text); var cn = dm.DBConnection; SqlCommand command = cn.CreateCommand(); //Добавление новой строки со случайными значениями. //Подготавливаем значения //'04-02-2017' формат передаваемой в sql даты //SqlCommand orgIndex = cn.CreateCommand(); int orgId = dm.FindFirstOrganizationId(organizationsCB.Text); int clientId = (int)clientsCB.SelectedValue; //MessageBox.Show(clientsCB.SelectedValue.ToString()); command.CommandText = "INSERT INTO Журнал (TypeDoc, Date, Memo, Organ_ID, Empl_ID, Client_ID, in_id, Cost, mapCasesCount, RequireConfirmAct) VALUES ('" + (typeDocCB.SelectedIndex + 1) + "', '" + dateNow.ToString("yyyy - MM - dd HH:mm:ss") + "' , '" + memoTB.Text + "', '" + orgId + "', '" + (employCB.SelectedIndex + 1) + "', '" + clientId + "', '" + chBoxIndxStr + "', '" + Convert.ToInt32(costTB.Text) + "', '" + mapCasesCount + "', '" + mapCasesCount + "')"; #region ==========СОЗДАЕМ БАЗОВОГО КЛИЕНТА============ SqlCommand baseClient = cn.CreateCommand(); if (topClientCheckB.Checked == true) { baseClient.CommandText = "UPDATE Организации SET ОсновнойКлиент =" + clientId + " WHERE Организации.ID = " + orgId; try { baseClient.Transaction = cn.BeginTransaction(IsolationLevel.Serializable); baseClient.ExecuteNonQuery(); baseClient.Transaction.Commit(); } catch { baseClient.Transaction.Rollback(); MessageBox.Show("Данный клиент не был назначен основным", "Ошибка при изменении статуса клиента", MessageBoxButtons.OK, MessageBoxIcon.Information); } } #endregion //========================COMMIT============================== try { command.Transaction = cn.BeginTransaction(IsolationLevel.Serializable); command.ExecuteNonQuery(); command.Transaction.Commit(); lastID = Convert.ToInt32(SqlQueryBuilder.LastId(cn).ExecuteScalar()); // Вставка документов в БД if (docsForInsert != null) { docsForInsert.ForEach(x => x.FidJournal = lastID); //docsForInsert.ForEach(x => x.Type = (DocType)comboBox2.SelectedIndex + 1); } //else if (comboBox2.Text == "Обращение") //{ // docsForInsert = new List<Document>(); // docsForInsert.Add(new Document((DocType)comboBox2.SelectedIndex + 1) // { // FidJournal = lastID, // TicketNumber = textBox1.Text, // TicketDate = dateTimePicker1.Value, // NumRazresh = null, // DateRazresh = null, // //Type = (DocType)comboBox2.SelectedIndex + 1 // }); //} bool isAdded = dm.CreateDocuments(docsForInsert); DialogResult = DialogResult.OK; } catch { command.Transaction.Rollback(); DialogResult = DialogResult.Abort; MessageBox.Show("Транзакция отменена. Данные не добавлены в базу данных. \nОбратитесь к администратору.", "Системный сбой", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); } //В таблицу Организации в поле количество прибавляем выданные планшеты if (mapCasesCount > 0) { MapCasesManager.SetDBMapCasesSumm(organizationsCB.Text, mapCasesCount); } int allMapCases = MapCasesManager.GetMapCasesSum(organizationsCB.Text); if (allMapCases >= 200) { MessageBox.Show(String.Format("Количество планшетов, выданных организации {0} составляет {1}.\nНеобходимо получить от организации акты об удалении, после чего изменить сумму в таблице Выданные планшеты\n(Данные - Выданные планшеты).", organizationsCB.Text, allMapCases), "Информация", MessageBoxButtons.OK, MessageBoxIcon.Warning); } if (checkBox3.Checked == true) { try { _printingService.Print(lastID, Convert.ToDateTime(textBox3.Text), docsForInsert ?? new List <Document> (), organizationsCB.Text, dm.GetClientName(Convert.ToInt32(clientsCB.SelectedValue)), clientsCB.Text, costTB.Text, memoTB.Text, GetInfoType(), employCB.Text, _employeeService.GetActiveSign(), entryType: typeDocCB.Text); } catch (Exception ex) { MessageBox.Show(ex.Message); } } Close(); callback.Invoke(DialogResult); RepeatEnter : Cursor = Cursors.Default; SaveItem.Enabled = true; }