public async Task <IActionResult> AddWebRequest([FromBody] AddWebSongRequest addWebSongRequest) { try { var requestSongViewModel = new AddWebSongRequest { Title = addWebSongRequest.Title, Artist = addWebSongRequest.Artist, SelectedInstrument = addWebSongRequest.SelectedInstrument, IsVip = addWebSongRequest.IsVip, IsSuperVip = addWebSongRequest.IsSuperVip }; var result = await _playlistService.AddWebRequest(requestSongViewModel, addWebSongRequest.Username) .ConfigureAwait(false); var responseModel = new AddRequestResponse { Result = result, PlaylistPosition = 0 }; return(new JsonResult(responseModel)); } catch (Exception e) { _logger.LogError(e, "Error in AddWebRequest", addWebSongRequest); return(BadRequest()); } }
public AddRequestResponse AddRequest(string sessionId, Request request) { IRequestProvider requestProvider = RequestProviderFactory.GetRequestProvider(); var response = new AddRequestResponse(); try { Core.Model.Request modelRequest = request.ToModel(); IAccountProvider accountProvider = AccountProviderFactory.GetAccountProvider(); Account account = accountProvider.GetAccount(request.AccountId); if (account != null) { string errorMessage; modelRequest = requestProvider.AddRequest(modelRequest, out errorMessage); IEmailProvider emailProvider = EmailProviderFactory.GetEmailProvider(); if (modelRequest != null) { response.IsSuccess = true; response.Id = modelRequest.RequestId; response.Order = modelRequest.WaitListPosition; response.UniqueNumber = modelRequest.FriendlyRequestId; emailProvider.SendWLEmail(account.Email, modelRequest.RequestId, modelRequest.FriendlyRequestId, modelRequest.TravelDate, modelRequest.FromAirport, modelRequest.ToAirport, modelRequest.Passengers); Task.Factory.StartNew(() => AddPassengersInTravellerlist(sessionId, modelRequest)); } else { response.ErrorMessage = errorMessage; } } else { response.ErrorMessage = "Account invalid. Please try again."; } } catch (Exception exception) { response.ErrorMessage = "Something is not quite right here. Please try again later."; Logger.LogException(exception, Source, "AddRequest", Severity.Major); } return response; }