/// <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); }
public DR_ResultSearchCount SendSearchCountRequest(DR_SearchCountRequest request) { SearchRequestManager editProcessor = new SearchRequestManager(); return(editProcessor.Process(request as DR_SearchCountRequest)); }