public bool SaveChanges(DB_CommonTransactionType commonTransactionType)
        {
            if (MVCEditorController == null)
            {
                return(false);
            }

            if (ValidateBeforeSave(ref _message) && !CheckIfActiveDBItemExists() && BeforeSave() &&
                MVCEditorController.SaveChanges(commonTransactionType))
            {
                if (MVCEditorController.ActiveCollector.ActiveDBItem is TEntity)
                {
                    ActiveDBEntity = (TEntity)MVCEditorController.ActiveCollector.ActiveDBItem;
                }
                if (AfterSave())
                {
                    if (_baseSearchContainer != null)
                    {
                        _baseSearchContainer.LoadGrid();
                    }
                }
                return(Close());
            }

            MessageToView = MVCEditorController.MessageToView;

            return(false);
        }
 public bool AfterClosing()
 {
     if (MVCEditorController != null)
     {
         return(MVCEditorController.AfterClosing());
     }
     return(false);
 }
 public bool BeforeClosing()
 {
     if (MVCEditorController != null)
     {
         return(MVCEditorController.BeforeClosing());
     }
     return(false);
 }
 public bool ValidateBeforeSave(ref string message)
 {
     if (MVCEditorController != null)
     {
         return(MVCEditorController.ValidateBeforeSave(ref message));
     }
     return(false);
 }
 public bool CheckIfActiveDBItemExists()
 {
     if (MVCEditorController != null)
     {
         return(MVCEditorController.CheckIfActiveDBItemExists());
     }
     return(false);
 }
        public IEnumerable <TEntity> GetItemsList()
        {
            if (MVCEditorController != null)
            {
                return(MVCEditorController.GetItemsList());
            }

            return(null);
        }
        public void Edit(IDBCommon entity)
        {
            Control editorViewerToShow = (Control)EditorViewer;
            Control searchViewerToShow = (Control)SearchViewer;

            ShowControl(ref editorViewerToShow, ref searchViewerToShow, ParentControl, EditorContainerType.Settings, ViewerName,
                        DB_CommonTransactionType.UpdateExisting, "غرف الإقامة", AbstractViewerType.EditorViewer, true);

            MVCEditorController.BeforeEdit(entity);
            MVCEditorController.Edit(entity);
            MVCEditorController.AfterEdit(entity);
        }
        private static MVCController <TEntity> GenerateEditorMVCController <TViewer>(TViewer viewerToShow, IDBCommon dbObjectToLoad,
                                                                                     EditorContainerType editorContainerType, ViewerName viewerName,
                                                                                     AbstractViewerType viewerType) where TViewer : IViewer
        {
            MVCEditorController =
                (MVCController <TEntity>)MVCControllerFactory.GetControllerFactory <TEntity>(viewerName, viewerToShow);

            switch (editorContainerType)
            {
            case EditorContainerType.Settings:
                if (MVCEditorController != null && BaseControllerObject != null && viewerType != AbstractViewerType.SearchViewer &&
                    (_baseEditorContainer != null || _baseSearchContainer != null))
                {
                    MVCEditorController.BeforeCreatingNew();
                    MVCEditorController.CreateNew();
                    MVCEditorController.AfterCreateNew();
                }

                break;

            case EditorContainerType.Regular:
                if (MVCEditorController != null)
                {
                    if (dbObjectToLoad != null)
                    {
                        MVCEditorController.BeforeEdit(dbObjectToLoad);
                        MVCEditorController.Edit(dbObjectToLoad);
                        MVCEditorController.AfterEdit(dbObjectToLoad);
                    }
                    else
                    {
                        MVCEditorController.BeforeCreatingNew();
                        MVCEditorController.CreateNew();
                        if (MVCEditorController.ActiveCollector.ActiveDBItem is TEntity)
                        {
                            ActiveDBEntity = (TEntity)MVCEditorController.ActiveCollector.ActiveDBItem;
                        }
                        MVCEditorController.AfterCreateNew();
                    }
                }

                break;
            }

            return(MVCEditorController);
        }
 public bool Close()
 {
     return(BeforeClosing() && MVCEditorController.Close() && AfterClosing());
 }
 public bool Delete(IDBCommon entity)
 {
     return(MVCEditorController.BeforeDelete(entity) && MVCEditorController.Delete(entity) &&
            MVCEditorController.AfterDelete(entity));
 }