예제 #1
0
        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;
        }