private void btnOk_Click(object sender, EventArgs e) { DialogResult res = MessageBox.Show("Подтвердить зачет олимпиад у выбранных заявлений как тип конкурса б/э? (необходимо будет создать новый протокол о допуске для всех выбранных абитуриентов!)", "Зачет олимпиад", MessageBoxButtons.YesNoCancel); if (res == DialogResult.Yes) { try { using (PriemEntities context = new PriemEntities()) { using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.RequiresNew)) { foreach (DataGridViewRow row in dgvAbitList.Rows) { if (row.Cells["Изменить тип конкурса"].Value.ToString() == "True") { Guid abId = new Guid(row.Cells["Id"].Value.ToString()); context.Abiturient_UpdateCompetititon(1, null, true, abId); context.Abiturient_UpdateChecked(false, abId); //исключаем из предыдущего протокола о допуске Guid?protId = (from pr in context.qProtocolHistory where pr.AbiturientId == abId && !pr.Excluded && !pr.IsOld select pr.ProtocolId).FirstOrDefault(); if (protId != null) { context.ProtocolHistory_UpdateExcluded(abId, protId, true, null); } } } } } } catch (Exception ex) { WinFormsServ.Error("Ошибка при сохранении перезачета оценок. Оценки перезачтены не будут. " + ex.Message); } UpdateDataGrid(); } }