protected void EntityContactInformationHistoryGrid_OnInsertUpdateCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs e) { if (MercuryApplication == null) { return; } Telerik.Web.UI.GridEditFormItem item = (Telerik.Web.UI.GridEditFormItem)e.Item; Boolean isInsertMode = (e.Item is Telerik.Web.UI.GridEditFormInsertItem); Boolean hasValidationError = false; Telerik.Web.UI.RadComboBox EntityContactInformationEditContactType; Telerik.Web.UI.RadMaskedTextBox EntityContactInformationEditNumber; Telerik.Web.UI.RadTextBox EntityContactInformationEditExtension; Telerik.Web.UI.RadTextBox EntityContactInformationEditEmail; Telerik.Web.UI.RadDatePicker EntityContactInformationEditEffectiveDate; Telerik.Web.UI.RadDatePicker EntityContactInformationEditTerminationDate; Label EntityContactInformationSaveResponse; Client.Core.Entity.EntityContactInformation entityContactInformation; Client.Core.Entity.EntityContactInformation modifiedEntityContactInformation; EntityContactInformationEditContactType = (Telerik.Web.UI.RadComboBox)item.FindControl("EntityContactInformationEditContactType"); EntityContactInformationEditNumber = (Telerik.Web.UI.RadMaskedTextBox)item.FindControl("EntityContactInformationEditNumber"); EntityContactInformationEditExtension = (Telerik.Web.UI.RadTextBox)item.FindControl("EntityContactInformationEditExtension"); EntityContactInformationEditEmail = (Telerik.Web.UI.RadTextBox)item.FindControl("EntityContactInformationEditEmail"); EntityContactInformationEditEffectiveDate = (Telerik.Web.UI.RadDatePicker)item.FindControl("EntityContactInformationEditEffectiveDate"); EntityContactInformationEditTerminationDate = (Telerik.Web.UI.RadDatePicker)item.FindControl("EntityContactInformationEditTerminationDate"); EntityContactInformationSaveResponse = (Label)item.FindControl("EntityContactInformationSaveResponse"); if (isInsertMode) { entityContactInformation = new Client.Core.Entity.EntityContactInformation(MercuryApplication); modifiedEntityContactInformation = new Client.Core.Entity.EntityContactInformation(MercuryApplication); } else { // RELOAD BASED ON ID entityContactInformation = MercuryApplication.EntityContactInformationGet(Convert.ToInt64(item.GetDataKeyValue("Id")), false); modifiedEntityContactInformation = entityContactInformation.Copy(); } modifiedEntityContactInformation.EntityId = Entity.Id; modifiedEntityContactInformation.ContactType = (Mercury.Server.Application.EntityContactType)Convert.ToInt32(EntityContactInformationEditContactType.SelectedValue); modifiedEntityContactInformation.ContactSequence = 1; modifiedEntityContactInformation.Number = EntityContactInformationEditNumber.Text; modifiedEntityContactInformation.NumberExtension = EntityContactInformationEditExtension.Text; modifiedEntityContactInformation.Email = EntityContactInformationEditEmail.Text; if (EntityContactInformationEditEffectiveDate.SelectedDate.HasValue) { modifiedEntityContactInformation.EffectiveDate = EntityContactInformationEditEffectiveDate.SelectedDate.Value; } else { hasValidationError = true; EntityContactInformationSaveResponse.Text = "Invalid Effective Date selected."; } if (EntityContactInformationEditTerminationDate.SelectedDate.HasValue) { modifiedEntityContactInformation.TerminationDate = EntityContactInformationEditTerminationDate.SelectedDate.Value; } else { modifiedEntityContactInformation.TerminationDate = new DateTime(9999, 12, 31); } if ((!isInsertMode) && (entityContactInformation.IsEqual(modifiedEntityContactInformation))) { hasValidationError = true; EntityContactInformationSaveResponse.Text = "No modifications to contact information detected. Changes not saved."; } if (!hasValidationError) { // SAVE CHANGES hasValidationError = !MercuryApplication.EntityContactInformationSave(modifiedEntityContactInformation); if (hasValidationError) { if (MercuryApplication.LastException != null) { EntityContactInformationSaveResponse.Text = MercuryApplication.LastExceptionMessage; } else { EntityContactInformationSaveResponse.Text = "Unknown exception occurred. Unable to save changes."; } } } e.Canceled = hasValidationError; return; }