public async Task PostLike(int id, string extension, LikeRequest likeRequest) { HttpStatusCode result = await UserMediaOperations.AddOrRemoveMediaLikeAsync( DbContext, UserId, id, likeRequest); result.ThrowHttpResponseExceptionIfNotSuccessful(); }
public async Task PostComment(int mediaId, string extension, CommentRequest commentRequest) { HttpStatusCode result = await UserMediaOperations.AddMediaCommentAsync( DbContext, UserId, mediaId, commentRequest); result.ThrowHttpResponseExceptionIfNotSuccessful(); }
public async Task <AlbumItem> Get(int id) { AlbumItem result = await UserMediaOperations.GetMediaAsync( DbContext, id); if (result == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(result); }
public async Task <ActionResult> Item(int mediaId) { AlbumItem item = await UserMediaOperations.GetMediaAsync(DbContext, mediaId); if (item == null) { return(HttpNotFound()); } UserInfo owningUser = await GetUserInfoAsync(item.UserId); DbContext.Entry(owningUser).Reference(u => u.Avatar); return(View(await SetVmEditorInfo(new MediaViewModel { FullName = owningUser.Name, AvatarUrl = UserOperations.GetAvatarUrl(owningUser), Detail = item }))); }
/// <summary> /// Accepts images in the usual form multi file upload format. /// </summary> /// <returns> /// Provides the ids of the user images created. /// </returns> public async Task <MediaUploadResults> PostAsync() { if (Request.Content.IsMimeMultipartContent()) { string folderPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); bool createdFolder = false; try { Directory.CreateDirectory(folderPath); createdFolder = true; UserInfo userEntity = await GetUserInfoAsync(); var r = new MultipartFormDataStreamProvider(folderPath); await Request.Content.ReadAsMultipartAsync(r); IEnumerable <UserMediaOperations.UploadedMedia> items = from file in r.FileData select new UserMediaOperations.UploadedMedia { OriginalName = file.Headers.ContentDisposition.FileName, LocalFileName = file.LocalFileName }; return(await UserMediaOperations.StoreMediaAsync( DbContext, userEntity, items)); } finally { if (createdFolder) { Directory.Delete(folderPath, true); } } } else { HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid Request!"); throw new HttpResponseException(response); } }