Beispiel #1
0
        public ViewResult Explorer(int id)
        {
            DocumentListViewModel model = new DocumentListViewModel();

            model.FolderTree = GetCurrentFolderTree(id);
            model.Instances  = Service.GetList(id);
            return(View(model));
        }
Beispiel #2
0
        public ActionResult Index()
        {
            var viewModel = new DocumentListViewModel
            {
                Applications = _db.Applications.OrderBy(x => x.Name).ToList(),
                Documents    = _db.Documents.ToList(),
            };

            return(View(viewModel));
        }
Beispiel #3
0
        // GET: Documents for activity
        public async Task <IActionResult> GetForActivity(int id)
        {
            var applicationDbContext = _context.Documents
                                       .Where(d => d.ActivityId == id);
            var model = new DocumentListViewModel();

            model.TypeHeader = "Activity Documents";
            model.Documents  = await applicationDbContext.ToListAsync();

            model.EmptyMessage = (model.Documents.Count == 0) ? noDocumentsMessage : "";

            return(PartialView("DocumentPartialList", model));
        }
Beispiel #4
0
        /// <summary>
        /// Returns the "My Documents" view that lists documents the User has created in SmartDocs.
        /// </summary>
        /// <param name="sortOrder">A sorting parameter</param>
        /// <param name="searchString">A text string to search for in the file name of the User's Documents</param>
        /// <param name="selectedDocumentType">A string that corresponds to a <see cref="SmartDocument.SmartDocumentType"/> enum that will filter the result list by that type.</param>
        /// <param name="page">A paging value.</param>
        /// <returns></returns>
        public IActionResult Index(string sortOrder, string searchString, string selectedDocumentType, int page = 1)
        {
            int UserId = Convert.ToInt32(((ClaimsIdentity)User.Identity).FindFirst("UserId").Value);
            // create a new view model
            DocumentListViewModel vm = new DocumentListViewModel();

            vm.CurrentSort          = sortOrder;
            vm.CurrentFilter        = searchString;
            vm.SelectedDocumentType = selectedDocumentType;
            vm.CreatedDateSort      = String.IsNullOrEmpty(sortOrder) ? "createdDate_desc" : "";
            vm.DocumentTypeSort     = sortOrder == "DocumentTypeName" ? "documentTypeName_desc" : "DocumentTypeName";
            vm.FileNameSort         = sortOrder == "FileName" ? "fileName_desc" : "FileName";
            string lowerSearchString = "";

            if (!String.IsNullOrEmpty(searchString))
            {
                char[] arr = searchString.ToCharArray();
                arr = Array.FindAll <char>(arr, (c => (char.IsLetterOrDigit(c) ||
                                                       char.IsWhiteSpace(c) ||
                                                       c == '-')));
                lowerSearchString = new string(arr);
                lowerSearchString = lowerSearchString.ToLower();
            }

            // assign the Documents property of the viewmodel to the a list of DocumentListViewModelItems
            // that is created by passing each of the repository's PPAs to the DocumentListViewModelItem
            // constructor that takes a SmartPPA parameter
            vm.Documents = _repository.Documents.Where(x => (x.AuthorUserId == UserId) &&
                                                       (String.IsNullOrEmpty(selectedDocumentType) || x.Type.ToString() == selectedDocumentType) &&
                                                       (String.IsNullOrEmpty(searchString) || x.FileName.ToLower().Contains(lowerSearchString)
                                                       ))
                           .Skip((page - 1) * PageSize)
                           .Take(PageSize)
                           .ToList().ConvertAll(x => new DocumentListViewModelItem(x));
            int totalItems = _repository.Documents.Where(x => (x.AuthorUserId == UserId) &&
                                                         (String.IsNullOrEmpty(selectedDocumentType) || x.Type.ToString() == selectedDocumentType) &&
                                                         (String.IsNullOrEmpty(searchString) || x.FileName.ToLower().Contains(lowerSearchString)
                                                         ))
                             .Count();

            vm.PagingInfo = new PagingInfo
            {
                CurrentPage  = page,
                ItemsPerPage = PageSize,
                TotalItems   = totalItems
            };
            switch (sortOrder)
            {
            case "DocumentTypeName":
                vm.Documents = vm.Documents.OrderBy(x => x.DocumentTypeDisplayName).ToList();
                break;

            case "documentTypeName_desc":
                vm.Documents = vm.Documents.OrderByDescending(x => x.DocumentTypeDisplayName).ToList();
                break;

            case "FileName":
                vm.Documents = vm.Documents.OrderBy(x => x.DocumentName).ToList();
                break;

            case "fileName_desc":
                vm.Documents = vm.Documents.OrderByDescending(x => x.DocumentName).ToList();
                break;

            case "createdDate_desc":
                vm.Documents = vm.Documents.OrderByDescending(x => x.CreatedDate).ToList();
                break;

            default:
                vm.Documents = vm.Documents.OrderBy(x => x.CreatedDate).ToList();
                break;
            }
            ViewData["Title"] = "My Documents";
            ViewData["ActiveNavBarMenuLink"] = "My Documents";
            return(View(vm));
        }