Beispiel #1
0
        public void TestClearErrorProviders()
        {
            //---------------Set up test pack-------------------
            IClassDef    classDef       = Sample.CreateClassDefWithTwoPropsOneCompulsory();
            PanelBuilder panelBuilder   = new PanelBuilder(GetControlFactory());
            IPanelInfo   panelInfo      = panelBuilder.BuildPanelForTab((UIFormTab)classDef.UIDefCol["default"].UIForm[0]);
            Sample       businessObject = new Sample();

            panelInfo.BusinessObject = businessObject;

            //businessObject.SetPropertyValue("SampleText2", "sdlkfj");
            PanelInfo.FieldInfo fieldInfo = panelInfo.FieldInfos["SampleText2"];
            panelInfo.ApplyChangesToBusinessObject();
            IErrorProvider errorProvider = fieldInfo.ControlMapper.ErrorProvider;

            //---------------Assert Precondition----------------
            Assert.IsTrue(errorProvider.GetError(fieldInfo.InputControl).Length > 0);
            //---------------Execute Test ----------------------
            panelInfo.ClearErrorProviders();
            //---------------Test Result -----------------------
            Assert.IsFalse(errorProvider.GetError(fieldInfo.InputControl).Length > 0);
        }
 /// <summary>
 /// A handler to respond when the "OK" button has been pressed.
 /// All changes are committed to the database and the dialog is closed.
 /// </summary>
 /// <param name="sender">The object that notified of the event</param>
 /// <param name="e">Attached arguments regarding the event</param>
 private void OKButtonHandler(object sender, EventArgs e)
 {
     try
     {
         _panelInfo.ApplyChangesToBusinessObject();
         ITransactionCommitter committer = CreateSaveTransaction();
         committer.CommitTransaction();
         DialogResult = DialogResult.OK;
         if (_postObjectEditAction != null)
         {
             _postObjectEditAction(this._bo, false);
         }
         _panelInfo.BusinessObject = null;
         SafeCloseForm();
     }
     catch (Exception ex)
     {
         log.Error(ExceptionUtilities.GetExceptionString(ex, 0, true));
         GlobalRegistry.UIExceptionNotifier.Notify(ex,
                                                   "There was a problem saving for the following reason(s):",
                                                   "Saving Problem");
     }
 }
Beispiel #3
0
        public void TestApplyChangesToBusinessObject()
        {
            //---------------Set up test pack-------------------

            MyBO.LoadDefaultClassDef();
            MyBO myBO = new MyBO();

            myBO.TestProp = START_VALUE_1;
            myBO.SetPropertyValue(TEST_PROP_2, START_VALUE_2);

            PanelBuilder factory   = new PanelBuilder(GetControlFactory());
            IPanelInfo   panelInfo = factory.BuildPanelForForm(myBO.ClassDef.UIDefCol["default"].UIForm);

            panelInfo.BusinessObject = myBO;
            ChangeValuesInControls(panelInfo);

            //---------------Execute Test ----------------------

            panelInfo.ApplyChangesToBusinessObject();
            //---------------Test Result -----------------------

            Assert.AreEqual(CHANGED_VALUE_1, myBO.GetPropertyValue(TEST_PROP_1));
            Assert.AreEqual(CHANGED_VALUE_2, myBO.GetPropertyValue(TEST_PROP_2));
        }
//        /// <summary>
//        /// Displays any errors or invalid fields associated with the BusinessObjectInfo
//        /// being edited.  A typical use would involve activating the ErrorProviders
//        /// on a BO panel.
//        /// </summary>
//        public void DisplayErrors()
//        {
//            _panelInfo.ApplyChangesToBusinessObject();
//        }
//
//        /// <summary>
//        /// Hides all the error providers.  Typically used where a new object has just
//        /// been added and the interface is being cleaned up.
//        /// </summary>
//        public void ClearErrors()
//        {
//            _panelInfo.ClearErrorProviders();
//        }

        #region Implementation of IBOEditorControl

        /// <summary>
        /// Applies any changes that have occured in any of the Controls on this control's to their related
        /// Properties on the Business Object.
        /// </summary>
        public void ApplyChangesToBusinessObject()
        {
            _panelInfo.ApplyChangesToBusinessObject();
        }