/// <summary>
        /// /////////////////////////مشترک
        /// </summary>
        /// <param name="relationshipID"></param>
        /// <param name="editEntityArea"></param>
        /// <param name="parentRelationData"></param>
        /// <returns></returns>
        public ChildRelationshipInfo SerachDataFromParentRelationForChildDataView(RelationshipDTO relationship, I_EditEntityAreaOneData sourceEditEntityArea, I_EditEntityArea targetEditEntityArea, DP_DataRepository parentRelationData)
        {
            var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();

            ChildRelationshipInfo childRelationshipInfo = null;

            childRelationshipInfo = parentRelationData.ChildRelationshipInfos.FirstOrDefault(x => x.Relationship.ID == relationship.ID);
            if (childRelationshipInfo == null)
            {
                childRelationshipInfo = parentRelationData.AddChildRelationshipInfo(relationship);
            }
            else
            {
                throw new Exception("Asd");
            }

            //سکوریتی داده اعمال میشود

            var searchDataItem = relationshipManager.GetSecondSideSearchDataItemByRelationship(parentRelationData, relationship.ID);

            if (searchDataItem != null)
            {
                // DR_SearchEditRequest request = new DR_SearchEditRequest(requester, searchDataItem, targetEditEntityArea.AreaInitializer.SecurityReadOnly, true);
                DR_SearchEditRequest request = new DR_SearchEditRequest(requester, searchDataItem);
                var childFullData            = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchEditRequest(request).ResultDataItems;
                var countRequest             = new DR_SearchCountRequest(requester);
                countRequest.SearchDataItems        = searchDataItem;
                countRequest.Requester.SkipSecurity = true;
                var  count            = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchCountRequest(countRequest);
                bool secutrityImposed = false;
                if (count.ResultCount != childFullData.Count)
                {
                    secutrityImposed = true;
                }


                if (!secutrityImposed)
                {
                    foreach (var data in childFullData)
                    {
                        data.IsDBRelationship = true;
                        data.DataView         = GetDataView(data);
                        childRelationshipInfo.AddDataToChildRelationshipInfo(data, true);
                    }
                }
                else
                {
                    childRelationshipInfo.SecurityIssue = true;
                }
            }
            return(childRelationshipInfo);
            //foreach (var item in childFullData)
            //    searchedData.Add(new Tuple<DP_DataRepository, DP_DataView>(item, null));

            //return AddEditSearchData(searchedData, editEntityArea);
        }
        private void GetDataItemsBySearchRepository(DP_SearchRepository searchRepository)
        {
            if (searchRepository != null)
            {
                SearchRepository = searchRepository;
                if (InitialSearchShouldBeIncluded)
                {
                    if (InitialSearchRepository != null)
                    {
                        if (InitialSearchRepository != SearchRepository)
                        {
                            SearchRepository.Phrases.Add(InitialSearchRepository);
                        }
                    }
                }
                var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();
                //سکوریتی داده اعمال میشود
                var countRequest = new DR_SearchCountRequest(requester);
                countRequest.EntityID        = AreaInitializer.EntitiyID;
                countRequest.SearchDataItems = SearchRepository;
                var countResult = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchCountRequest(countRequest);
                View.SetItemsTotalCount(countResult.ResultCount);

                //سکوریتی داده اعمال میشود
                var searchRequest = new DR_SearchViewRequest(requester, SearchRepository);
                searchRequest.MaxDataItems = MaxDataItems;
                searchRequest.OrderByEntityViewColumnID = View.GetOrderColumnID;
                if (View.GetSortText == "Ascending")
                {
                    searchRequest.SortType = Enum_OrderBy.Ascending;
                }
                else if (View.GetSortText == "Descending")
                {
                    searchRequest.SortType = Enum_OrderBy.Descending;
                }

                //searchRequest.EntityID = AreaInitializer.EntitiyID;
                searchRequest.EntityViewID = View.GetEntityListViewID();
                var result = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchViewRequest(searchRequest);
                //List<I_DataReportItem> list = new List<I_DataReportItem>();
                //foreach (var item in result.ResultDataItems)
                //{
                //    list.Add(GetDataReportItem(item));
                //}
                string tooltip = "";
                if (result.ResultDataItems.Count == MaxDataItems && MaxDataItems != 0)
                {
                    tooltip = "توجه شود که تنها " + MaxDataItems + " " + "مورد اول نمایش داده می شوند";
                }
                View.SetDataItemsCount(result.ResultDataItems.Count, tooltip);
                //درست شود
                //////View.AddDataReportItems(AgentHelper.GetDataObjects(result.ResultDataItems));
            }
        }
        public void GetDataItemsBySearchRepository(DP_SearchRepository searchRepository)
        {
            SearchRepository = searchRepository;
            var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();
            //سکوریتی داده اعمال میشود
            var countRequest = new DR_SearchCountRequest(requester);

            countRequest.EntityID        = AreaInitializer.EntityID;
            countRequest.SearchDataItems = SearchRepository;
            var countResult = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchCountRequest(countRequest);

            if (countResult.Result != Enum_DR_ResultType.ExceptionThrown)
            {
                View.SetItemsTotalCount(countResult.ResultCount);
            }
            else
            {
                AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo(countResult.Message, "", Temp.InfoColor.Red);
                return;
            }
            //سکوریتی داده اعمال میشود
            var searchRequest = new DR_SearchViewRequest(requester, SearchRepository);

            searchRequest.MaxDataItems = MaxDataItems;
            searchRequest.OrderByEntityViewColumnID = View.GetOrderColumnID;
            if (View.GetSortText == "Ascending")
            {
                searchRequest.SortType = Enum_OrderBy.Ascending;
            }
            else if (View.GetSortText == "Descending")
            {
                searchRequest.SortType = Enum_OrderBy.Descending;
            }

            searchRequest.EntityViewID = SelectedListView == null ? 0 : SelectedListView.ID;
            var result = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchViewRequest(searchRequest);

            if (countResult.Result != Enum_DR_ResultType.ExceptionThrown)
            {
                string tooltip = "";
                if (result.ResultDataItems.Count == MaxDataItems && MaxDataItems != 0)
                {
                    tooltip = "توجه شود که تنها " + MaxDataItems + " " + "مورد اول نمایش داده می شوند";
                }
                View.SetDataItemsCount(result.ResultDataItems.Count, tooltip);

                if (this is I_DataViewArea)
                {
                    (this as I_DataViewArea).SetItems(result.ResultDataItems);
                }
                else if (this is I_GridViewArea)
                {
                    (this as I_GridViewArea).SetItems(result.ResultDataItems);
                }
            }
            else
            {
                AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo(countResult.Message, "", Temp.InfoColor.Red);
                return;
            }
        }
        public ChildRelationshipInfo SerachDataFromParentRelationForChildTempView(RelationshipDTO relationship, I_EditEntityArea sourceEditEntityArea, I_EditEntityArea targetEditEntityArea, DP_DataRepository parentRelationData)
        {
            //List<DP_DataRepository> re = null;
            //if (parentRelationData.ChildRelationshipInfos.Any(x => x.Relationship.ID == relationshipID))
            //{
            //    childViewData = new List<DP_DataView>();
            //    foreach (var child in parentRelationData.ChildRelationshipInfos.First(x => x.Relationship.ID == relationshipID).RelatedData)
            //        childViewData.Add(child.DataView);
            //}
            //else
            //{
            ChildRelationshipInfo childRelationshipInfo = null;

            childRelationshipInfo = parentRelationData.ChildRelationshipInfos.FirstOrDefault(x => x.Relationship.ID == relationship.ID);
            if (childRelationshipInfo == null)
            {
                childRelationshipInfo = parentRelationData.AddChildRelationshipInfo(relationship);
            }
            else
            {
                throw new Exception("Asd");
            }

            List <DP_DataRepository> result = new List <DP_DataRepository>();
            var searchDataItem = relationshipManager.GetSecondSideSearchDataItemByRelationship(parentRelationData, relationship.ID);


            if (searchDataItem != null)
            {
                var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();
                DR_SearchViewRequest request = new DR_SearchViewRequest(requester, searchDataItem);
                if (targetEditEntityArea.DefaultEntityListViewDTO != null)
                {
                    request.EntityViewID = targetEditEntityArea.DefaultEntityListViewDTO.ID;
                }
                var childViewData = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchViewRequest(request).ResultDataItems;

                var countRequest = new DR_SearchCountRequest(requester);
                countRequest.SearchDataItems        = searchDataItem;
                countRequest.Requester.SkipSecurity = true;
                var  count            = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchCountRequest(countRequest);
                bool secutrityImposed = false;
                if (count.ResultCount != childViewData.Count)
                {
                    secutrityImposed = true;
                }
                if (!secutrityImposed)
                {
                    foreach (var item in childViewData)
                    {
                        var dpItem = ConvertDP_DataViewToDP_DataRepository(item, targetEditEntityArea);
                        result.Add(dpItem);
                        dpItem.IsDBRelationship = true;
                        childRelationshipInfo.AddDataToChildRelationshipInfo(dpItem, true);
                    }
                }
                else
                {
                    childRelationshipInfo.SecurityIssue = true;
                }
            }
            //}
            return(childRelationshipInfo);
        }
示例#5
0
        public DR_ResultSearchCount SendSearchCountRequest(DR_SearchCountRequest request)
        {
            SearchRequestManager editProcessor = new SearchRequestManager();

            return(editProcessor.Process(request as DR_SearchCountRequest));
        }