public async Task <List <UserFilesViewModel> > GetUserFilesList([System.Web.Http.FromUri] string userId)
        {
            if (string.IsNullOrEmpty(userId) && !HttpContext.Current.User.Identity.IsAuthenticated)
            {
                return(new List <UserFilesViewModel>());
            }
            var includeAccesibleFiles = true;

            if (string.IsNullOrEmpty(userId))
            {
                userId = User.Identity.GetUserId();
                includeAccesibleFiles = false;
            }

            var userFiles = await _userFilesServiceAsync.GetUserFilesByUserIdAsync(userId, includeAccesibleFiles);

            var userFilesModels = Mapper.Map <IEnumerable <UserFile>, List <UserFilesViewModel> >(userFiles);

            var appConfig = _configurationProvider.Get <Core.Configuration.ApplicationConfiguration>();

            var i = 0;

            foreach (var fileModel in userFilesModels)
            {
                var fileExtension = Path.GetExtension(fileModel.Name);
                fileModel.DownloadURL            = GetBaseUrl() + "Api/UserFiles/GetUserFile/" + fileModel.Id;
                fileModel.SelectedUsersAndGroups = new List <UsersAndGroupsSearchResultsModel>();

                foreach (var user in userFiles.ToList()[i].AcceptedUsers)
                {
                    fileModel.SelectedUsersAndGroups.Add(new UsersAndGroupsSearchResultsModel
                    {
                        Id      = user.Id,
                        IsGroup = false,
                        Name    = user.Name + " " + user.Surname
                    });
                }

                foreach (var group in userFiles.ToList()[i].AcceptedGroups)
                {
                    fileModel.SelectedUsersAndGroups.Add(new UsersAndGroupsSearchResultsModel
                    {
                        Id      = group.Id,
                        IsGroup = true,
                        Name    = group.Name
                    });
                }

                i++;
            }

            return(userFilesModels);
        }