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