public async Task Create([FromBody] CreateGameInput input) { var entity = _mapper.Map <Game>(input); await _gamesDbContext.Games.AddAsync(entity); await _gamesDbContext.SaveChangesAsync(); }
public GameResponse Execute(CreateGameInput game) { var gameResponse = new GameResponse(); try { Log.Information("Creating Game Entry for [{NewName}].", game?.Name); var gameEntity = Mapper.Map <CreateGameInput, Domain.Game.Entities.Game>(game); gameResponse.Game = Repository.Create(gameEntity); gameResponse.StatusCode = 200; } catch (Exception exception) { Log.Error(exception, "Failed to Create Game: [{NewName}].", game?.Name); HandleErrors(gameResponse, exception); } return(gameResponse); }
public CreateOutput <GameDto, long> Create(CreateGameInput input) { Game newGameEntity = input.Entity.MapTo <Game>(); if (!GamePolicy.CanCreateEntity(newGameEntity)) { throw new CityQuestPolicyException(CityQuestConsts.CQPolicyExceptionCreateDenied, "\"Game\""); } newGameEntity.IsActive = true; newGameEntity.GameImageName = CreateGameImage(Guid.NewGuid().ToString(), input.GameImageData); try { newGameEntity.GameStatusId = GameStatusRepository.GetAll().Where(r => r.IsDefault).Single().Id; } catch { throw new UserFriendlyException("Default game status not found!", "Default game status not found! Please contact your system administrator."); } GameRepository.Includes.Add(r => r.GameTasks); GameRepository.Includes.Add(r => r.Location); GameRepository.Includes.Add(r => r.GameStatus); GameRepository.Includes.Add(r => r.LastModifierUser); GameRepository.Includes.Add(r => r.CreatorUser); long newGameId = GameRepository.InsertAndGetId(newGameEntity); UowManager.Current.Completed += (sender, e) => { GameChangesNotifier.RaiseOnGameAdded(new GameAddedMessage(newGameId)); }; GameDto newGameDto = GameRepository.Get(newGameId).MapTo <GameDto>(); GameRepository.Includes.Clear(); return(new CreateOutput <GameDto, long>() { CreatedEntity = newGameDto }); }
public void Valid() { var createGameInput = new CreateGameInput { Genre = "Some Genre", Name = "Da Name", Price = 69.69, ReleaseDate = DateTime.Now.AddDays(-17) }; var game = Mapper.Map <Domain.Game.Entities.Game>(createGameInput); game.Should().NotBeNull(); game.Genre.Should().Be(createGameInput.Genre); game.Name.Should().Be(createGameInput.Name); game.Price.Should().Be((decimal)createGameInput.Price); game.ReleaseDate.Should().Be(createGameInput.ReleaseDate); }
public async Task <GameResponse> ExecuteAsync(CreateGameInput input) { var gameResponse = new GameResponse(); try { Log.Information("Creating Game Entry for [{NewName}]...", input?.Name); var gameEntity = Mapper.Map <CreateGameInput, Domain.Game.Entities.Game>(input); gameResponse.Game = await Repository.CreateAsync(gameEntity); gameResponse.StatusCode = 200; Log.Information("Created Game Entry for [{NewName}] with Id: [{Id}]", gameResponse.Game.Name, gameResponse.Game.Id); } catch (Exception exception) { Log.Error(exception, "Failed to Create Game: [{NewName}].", input?.Name); HandleErrors(gameResponse, exception); } return(gameResponse); }
public IActionResult Post(CreateGameInput game) { return(ExecuteAndHandleRequest(() => GameRequestAggregate.CreateGameRequest.Execute(game))); }
public async Task <IActionResult> Post(CreateGameInput game) { return(await ExecuteAndHandleRequestAsync(() => GameRequestAggregateAsync.CreateGameRequestAsync.ExecuteAsync(game))); }