Represents a legal matter. Provides the structure required to hold pinned matter meta-data. It includes name, description, created date, URL, practice group, area of law, sub area of law, client ID, and client name.
Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        /// <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;
            }
        }