private void AddDataListReportArea(int entityID, string title, DP_SearchRepository searchRepository, bool initialSearchShouldBeIncluded, RelationshipDTO causingRelationship = null, EntityRelationshipTailDTO causingRelationshipTail = null) { var dataListReportArea = new DataListReportArea(); dataListReportArea.InitialSearchShouldBeIncluded = initialSearchShouldBeIncluded; dataListReportArea.RelatedDataReportArearequested += FirstDataListReportArea_RelatedDataListReportArearequested; dataListReportArea.DataItemsSearchedByUser += DataListReportArea_DataItemsSearchedByUser; var firstInit = new DataListReportAreaInitializer(); firstInit.SearchRepository = searchRepository; firstInit.EntitiyID = entityID; firstInit.Title = title; firstInit.CausingRelationship = causingRelationship; firstInit.CausingRelationshipTail = causingRelationshipTail; dataListReportArea.SetAreaInitializer(firstInit); View.AddDataListReportArea(dataListReportArea.View); if (CurrentDataListReportArea == null) { CurrentDataListReportArea = dataListReportArea; DataListReportAreas.Add(dataListReportArea); } else { var currentIndex = DataListReportAreas.IndexOf(CurrentDataListReportArea); DataListReportAreas.Insert(currentIndex + 1, dataListReportArea); CurrentDataListReportArea = dataListReportArea; } SetLinks(); }
private void SetLinks() { var lastindex = DataListReportAreas.IndexOf(CurrentDataListReportArea); if (lastindex != -1) { List <I_DataListReportArea> listRemove = new List <I_DataListReportArea>(); var index = 0; foreach (var item in DataListReportAreas) { if (index > lastindex) { listRemove.Add(item); } index++; } foreach (var item in listRemove) { DataListReportAreas.Remove(item); } } List <DataReportLink> links = new List <DataReportLink>(); foreach (var item in DataListReportAreas) { DataReportLink link = new DataReportLink(); link.Title = item.AreaInitializer.Title.ToString(); //link.Tooltip item.AreaInitializer link.DataReportLinkClicked += (sender, e) => Link_DataListReportLinkClicked(sender, e, item); links.Add(link); } View.ShowLinks(links); }