예제 #1
0
        public bool FindRecord(IRadarParameters key)
        {
            DrawingControl.SuspendDrawing(this);
            var Found = dbManager.FindRecord(key);

            OnPrepareAuxData();
            AddonPrepareAuxData();
            ManageToolbarEvents();
            DrawingControl.ResumeDrawing(this);

            return(Found);
        }
예제 #2
0
        private void OnUndoEvent()
        {
            DrawingControl.SuspendDrawing(this);
            OnValidateControl();

            //dbManager.ValidateControl();
            if (!OnUndoButton())
            {
                DrawingControl.ResumeDrawing(this);
                return;
            }
            IsNew = false;
            ManageToolbarEvents();
            DrawingControl.ResumeDrawing(this);
        }
예제 #3
0
        private bool OnEditEvent()
        {
            DrawingControl.SuspendDrawing(this);
            IsNew = false;
            if (DocumentMode == DBMode.Find)
            {
                dbManager.LastKey = GetKeyFromDocument();
            }

            OnEditButton();
            OnAfterEdit();

            ManageToolbarEvents();
            DrawingControl.ResumeDrawing(this);
            return(true);
        }
예제 #4
0
        private void OnSaveEvent()
        {
            if (!this.Validate())
            {
                return;
            }

            OnValidateControl();
            AddonValidateControl();

            if (!OnBeforeSave() || !AddonOnBeforeSave())
            {
                return;
            }
            OnValidateControl();
            AddonValidateControl();


            dbManager.StartTransaction();

            dbManager.ValidateControl();
            if (!AddonOnSaveButton() || !OnDuringSave() || !OnSaveButton())
            {
                dbManager.Rollback();
                return;
            }

            DrawingControl.SuspendDrawing(this);
            dbManager.Commit();
            dbManager.UnlockRecordAndFind();

            OnAfterSave();
            AddOnOnAfterSave();
            dbManager.Refresh();

            OnPrepareAuxData();
            AddonPrepareAuxData();

            ManageToolbarEvents();
            IsNew = false;
            DrawingControl.ResumeDrawing(this);
        }