Example #1
0
        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);
        }