public async Task Put( int id, AlbumDefinition modifyRequest) { MediaAlbum album = await DbContext.MediaAlbums.SingleOrDefaultAsync( a => a.MediaAlbumId == id); if (album == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } if (album.UserId != UserId) { throw new HttpResponseException(HttpStatusCode.Forbidden); } UserInfo user = await GetUserInfoAsync(); HttpStatusCode result = await AlbumOperations.ChangeAlbumAsync( DbContext, user, id, modifyRequest); if (result != HttpStatusCode.OK) { throw new HttpResponseException(result); } }
public async Task PostImage(int albumId, AddImageToAlbum createRequest) { MediaAlbum albumEntity = await DbContext.MediaAlbums .SingleOrDefaultAsync(a => a.MediaAlbumId == albumId); if (albumEntity == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } if (albumEntity.UserId != UserId) { throw new HttpResponseException(HttpStatusCode.Forbidden); } UserMedia mediaEntity = await DbContext.UserMedias .SingleOrDefaultAsync(um => um.UserMediaId == createRequest.MediaId); if (mediaEntity == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } if (mediaEntity.UserId != UserId) { throw new HttpResponseException(HttpStatusCode.Forbidden); } await AlbumOperations.AddMediaToAlbumAsync(DbContext, albumEntity, mediaEntity, createRequest); }
public async Task <IList <AlbumSummary> > Get(string userId) { UserInfo user = await GetUserInfoAsync(userId); return(await AlbumOperations.GetAlbumSummariesAsync( DbContext, user)); }
public async Task PostComment(int albumId, CommentRequest commentRequest) { HttpStatusCode result = await AlbumOperations.AddAlbumCommentAsync( DbContext, UserId, albumId, commentRequest); result.ThrowHttpResponseExceptionIfNotSuccessful(); }
public async Task PostLikeAlbum(int albumId, LikeRequest likeRequest) { HttpStatusCode result = await AlbumOperations.AddOrRemoveAlbumLikeAsync( DbContext, UserId, albumId, likeRequest); result.ThrowHttpResponseExceptionIfNotSuccessful(); }
public async Task <AlbumDetail> Get(int albumId) { var result = await AlbumOperations.GetAlbumAsync(DbContext, albumId); if (result == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(result); }
public async Task <AlbumSummary> Post( AlbumDefinition createRequest) { UserInfo user = await GetUserInfoAsync(); AlbumSummary result = await AlbumOperations.CreateAlbumAsync( DbContext, user, createRequest); if (result == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } return(result); }
public async Task <ActionResult> Index(string userId = null) { UserInfo albumUser = await GetUserInfoAsync(userId); if (albumUser == null) { return(HttpNotFound()); } var vm = new AlbumsViewModel { UserId = UserId, AlbumOwnerId = userId, FullName = albumUser.Name, PosessiveInformalName = UserOperations.GetInformalPosessiveName(albumUser), AvatarUrl = UserOperations.GetAvatarUrl(albumUser), Albums = await AlbumOperations.GetAlbumSummariesAsync(DbContext, albumUser) }; return(View("Index", vm)); }
public async Task <ActionResult> Index(int albumId) { AlbumDetail albumDetail = await AlbumOperations.GetAlbumAsync(DbContext, albumId); if (albumDetail == null) { return(HttpNotFound()); } UserInfo albumUser = await GetUserInfoAsync(albumDetail.UserId); AlbumViewModel vm = await SetVmEditorInfo(new AlbumViewModel { AlbumId = albumId, FullName = albumUser.Name, PosessiveInformalName = UserOperations.GetInformalPosessiveName(albumUser), AvatarUrl = UserOperations.GetAvatarUrl(albumUser), Detail = albumDetail }); return(View(albumDetail.UserId == UserId ? "OwnedAlbum" : "Album", vm)); }