public IEnumerable <DocumentViewModel> GetSharedDocumentsForUser(string userId) { UserView user = _userService.GetUserById(userId); var sharedIds = _userDocumentService.GetAll() .Where(n => n.GuestEmail == user.Email) .Select(n => n.DocumentId) .ToList(); var docs = GetAll() .Where(n => sharedIds.Contains(n.Id)) .ToList(); for (int i = 0; i < docs.Count(); i++) { docs[i].ParentId = 0; } var docsChildren = new List <DocumentView>(); foreach (var p in docs) { if (!p.IsFile) { docsChildren.AddRange(GetAllChildrensForFolder(p.Id)); } } docs.AddRange(docsChildren); return(ConvertToViewModel(docs)); }
public ICollection <DocumentViewModel> GetSharedDocumentsForUser(ClaimsPrincipal claim) { var userId = _userService.GetUserId(claim); var sharedIds = _userDocumentService.GetAll() .Where(n => n.GuestEmail == _userService.GetUserById(userId).Email) .Select(n => n.DocumentId) .ToList(); var docs = _documentService .GetAll(userId) .Where(n => sharedIds.Contains(n.Id)) .ToList(); for (int i = 0; i < docs.Count(); i++) { docs[i].ParentId = 0; } var docsChildren = new List <DocumentView>(); foreach (var p in docs) { if (!p.IsFile) { docsChildren.AddRange(_documentService.GetAllChildrensForFolder(p.Id)); } } docs.AddRange(docsChildren); return(_documentService.ConvertToViewModel(docs).ToList()); }