public async Task <ActionResult <GroupAlbumRatingDownloadModel> > EditGroupAlbumRatingAsync( GroupAlbumRatingUploadModel groupAlbumRatingUploadModel) { try { if (await IsUserValidAsync()) { var groupAlbumRating = await GroupAlbumRatingModel.EditGroupAlbumRatingAsync( groupAlbumRatingUploadModel.GroupAlbumRatingId, groupAlbumRatingUploadModel, ExtractUserIdFromToken(), RepositoryManager); return(Ok(MapEntityToDownloadModel <GroupAlbumRating, GroupAlbumRatingDownloadModel>(groupAlbumRating))); } else { return(Unauthorized()); } } catch (UserForbiddenException) { return(Forbid()); } catch (InvalidTokenException err) { return(BadRequest(new InvalidTokenException(err.InvalidTokenType, err.ErrorMessage))); } catch (Exception err) { LogException(err); return(Problem()); } }
public static async Task <GroupAlbumRating> EditGroupAlbumRatingAsync( Guid groupAlbumRatingId, GroupAlbumRatingUploadModel groupAlbumRatingUploadModel, Guid userId, IRepositoryManager repositoryManager) { try { var groupAlbumRating = await repositoryManager.GroupAlbumRatingRepository.GetByIdAsync(groupAlbumRatingId); if (groupAlbumRating != null) { if (groupAlbumRating.CreatedBy == userId) { groupAlbumRating.OverallRating = groupAlbumRatingUploadModel.OverallRating; groupAlbumRating.LyricsRating = groupAlbumRatingUploadModel.LyricsRating; groupAlbumRating.VocalsRating = groupAlbumRatingUploadModel.VocalsRating; groupAlbumRating.InstrumentalsRating = groupAlbumRatingUploadModel.InstrumentalsRating; groupAlbumRating.StructureRating = groupAlbumRatingUploadModel.StructureRating; groupAlbumRating.Comment = groupAlbumRatingUploadModel.Comment; groupAlbumRating.LastUpdatedOn = DateTime.Now; groupAlbumRating.LastUpdatedBy = userId; await repositoryManager.GroupAlbumRatingRepository.UpdateAsync(groupAlbumRating); return(groupAlbumRating); } else { throw new UserForbiddenException( "You are not allowed to perform this action", "You are not allowed to perform this action"); } } else { throw new InvalidTokenException(InvalidTokenType.TokenNotFound, "The requested Group Album Rating was not found"); } } catch (Exception) { throw; } }