public override void ConcurrencyExceptionSummariesHandler(FaultException <ConcurrencyExceptionOfSummarydxjYbbDT> fault, UpdateDeleteOptions options) { var errorString = new StringBuilder(); errorString.Append("Данные были изменены другим пользователем с момента загрузки\n"); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Приход/Расход", fault.Detail.DatabaseValue.CashFlowType, fault.Detail.CurrentValue.CashFlowType)); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Только чтение", fault.Detail.DatabaseValue.ReadOnly, fault.Detail.CurrentValue.ReadOnly)); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Бюджетная статья", fault.Detail.DatabaseValue.BudgetItem.ItemName, fault.Detail.CurrentValue.BudgetItem.ItemName)); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Проект", fault.Detail.DatabaseValue.Project.ProjectName, fault.Detail.CurrentValue.Project.ProjectName)); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Подотчетник", fault.Detail.DatabaseValue.Accountable.AccountableName, fault.Detail.CurrentValue.Accountable.AccountableName)); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Расшифровка", fault.Detail.DatabaseValue.Description, fault.Detail.CurrentValue.Description)); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Сумма, грн.", fault.Detail.DatabaseValue.SummaUAH, fault.Detail.CurrentValue.SummaUAH)); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Сумма, $.", fault.Detail.DatabaseValue.SummaUSD, fault.Detail.CurrentValue.SummaUSD)); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Сумма, ЕВРО.", fault.Detail.DatabaseValue.SummaUSD, fault.Detail.CurrentValue.SummaEuro)); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Дата", fault.Detail.DatabaseValue.SummaryDate, fault.Detail.CurrentValue.SummaryDate)); errorString.Append(string.Format("Изменение были внесены в {0}\n\n", fault.Detail.DatabaseValue.ActionDate)); errorString.Append("Изменить значение в базе данных?"); var dialogResult = MessageBox.Show(errorString.ToString(), "Ошибка изменения данных", MessageBoxButtons.YesNo, MessageBoxIcon.Error); CFAPBusinessLogic businessLogic = new CFAPBusinessLogic(this); if (dialogResult == DialogResult.Yes) { if (options == UpdateDeleteOptions.Update) { businessLogic.UpdateSummary(fault.Detail.CurrentValue, DbConcurencyUpdateOptions.ClientPriority); } if (options == UpdateDeleteOptions.Delete) { businessLogic.RemoveSummary(fault.Detail.DatabaseValue, DbConcurencyUpdateOptions.ClientPriority); } } else { businessLogic.UpdateSummary(fault.Detail.DatabaseValue, DbConcurencyUpdateOptions.DatabasePriority); } }
private void radButton_Update_Click(object sender, EventArgs e) { if (!ValidateFormData()) { return; } SetData(); businessLogic.UpdateSummary(summary); this.Close(); }