public HttpResponseMessage PostAddImageToAlbum(PictureModel picture, int albumId, string sessionKey) { try { var userService = new UserService(); var user = userService.GetUserBySessionKey(sessionKey); Validator.ValidateUser(user, "Cannot add image to album"); var albumService = new AlbumService(); var album = albumService.GetAlbumById(albumId); Validator.ValidateAlbum(album, ALBUM_NOT_FOUND); if (album.User.Id != user.Id) { throw new Exception(USER_ACCESS_DENIED); } var newPicture = albumService.AddPictureToAlbum(picture, album); var pictureToReturn = new PictureModel() { CreateDate = newPicture.CreateDate, Description = newPicture.Description, Id = newPicture.Id, Url = newPicture.Url, Title = newPicture.Title }; return(this.Request.CreateResponse(HttpStatusCode.OK, pictureToReturn)); } catch (Exception ex) { return(this.Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message)); } }