public IActionResult EditSong([FromBody] RequestSongModel requestData) { if (User.Identity.IsAuthenticated) { var requestModel = new EditWebRequestRequestModel { SongRequestId = int.Parse(requestData.SongRequestId), Title = requestData.Title, Artist = requestData.Artist, SelectedInstrument = requestData.SelectedInstrument, IsVip = requestData.IsVip, IsSuperVip = requestData.IsSuperVip, Username = User.Identity.Name.ToLower(), IsMod = _modService.IsUserModerator(User.Identity.Name) }; var editRequestResult = _playlistApiClient.EditWebRequest(requestModel).Result.EditResult; switch (editRequestResult) { case EditRequestResult.Success: return(Ok()); case EditRequestResult.NoRequestEntered: return(BadRequest(new { Message = "You haven't entered a request. Please enter a Song name and/or Artist" })); case EditRequestResult.NotYourRequest: return(BadRequest(new { Message = "This doesn't seem to be your request. Please try again" })); case EditRequestResult.RequestAlreadyRemoved: return(BadRequest(new { Message = "It seems like this song has been played or removed from the list" })); default: return(BadRequest(new { Message = "An error occurred, please wait until the issue is resolved" })); } } return(BadRequest(new { Message = "It looks like you're not logged in, log in and try again" })); }
public IActionResult RequestSong([FromBody] RequestSongModel requestData) { if (User.Identity.IsAuthenticated) { var requestModel = new AddWebSongRequest { SongRequestId = int.Parse(requestData.SongRequestId), Title = requestData.Title, Artist = requestData.Artist, SelectedInstrument = requestData.SelectedInstrument, IsVip = requestData.IsVip, IsSuperVip = requestData.IsSuperVip, Username = User.Identity.Name }; var requestResult = _playlistApiClient.AddWebRequest(requestModel).Result.Result; var maxRegularRequests = _playlistApiClient.GetMaxUserRequests().Result.MaxRequests; switch (requestResult) { case AddRequestResult.Success: return(Ok()); case AddRequestResult.MaximumRegularRequests: return(BadRequest(new { Message = $"You cannot have more than {maxRegularRequests} regular request{(maxRegularRequests > 1 ? "s" : "")}" })); case AddRequestResult.PlaylistClosed: return(BadRequest(new { Message = "The playlist is currently closed, you can still use a VIP token to request though!" })); case AddRequestResult.PlaylistVeryClosed: return(BadRequest(new { Message = "The playlist is completely closed, please wait until the playlist opens to request a song" })); case AddRequestResult.UnSuccessful: return(BadRequest(new { Message = "An error occurred, please wait until the issue is resolved" })); case AddRequestResult.NoRequestEntered: return(BadRequest(new { Message = "You haven't entered a request. Please enter a Song Name and/or Artist" })); } } return(BadRequest(new { Message = "It looks like you're not logged in, log in and try again" })); }