public async Task <AddSongResult> AddSongRequest(string username, string requestText, SongRequestType songRequestType) { if (string.IsNullOrWhiteSpace(requestText)) { return new AddSongResult { AddRequestResult = AddRequestResult.NoRequestEntered } } ; if (string.IsNullOrWhiteSpace(username) || songRequestType == SongRequestType.Any) { return new AddSongResult { AddRequestResult = AddRequestResult.UnSuccessful } } ; var playlistState = _getPlaylistStateQuery.GetPlaylistState(); switch (playlistState) { case PlaylistState.VeryClosed: if (songRequestType != SongRequestType.SuperVip) { return(new AddSongResult { AddRequestResult = AddRequestResult.PlaylistVeryClosed }); } break; case PlaylistState.Closed: if (songRequestType == SongRequestType.Regular) { return(new AddSongResult { AddRequestResult = AddRequestResult.PlaylistClosed }); } break; } return(await _processSongRequestCommand.ProcessAddingSongRequest(username, requestText, songRequestType).ConfigureAwait(false)); } } }
public PlaylistState GetPlaylistState() { var playlistState = _getPlaylistStateQuery.GetPlaylistState(); return(playlistState); }