private IList<MatterData> GetPinMattersFilteredResult(SearchRequestVM searchRequestVM, Dictionary<string, MatterData> searchResultsVM) { IList<MatterData> matterDataList2 = new List<MatterData>(); IList<MatterData> matterDataList = searchResultsVM.Values.ToList(); string uniqueColumnName = string.Empty; matterDataList = GetFilteredPinnedMatterList(searchRequestVM, searchResultsVM.Values.ToList()); if (searchRequestVM.SearchObject.UniqueColumnName != null) { uniqueColumnName = searchRequestVM.SearchObject.UniqueColumnName.ToLower().Trim(); } uniqueColumnName = GetuniqueMatterColumnName(uniqueColumnName); if (string.IsNullOrWhiteSpace(uniqueColumnName)) { return matterDataList; } else { var colList = configuration.GetSection("Search").GetSection("SearchColumnsUIPickerForMatter"); if (uniqueColumnName.Equals(colList.GetSection("matterName").Key)) { if (!string.IsNullOrWhiteSpace(searchRequestVM.SearchObject.FilterValue)) { matterDataList = (matterDataList.Where(d => d.MatterName.ToLower().Contains(searchRequestVM.SearchObject.FilterValue.ToLower()))).ToList(); var data1 = matterDataList.Select(o => o.MatterName).Distinct().ToList(); foreach (var dt in data1) { MatterData matterData = new MatterData(); matterData.MatterName = dt; matterDataList2.Add(matterData); } } } if (uniqueColumnName.Equals(colList.GetSection("matterClient").Key)) { if (!string.IsNullOrWhiteSpace(searchRequestVM.SearchObject.FilterValue)) { matterDataList = (matterDataList.Where(d => d.MatterClient.ToLower().Contains(searchRequestVM.SearchObject.FilterValue.ToLower()))).ToList(); var data1 = matterDataList.Select(o => o.MatterClient).Distinct().ToList(); foreach (var dt in data1) { MatterData matterData = new MatterData(); matterData.MatterClient = dt; matterDataList2.Add(matterData); } } } if (uniqueColumnName.Equals(colList.GetSection("matterPracticeGroup").Key)) { if (!string.IsNullOrWhiteSpace(searchRequestVM.SearchObject.FilterValue)) { matterDataList = (matterDataList.Where(d => d.MatterPracticeGroup.ToLower().Contains(searchRequestVM.SearchObject.FilterValue.ToLower()))).ToList(); var data1 = matterDataList.Select(o => o.MatterPracticeGroup).Distinct().ToList(); foreach (var dt in data1) { MatterData matterData = new MatterData(); matterData.MatterPracticeGroup = dt; matterDataList2.Add(matterData); } } } if (uniqueColumnName.Equals(colList.GetSection("matterResponsibleAttorney").Key)) { if (!string.IsNullOrWhiteSpace(searchRequestVM.SearchObject.FilterValue)) { matterDataList = (matterDataList.Where(d => d.MatterResponsibleAttorney.ToLower().Contains(searchRequestVM.SearchObject.FilterValue.ToLower()))).ToList(); var data1 = matterDataList.Select(o => o.MatterResponsibleAttorney).Distinct().ToList(); foreach (var dt in data1) { MatterData matterData = new MatterData(); matterData.MatterResponsibleAttorney = dt; matterDataList2.Add(matterData); } } } if (uniqueColumnName.Equals(colList.GetSection("matterAreaOfLaw").Key)) { if (!string.IsNullOrWhiteSpace(searchRequestVM.SearchObject.FilterValue)) { matterDataList = (matterDataList.Where(d => d.MatterAreaOfLaw.ToLower().Contains(searchRequestVM.SearchObject.FilterValue.ToLower()))).ToList(); var data1 = matterDataList.Select(o => o.MatterAreaOfLaw).Distinct().ToList(); foreach (var dt in data1) { MatterData matterData = new MatterData(); matterData.MatterAreaOfLaw = dt; matterDataList2.Add(matterData); } } } if (uniqueColumnName.Equals(colList.GetSection("matterSubAreaOfLaw").Key)) { if (!string.IsNullOrWhiteSpace(searchRequestVM.SearchObject.FilterValue)) { matterDataList = (matterDataList.Where(d => d.MatterSubAreaOfLaw.ToLower().Contains(searchRequestVM.SearchObject.FilterValue.ToLower()))).ToList(); var data1 = matterDataList.Select(o => o.MatterSubAreaOfLaw).Distinct().ToList(); foreach (var dt in data1) { MatterData matterData = new MatterData(); matterData.MatterSubAreaOfLaw = dt; matterDataList2.Add(matterData); } } } if (uniqueColumnName.Equals(colList.GetSection("matterID").Key)) { if (!string.IsNullOrWhiteSpace(searchRequestVM.SearchObject.FilterValue)) { matterDataList = (matterDataList.Where(d => d.MatterID.ToLower().Contains(searchRequestVM.SearchObject.FilterValue.ToLower()))).ToList(); var data1 = matterDataList.Select(o => o.MatterID).Distinct().ToList(); foreach (var dt in data1) { MatterData matterData = new MatterData(); matterData.MatterID = dt; matterDataList2.Add(matterData); } } } return matterDataList2; } }
/// <summary> /// Method which will give matter folder hierarchy /// </summary> /// <param name="matterData"></param> /// <returns></returns> public List<FolderData> GetFolderHierarchy(MatterData matterData) { try { using (ClientContext clientContext = spoAuthorization.GetClientContext(matterData.MatterUrl)) { List list = clientContext.Web.Lists.GetByTitle(matterData.MatterName); clientContext.Load(list.RootFolder); ListItemCollection listItems = GetData(clientContext, matterData.MatterName, string.Format(CultureInfo.InvariantCulture, camlQueries.AllFoldersQuery, matterData.MatterName)); List<FolderData> allFolders = new List<FolderData>(); allFolders = GetFolderAssignment(list, listItems, allFolders); return allFolders; } } catch (Exception ex) { customLogger.LogError(ex, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name, logTables.SPOLogTable); throw; } }