public override void ConcurrencyExceptionRatesHandler(FaultException <ConcurrencyExceptionOfRatedxjYbbDT> fault) { var errorString = new StringBuilder(); errorString.Append("Данные были изменены другим пользователем с момента загрузки\n"); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Курс", fault.Detail.DatabaseValue.RateUSD, fault.Detail.CurrentValue.RateUSD)); errorString.Append(string.Format("Поле: {0}, значение в БД: {1}, текущее значение: {2}\n\n", "Дата", fault.Detail.DatabaseValue.DateRate, fault.Detail.CurrentValue.DateRate)); errorString.Append("Изменить значение в базе данных?"); var dialogResult = MessageBox.Show(errorString.ToString(), "Ошибка изменения данных", MessageBoxButtons.YesNo, MessageBoxIcon.Error); CFAPBusinessLogic businessLogic = new CFAPBusinessLogic(this); if (dialogResult == DialogResult.Yes) { businessLogic.UpdateRate(fault.Detail.CurrentValue, DbConcurencyUpdateOptions.ClientPriority); } else { businessLogic.UpdateRate(fault.Detail.DatabaseValue, DbConcurencyUpdateOptions.DatabasePriority); } }
private void radButton_Update_Click(object sender, EventArgs e) { if (!ValidateFormData()) { return; } SetData(); businessLogic.UpdateRate(rate); this.Close(); }