예제 #1
0
        public DR_ResultSearchKeysOnly SendSearchKeysOnlyRequest(DR_SearchKeysOnlyRequest request)
        {
            SearchRequestManager editProcessor = new SearchRequestManager();

            return(editProcessor.Process(request as DR_SearchKeysOnlyRequest));
        }
        //private void RequestFileMenu_MenuItemClicked(object sender, EventArgs e)
        //{
        //    var menuItem = (sender as MyMenuItem);
        //    if (menuItem != null)
        //    {
        //        WorkflowFileArea area = new WorkflowArea.WorkflowFileArea(menuItem.ItemID);
        //        AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetDialogWindow().ShowDialog(area.View, "فایلها", Enum_WindowSize.Big);
        //    }

        //}
        //internal void ShowWorkflowNote(int requestID)
        //{

        //}
        //internal void ShowWorkflowFile(int requestID)
        //{

        //}
        private void MnuEntity_MenuItemClicked(object sender, EventArgs e, EntityGroupRelationshipDTO entityGroupRelationship, WorkflowRequestDTO wfRequest)
        {
            var menuItem = (sender as MyMenuItem);

            if (menuItem != null)
            {
                if (wfRequest.DataItem != null)
                {
                    //   var title = entityGroupRelationship.Name;

                    List <DP_DataView> initializeData = null;
                    if (entityGroupRelationship.RelationshipTail == null)
                    {
                        initializeData = new List <DP_DataView>();
                        initializeData.Add(wfRequest.DataItem);
                        AgentUICoreMediator.GetAgentUICoreMediator.ShowEditEntityArea(wfRequest.DataItem.TargetEntityID, true, CommonDefinitions.UISettings.DataMode.One, initializeData);

                        //سکوریتی داده اعمال میشود
                        //DP_SearchRepository searchRepository = new DP_SearchRepository(dataItem.TargetEntityID);
                        //foreach (var col in dataItem.KeyProperties)
                        //{
                        //    searchRepository.Phrases.Add(new SearchProperty() { ColumnID = col.ColumnID, Value = col.Value });
                        //}
                        //var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();
                        //var request = new DR_SearchFullDataRequest(requester, searchRepository);
                        //initializeData = AgentUICoreMediator.GetAgentUICoreMediator.SendSearchFullDataRequest(request).ResultDataItems;
                    }
                    else
                    {
                        //سکوریتی داده اعمال میشود

                        var requester  = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();
                        var searchItem = AgentUICoreMediator.GetAgentUICoreMediator.RelationshipTailDataManager.GetTargetSearchItemFromRelationshipTail(wfRequest.DataItem, entityGroupRelationship.RelationshipTail);
                        DR_SearchKeysOnlyRequest request = new DR_SearchKeysOnlyRequest(requester, searchItem);
                        var searchResult = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchKeysOnlyRequest(request);
                        if (searchResult.Result == Enum_DR_ResultType.SeccessfullyDone)
                        {
                            initializeData = searchResult.ResultDataItems;
                        }
                        else if (searchResult.Result == Enum_DR_ResultType.ExceptionThrown)
                        {
                            AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowMessage(searchResult.Message);
                            return;
                        }
                        //اینجا یه ایرادی هست
                        //وقتی فرم با داده های مرتبط باز میشه باید یجوری ارتباط با داده اصلی نمایش داده بشه و غیرقابل تغییر باشه
                        DataMode dataMode;
                        if (entityGroupRelationship.RelationshipTail.IsOneToManyTail)
                        {
                            dataMode = DataMode.Multiple;
                        }
                        else
                        {
                            dataMode = DataMode.One;
                        }
                        AgentUICoreMediator.GetAgentUICoreMediator.ShowEditEntityArea(entityGroupRelationship.RelationshipTail.TargetEntityID, true, dataMode, initializeData, new Tuple <DP_DataView, ModelEntites.EntityRelationshipTailDTO>(wfRequest.DataItem, entityGroupRelationship.RelationshipTail.ReverseRelationshipTail));

                        //DR_SearchFullDataRequest request = new DR_SearchFullDataRequest(requester, searchItem);
                        //initializeData = AgentUICoreMediator.GetAgentUICoreMediator.(request).ResultDataItems;
                    }
                }
            }
        }