Esempio n. 1
0
        private void View_MenuClicked(object sender, CartableMenuClickArg e)
        {
            var currentMenuItems   = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetCurrentMenuItems(e.ContextMenu);
            var requestDiagramMenu = currentMenuItems.FirstOrDefault(x => x.Name == "requestDiagram");

            if (requestDiagramMenu == null)
            {
                requestDiagramMenu = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(e.ContextMenu, "دیاگرام", "requestDiagram");
                requestDiagramMenu.MenuItemClicked += (sender1, e1) => RequestDiagramMenu_MenuItemClicked(sender1, e1);
            }
            requestDiagramMenu.ItemID = e.Request.ID;
        }
        private void Cartable_MenuActionClicked(object sender, CartableMenuClickArg e)
        {
            //فرم ادمین یه جریان کار اضافه شود
            var currentMenuItems = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetCurrentMenuItems(e.ContextMenu);
            var requestNoteMenu  = currentMenuItems.FirstOrDefault(x => x.Name == "requestNote");

            if (requestNoteMenu == null)
            {
                requestNoteMenu = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(e.ContextMenu, "یادداشتها", "requestNote");
                requestNoteMenu.MenuItemClicked += (sender1, e1) => RequestNoteMenu_MenuItemClicked(sender1, e1);
            }
            requestNoteMenu.ItemID = e.Request.ID;

            //var requestFileMenu = currentMenuItems.FirstOrDefault(x => x.Name == "requestFile");
            //if (requestFileMenu == null)
            //{
            //    requestFileMenu = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(e.ContextMenu, "فایلها", "requestFile");
            //    requestFileMenu.MenuItemClicked += (sender1, e1) => RequestFileMenu_MenuItemClicked(sender1, e1);
            //}
            //requestFileMenu.ItemID = e.Request.ID;

            //requestFileMenu.DataContext = e.RequestID;

            var requestDiagramMenu = currentMenuItems.FirstOrDefault(x => x.Name == "requestDiagram");

            if (requestDiagramMenu == null)
            {
                requestDiagramMenu = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(e.ContextMenu, "دیاگرام", "requestDiagram");
                requestDiagramMenu.MenuItemClicked += (sender1, e1) => RequestDiagramMenu_MenuItemClicked(sender1, e1);
            }
            requestDiagramMenu.ItemID = e.Request.ID;

            foreach (var item in currentMenuItems)
            {
                if (item.IsDeletable)
                {
                    AgentUICoreMediator.GetAgentUICoreMediator.UIManager.RemoveMenuItem(e.ContextMenu, item.MenuItem);
                }
            }

            //   var request = workflowService.GetRequest(e.RequestID);

            //رایت کلیک بروی کارها و نمایش اقدامات ممکن
            //  var possibleActions = workflowService.GetRequestPossibleActions(AgentUICoreMediator.GetAgentUICoreMediator.GetRequester(), e.RequestID);

            //////foreach (var possibleAction in possibleActions)
            //////{
            //////    var mnuAction = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(e.ContextMenu, possibleAction.Name, "actionOK" + possibleAction.ID);
            //////    mnuAction.IsDeletable = true;
            //////    mnuAction.MenuItemClicked += (sender1, e1) => MnuAction_MenuItemClicked(sender1, e1, possibleAction, e.RequestID);
            //////}
            //////var possibleTransitionActions = workflowService.GetRequestPossibleTransitionActions(AgentUICoreMediator.GetAgentUICoreMediator.GetRequester(), e.RequestID);
            //////foreach (var transitionAction in possibleTransitionActions)
            //////{
            //////    foreach (var entityGroup in transitionAction.EntityGroups)
            //////    {
            //////        var mnuGroup = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(e.ContextMenu, entityGroup.Name, "entityGroup" + entityGroup.ID);
            //////        mnuGroup.IsDeletable = true;
            //////        foreach (var relationship in entityGroup.Relationships)
            //////        {
            //////            var mnuEntity = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(mnuGroup.MenuItem, relationship.Name, "relationship" + relationship.ID);
            //////            //mnuEntity.DataContext = new CartableEntityClick() { Title = mnuGroup.Name, EnitityID = relationship.EntityID, RequestID = e.RequestID, RelationshipID = relationship.RelationshipID };
            //////            mnuEntity.MenuItemClicked += (sender1, e1) => MnuEntity_MenuItemClicked(sender1, e, relationship.EntityID, mnuGroup.Name, relationship.RelationshipID, e.RequestID);
            //////        }
            //////    }
            //////}

            var tuples = AgentUICoreMediator.GetAgentUICoreMediator.workflowService.GetRequestActions(AgentUICoreMediator.GetAgentUICoreMediator.GetRequester(), e.Request.RequestActionIDs);


            foreach (var tuple in tuples)
            {
                var tooltip = "";
                foreach (var item in tuple.Item2)
                {
                    tooltip += (tooltip == "" ? "" : ",") + item.OrganizationPost.Name;
                }
                var requestActionMenu = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(e.ContextMenu, tuple.Item1.Name, "transitionAction" + tuple.Item1.ID, tooltip);
                requestActionMenu.IsDeletable = true;

                var mnuAction = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(requestActionMenu.MenuItem, "تایید اقدام", "transitionActionOk" + tuple.Item1.ID);
                mnuAction.IsDeletable      = true;
                mnuAction.MenuItemClicked += (sender1, e1) => MnuAction_MenuItemClicked(sender1, e1, tuple);
                AgentUICoreMediator.GetAgentUICoreMediator.UIManager.AddMenuSeprator(requestActionMenu.MenuItem);
                foreach (var entityGroup in tuple.Item1.EntityGroups)
                {
                    var mnuGroup = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(requestActionMenu.MenuItem, entityGroup.Name, "entityGroup" + entityGroup.ID);
                    mnuGroup.IsDeletable = true;
                    foreach (var entityGroupRelationship in entityGroup.Relationships)
                    {
                        var mnuEntity = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetMenuItem(mnuGroup.MenuItem, entityGroupRelationship.vwName, "relationship" + entityGroupRelationship.ID);
                        mnuEntity.IsDeletable      = true;
                        mnuEntity.MenuItemClicked += (sender1, e1) => MnuEntity_MenuItemClicked(sender1, e, entityGroupRelationship, e.Request);
                    }
                }
            }
        }