/// <summary> /// Метод обрабатывает событие закрытия формы. /// Отвечает за удаление старого и создание нового чека /// при отказе работать с текущими позициями. /// </summary> /// <param name="sender">Объект, вызвавщий метод.</param> /// <param name="e">Аргументы события.</param> private void Payment_FormClosing(object sender, FormClosingEventArgs e) { using (var db = new KassaDBContext()) { //если в диалоговом окне выбрано Нет if (MessageBox.Show("Продолжить работу с этими позициями?", "", MessageBoxButtons.YesNo) == DialogResult.No) { ((Main)Owner).receipt = new Receipt(); ((Main)Owner).receiptDGV.Rows.Clear(); //очистка таблицы на главной форме var r = db.Receipt.Where(p => p.Id == CurrentReceipt.Id && p.Paid == false).FirstOrDefault(); if (r != null) { CountController.Reconciliation(CurrentReceipt); //сверка остатков } db.Receipt.Add(((Main)Owner).receipt); //добавление нового чека db.SaveChanges(); } } }
/// <summary> /// Метод обрабатывает событие закрытия формы. /// Отвечает за вызов сравнения остатков. /// </summary> /// <param name="sender">Объект, вызвавщий метод.</param> /// <param name="e">Аргументы события.</param> private void Main_FormClosing(object sender, FormClosingEventArgs e) { //сверка остатков по товарам, добавленным в чек CountController.Reconciliation(receipt); }