public async Task <IActionResult> BuyTickets([FromForm] BuyTicketCommand buyTicketCommand) { var request = _requestClientBuyTicketCommand.Create(buyTicketCommand); await request.GetResponse <BuyTicketsEvent>(); return(RedirectToAction("Index")); }
public async Task BuyTicket_ShouldBuyTicket() { //Arrange var handler = new TicketQueryHandler(); var ticketsFromHandler = await handler.HandleAsync(new TicketQuery()); var ticketsFromHandlerCount = ticketsFromHandler.ToList().Count; var firstCompetitionFromDatabase = this.context.Competitions.FirstOrDefault(); var firstCompetitorFromDatabase = this.context.Competitors.FirstOrDefault(); var firstGamblerFromDatabase = this.context.Gamblers.FirstOrDefault(); //Act - do something BuyTicketCommand command = new BuyTicketCommand { Id = Guid.NewGuid(), CompetitionId = firstCompetitionFromDatabase.Id, CompetitorId = firstCompetitorFromDatabase.Id, GamblerId = firstGamblerFromDatabase.Id, IsPaymentReceived = false }; //Assert - check results try { await buyTicketHandler.HandleAsync(command); } catch (Exception ex) { Assert.Fail("Expected no exception, but got: " + ex.Message); } }
public MovieDetailsPageViewModel( IRxStore <AppState> store, IMoviesService moviesService, INavigationService navigationService) { _store = store; _moviesService = moviesService; _navigationService = navigationService; CurrentMovie = _store.AsObservable() .Select(x => x.Movies.CurrentMovie) .ToReadOnlyReactiveProperty(mode: ReactivePropertyMode.RaiseLatestValueOnSubscribe); Functions = _store.AsObservable().Select(x => x.Movies) .Where(x => x.CurrentMovie != null) .Select(x => x.CurrentMovie.Functions) .ToReadOnlyReactiveProperty(); BuyTicketCommand = new[] { Function.SetValidateNotifyError(f => f == null ? "You should pick a function" : null) .ObserveHasErrors } .CombineLatestValuesAreAllFalse() .ToReactiveCommand(); BuyTicketCommand.Subscribe(OnBuyTicket); }
public async Task <IActionResult> Ticket(CreateTicketBindingModel createTicketBindingModel) { //get competitor ID IEnumerable <Competitor> competitors = await new CompetitorQueryHandler().HandleAsync(new CompetitorQuery { Name = createTicketBindingModel.competitor }); Competitor competitor = competitors.Where(c => c.Name == createTicketBindingModel.competitor) .ToList() .FirstOrDefault(); if (competitor == null) { return(RedirectToAction(StaticConstants.Competition, StaticConstants.ApiCompetitions, new { name = createTicketBindingModel.competitionName, error = StaticConstants.TicketNotCreatedCreatorNullError })); } Guid competitorId = competitor.Id; //get gambler ID var currentGambler = await new GamblerQueryHandler().HandleAsync(new GamblerQuery { Name = createTicketBindingModel.gambler }); Gambler gambler = currentGambler.Where(c => c.Name == createTicketBindingModel.gambler) .ToList() .FirstOrDefault(); if (gambler == null) { return(RedirectToAction(StaticConstants.Competition, StaticConstants.ApiCompetitions, new { name = createTicketBindingModel.competitionName, error = StaticConstants.TicketNotCreatedGamblerNullError })); } Guid gamblerId = gambler.Id; //Create BuyTicketCommand command BuyTicketCommand command = new BuyTicketCommand { Id = Guid.NewGuid(), CompetitionId = Guid.Parse(createTicketBindingModel.competitionId), CompetitorId = competitorId, GamblerId = gamblerId, IsPaymentReceived = createTicketBindingModel.paymentReceived }; var handler = new BuyTicketHandler(); await handler.HandleAsync(command); return(RedirectToAction(StaticConstants.Ticket, new { id = command.Id, message = StaticConstants.TicketBoughtSuccessMessage })); }
public string DispatchCommand(IList <string> data) { var commandName = data[0].ToLower(); var result = string.Empty; switch (commandName) { case "print-info": var printInfoCommand = new PrintInfoCommand(); data.RemoveAt(0); result = printInfoCommand.Execute(data); break; case "buy-ticket": var buyTicketCommand = new BuyTicketCommand(); data.RemoveAt(0); result = buyTicketCommand.Execute(data); break; case "publish-review": var publishReviewCommand = new PublishReviewCommand(); data.RemoveAt(0); result = publishReviewCommand.Execute(data); break; case "print-review": var printReviewCommand = new PrintReviewCommand(); data.RemoveAt(0); result = printReviewCommand.Execute(data); break; case "exit": Environment.Exit(0); break; default: throw new ArgumentException("Invalid Command"); } return(result); }
public async Task <IActionResult> BuyTicket([FromBody] BuyTicketCommand command) { _logger.LogInformation($"BuyTicketCommand: {command}."); try { // await _commandHandler.HandleAsync(command); } catch (InfrastructureException ex) { _logger.LogError($"Server error during processing command: {ex.Message}"); return(StatusCode((int)HttpStatusCode.InternalServerError)); } catch (Exception ex) { _logger.LogInformation($"Client error during processing command: {ex.Message}"); return(BadRequest()); } return(Ok("OrderController: BuyTicket ok")); }
public string DispatchCommand(string[] commandParams) { string commandName = commandParams[0]; var commandArg = commandParams.Skip(1).ToArray(); string result = string.Empty; switch (commandName) { case "print-info": var printInfo = new PrintInfoCommand(); result = printInfo.Execute(commandArg); break; case "buy-ticket": var buyTicket = new BuyTicketCommand(); result = buyTicket.Execute(commandArg); break; case "publish-review": var publishReview = new PublishReviewCommand(); result = publishReview.Execute(commandArg); break; case "print-reviews": var printReview = new PrintReviewsCommand(); result = printReview.Execute(commandArg); break; case "ChangeTripStatus": var changeTripStatusCommand = new ChangeTripStatusCommand(); result = changeTripStatusCommand.Execute(commandArg); break; default: throw new InvalidOperationException("Invalid command!"); } return(result); }
public string DispatchCommand(string[] cmdParams) { string command = cmdParams[0].ToLower(); string[] data = cmdParams.ToArray(); string result = ""; switch (command) { case "print-info": result = PrintInfoCommand.Execute(cmdParams); break; case "buy-ticket": result = BuyTicketCommand.Execute(cmdParams); break; case "publish-review": result = PublishReviewCommand.Execute(cmdParams); break; case "print-reviews": result = PrintReviewCommand.Execute(cmdParams); break; case "exit": result = ExitCommand.Execute(); break; case "change-trip-status": result = ChangeTripStatusCommand.Execute(cmdParams); break; default: result = "Invalid Command!"; break; } return(result); }
public string DispatchCommand(string[] commandParameters) { string command = commandParameters[0]; string result = null; switch (command.ToLower()) { case "print-info": result = PrintInfoCommand.Execute(commandParameters); break; case "buy-ticket": result = BuyTicketCommand.Execute(commandParameters); break; case "publish-review": result = PublishReviewCommand.Execute(commandParameters); break; case "print-reviews": result = PrintReviewsCommand.Execute(commandParameters); break; case "change-trip-status": result = ChangeTripStatusCommand.Execute(commandParameters); break; case "exit": result = ExitCommand.Execute(commandParameters); break; default: throw new InvalidOperationException($"Command {command} not valid!"); } return(result); }