protected void Page_Load(object sender, EventArgs e) { Int64 forContactRegardingId = 0; if (MercuryApplication == null) { return; } if ((!MercuryApplication.HasEnvironmentPermission(Mercury.Server.EnvironmentPermissions.ContactRegardingReview)) && (!MercuryApplication.HasEnvironmentPermission(Mercury.Server.EnvironmentPermissions.ContactRegardingManage))) { Response.Redirect("/PermissionDenied.aspx", true); return; } if (!Page.IsPostBack) { #region Initial Page Load if (Request.QueryString["ContactRegardingId"] != null) { forContactRegardingId = Int64.Parse(Request.QueryString["ContactRegardingId"]); } if (forContactRegardingId != 0) { contactRegarding = MercuryApplication.ContactRegardingGet(forContactRegardingId, false); if (contactRegarding == null) { contactRegarding = new Mercury.Client.Core.Reference.ContactRegarding(MercuryApplication); } } else { contactRegarding = new Mercury.Client.Core.Reference.ContactRegarding(MercuryApplication); } InitializeAll(); Session[SessionCachePrefix + "ContactRegarding"] = contactRegarding; Session[SessionCachePrefix + "ContactRegardingUnmodified"] = contactRegarding.Copy(); #endregion } // Initial Page Load else // Postback { contactRegarding = (Mercury.Client.Core.Reference.ContactRegarding)Session[SessionCachePrefix + "ContactRegarding"]; } ApplySecurity(); if (!String.IsNullOrEmpty(contactRegarding.Name)) { Page.Title = "Contact Regarding - " + contactRegarding.Name; } else { Page.Title = "Contact Regarding"; } return; }
protected Boolean ApplyChanges() { Boolean isModified = false; Boolean success = false; Boolean isValid = false; System.Collections.Generic.Dictionary <String, String> validationResponse; Mercury.Client.Core.Reference.ContactRegarding contactRegardingUnmodified = (Mercury.Client.Core.Reference.ContactRegarding)Session[SessionCachePrefix + "ContactRegardingUnmodified"]; if (contactRegardingUnmodified.Id == 0) { isModified = true; } contactRegarding.Name = ContactRegardingName.Text.Trim(); contactRegarding.Description = ContactRegardingDescription.Text.Trim(); contactRegarding.Enabled = ContactRegardingEnabled.Checked; contactRegarding.Visible = ContactRegardingVisible.Checked; if (!isModified) { isModified = !contactRegarding.IsEqual(contactRegardingUnmodified); } validationResponse = contactRegarding.Validate(); isValid = (validationResponse.Count == 0); if ((isModified) && (isValid)) { success = MercuryApplication.ContactRegardingSave(contactRegarding); if (success) { contactRegarding = MercuryApplication.ContactRegardingGet(contactRegarding.Id, false); Session[SessionCachePrefix + "ContactRegarding"] = contactRegarding; Session[SessionCachePrefix + "ContactRegardingUnmodified"] = contactRegarding.Copy(); SaveResponseLabel.Text = "Save Successful"; InitializeAll(); } else { SaveResponseLabel.Text = "Unable to Save."; if (MercuryApplication.LastException != null) { SaveResponseLabel.Text = SaveResponseLabel.Text + " [" + MercuryApplication.LastException.Message + "]"; } success = false; } } else if (!isModified) { SaveResponseLabel.Text = "No Changes Detected."; success = true; } else if (!isValid) { foreach (String validationKey in validationResponse.Keys) { SaveResponseLabel.Text = "Invalid [" + validationKey + "]: " + validationResponse[validationKey]; break; } success = false; } return(success); }