private void DeleteWorkerButton_Click(object sender, EventArgs e) { var rows = WorkersGridView.SelectedRows; if (rows.Count < 1) { MyMsgBox.showInfo("Вы не выделили строку"); return; } if (MyMsgBox.showAsk("Вы точно хотите удалить?") == false) { return; } for (int i = 0; i < rows.Count; i++) { WorkersGridView.Rows.Remove(rows[i]); } }
private void DeleteButton_Click(object sender, EventArgs e) { if (trip == null) { MyMsgBox.showError("Нельзя удалить ещё не добавленную командировку"); return; } else if (MyMsgBox.showAsk("Вы уверены, что хотите удалить командировку ?")) { model.UPDTRIP.Remove(trip); try { model.SaveChanges(); MyMsgBox.showInfo("Удалено!"); } catch (Exception exc) { Console.Error.WriteLine(exc); MyMsgBox.showError("Ошибка при удалении"); } } }
private void KomandirovkaForm_FormClosing(object sender, FormClosingEventArgs e) { e.Cancel = !MyMsgBox.showAsk("Вы точно хотите закрыть окно? Все несохранённые изменения будут утеряны!"); }
/* * Сохранение * * */ public bool Save() { if (trip == null) { trip = new UPDTRIP(); } DateTime allStartDate = DateTime.Now, allFinishDate = DateTime.Now; String allPurpose = "", allFinance = ""; if (isSameDatesCheckBox.Checked) { allStartDate = startDate.Value; allFinishDate = finishDate.Value; if (!checkedDates(allStartDate, allFinishDate)) { return(false); } } if (PurposeCheckBox.Checked) { allPurpose = PurposeTextBox.Text; if (!checkString(allPurpose, "Цель - пустая строка")) { return(false); } } if (FinanceCheckBox.Checked) { allFinance = FinanceTextBox.Text; if (!checkString(allFinance, "Источник финансов - пустая строка")) { return(false); } } String numPrikaz, reason, note; DateTime datePrikaz; // Основание reason = ReasonTextBox.Text; if (!checkString(reason, "Основание - пустая строка")) { return(false); } trip.OSNOVANIE = reason; if (isDateReasonCheckBox.Checked) { if (checkDateOnNull(DateReason.Value, "Дата основания")) { trip.OSNOVANIEDATE = DateReason.Value; } else { return(false); } } // Примечание note = NoteTextBox.Text; trip.NOTE = note; // Организации List <TRIP_ORG> addedOrgs = new List <TRIP_ORG>(); int countOrgs = 0; foreach (DataGridViewRow row in placesView.Rows) { decimal pk_org; try { if ((row.Cells[2] as DataGridViewComboBoxCell).Value == null) { throw new Exception(); } pk_org = (Decimal)(row.Cells[2] as DataGridViewComboBoxCell).Value; } catch (Exception) { //Игнорируем continue; } if (pk_org == 0) { Console.WriteLine("пк орг = 0"); continue; } TRIP_ORG org = model.TRIP_ORG.Find(pk_org); if (org == null) { Console.WriteLine("орг = 0, но пкОрг != 0"); continue; } addedOrgs.Add(org); if (trip.TRIP_ORG.Contains(org) == false) { trip.TRIP_ORG.Add(org); } countOrgs++; } if (countOrgs == 0) { MyMsgBox.showError("Добавьте хотя бы 1 организацию"); return(false); } DeleteFromList <TRIP_ORG>(addedOrgs, trip.TRIP_ORG); //Люди //Костылёк PERSONCARD workerForAddInPrikaz = null; List <PERSONCARD_IN_TRIP> addedWorkers = new List <PERSONCARD_IN_TRIP>(); foreach (PERSONCARD_IN_TRIP worker in pERSONCARDINTRIPBindingSource) { if (isSameDatesCheckBox.Checked) { worker.STARTDATE = allStartDate; worker.ENDDATE = allFinishDate; } if (PurposeCheckBox.Checked) { worker.GOAL = allPurpose; } if (FinanceCheckBox.Checked) { worker.FINANCE = allFinance; } if (checkWorker(worker)) { if (workerForAddInPrikaz == null) { workerForAddInPrikaz = worker.PERSONCARD; } addedWorkers.Add(worker); if (trip.PERSONCARD_IN_TRIP.Contains <PERSONCARD_IN_TRIP>(worker) == false) { trip.PERSONCARD_IN_TRIP.Add(worker); } } else { if (!MyMsgBox.showAsk("Найдены работники с невалидными данными. Пропустить их(ДА) или остановить сохранение(НЕТ)")) { return(false); } } } if (workerForAddInPrikaz == null) { MyMsgBox.showError("Добавьте хотя бы 1 человека"); return(false); } DeleteFromList <PERSONCARD_IN_TRIP>(addedWorkers, trip.PERSONCARD_IN_TRIP); //Приказ datePrikaz = DatePrikaz.Value; if (trip.PRIKAZ == null) { trip.PRIKAZ = new PRIKAZ(); trip.PRIKAZ.PK_TYPE_PRIKAZ = 2; trip.PRIKAZ.PK_OUR_ORG = 1; if (trip.PERSONCARD_IN_TRIP.Count > 1) { trip.PRIKAZ.OKUD = "0301023"; } else { trip.PRIKAZ.OKUD = "0301022"; } trip.PRIKAZ.OKPO = model.OUR_ORG.First().OKPO ?? ""; } //Костылёк if (workerForAddInPrikaz != null) { trip.PRIKAZ.PK_PERSONCARD = workerForAddInPrikaz.PK_PERSONCARD; } if (checkDateOnNull(DatePrikaz.Value, "Дата приказа")) { trip.PRIKAZ.CREATEDATE = datePrikaz; } else { return(false); } trip.PRIKAZ.ISPROJECT = IsProject.Checked ? "1" : "0"; if (GenNumPrikaz.Checked) { if (trip.PRIKAZ.PK_PRIKAZ != 0) { numPrikaz = trip.PRIKAZ.PK_PRIKAZ.ToString(); } else { long sequenceGen = model.Database.SqlQuery <long>("Select ADMIN.prikaz_seq.NEXTVAL from dual") .SingleOrDefault(); numPrikaz = sequenceGen.ToString(); trip.PRIKAZ.PK_PRIKAZ = sequenceGen; } } else { numPrikaz = NumPrikazTextBox.Text; } if (!checkString(numPrikaz, "Номер приказа - пустая строка")) { return(false); } trip.PRIKAZ.NUMDOC = numPrikaz; //Новая или старая if (trip.PK_TRIP != 0) { model.Entry <UPDTRIP>(trip).State = EntityState.Modified; } else { model.UPDTRIP.Add(trip); } try { model.SaveChanges(); } catch (Exception except) { Console.Error.WriteLine(except.Message); return(false); } return(true); }