예제 #1
0
        public override void Run()
        {
            if (!(this.Owner is IObjectDetailController))
            {
                return;
            }
            IObjectDetailController detailPresenter = (IObjectDetailController)this.Owner;

            if (!detailPresenter.SaveAndClose())
            {
                return;
            }


            //notify listview focus added row
            ObjectAddedMessage msg = new ObjectAddedMessage();

            msg.ObjectID   = detailPresenter.ObjectId;
            msg.ObjectName = detailPresenter.ObjectName;
            EventAggregationManager.SendMessage <ObjectAddedMessage>(msg);

            //notify related Module to Refresh.
            NotifyRelatedMessage relatedMsg = new NotifyRelatedMessage();

            relatedMsg.ObjectName = detailPresenter.ObjectName;
            EventAggregationManager.SendMessage <NotifyRelatedMessage>(relatedMsg);
        }
        public bool IsValid(object caller, Condition condition)
        {
            if (!(caller is IObjectDetailController))
            {
                return(true);
            }
            IObjectDetailController detailController = (IObjectDetailController)caller;

            if (!string.IsNullOrEmpty(condition.Properties["priviledge"]))
            {
                bool result = AuthorizationManager.CheckAccess(detailController.ObjectName, condition.Properties["priviledge"]);
                if (!result)
                {
                    return(result);
                }
            }
            string itemType = condition.Properties["type"];
            bool   status   = detailController.WorkingMode == EntityDetailWorkingMode.View;

            if (itemType == "edit")
            {
                return(status);
            }
            else
            {
                return(!status);
            }
        }
예제 #3
0
        public override void Run()
        {
            if (!(this.Owner is IObjectDetailController))
            {
                return;
            }
            IObjectDetailController detailPresenter = (IObjectDetailController)this.Owner;

            detailPresenter.WorkingMode = EntityDetailWorkingMode.Edit;
            detailPresenter.SetEditorStatus();
            SendMessage(null);
        }
예제 #4
0
        public override void Run()
        {
            if (!(this.Owner is IObjectDetailController))
            {
                return;
            }
            IObjectDetailController detailController = (IObjectDetailController)this.Owner;

            if (!detailController.CopyAndNew())
            {
                return;
            }

            SendMessage("CopyAndNew");
        }
예제 #5
0
        public bool IsValid(object caller, Condition condition)
        {
            if (!(caller is IObjectDetailController))
            {
                return(true);
            }
            IObjectDetailController detailpresenter = (IObjectDetailController)caller;
            string itemType = condition.Properties["type"];
            bool   status   = detailpresenter.HasChanges;

            if (itemType == "copyandnew")
            {
                status = !status && detailpresenter.WorkingMode != EntityDetailWorkingMode.Add;
            }
            else if (itemType != "save")
            {
                status = detailpresenter.WorkingMode != EntityDetailWorkingMode.Add;
            }
            return(status);
        }
예제 #6
0
 public override void Run()
 {
     if (this.Owner is IController)
     {
         IController controller = this.Owner as IController;
         if (controller is IObjectDetailController)
         {
             IObjectDetailController detailController = this.Owner as IObjectDetailController;
             var message = new ActivateViewMessage(controller.WorkSpaceID, "TimeTrackingList");
             message.Parameters = new ActionParameters(detailController.ObjectName, detailController.ObjectId, ViewShowType.Show);
             EventAggregationManager.SendMessage(message);
         }
         else
         {
             Guard.ObjectIsInstanceOfType(Owner, typeof(IObjectAware), "Owner");
             var objectAware = (IObjectAware)this.Owner;
             EventAggregationManager.SendMessage(new ToggleVisibilityMessage(objectAware.ObjectName, "TimeTrackingList", controller.WorkSpaceID));
         }
     }
 }