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());
        }