public async Task <IResponse> CreateBattleAsync(CreateBattleCommand command) { var battle = new Battle(command.Name); await _battleRepository.Create(battle); await _unitOfWork.SaveChanges(); return(new SuccessResponse()); }
public async Task <IActionResult> CreateBattleAsync([FromBody] CreateBattleDTO commandDTO) { try { CreateBattleCommand command = new CreateBattleCommand() { Name = commandDTO.Name, Description = commandDTO.Description }; var result = await BattleManager.CreateBattleAsync(command); var resultDTO = Mapper.Map <CreateBattleResult, CreateBattleResultDTO>(result); return(OnResult(resultDTO)); } catch (Exception exception) { return(OnException(exception, "Error while creating battle.")); } }
public async Task <CreateBattleResult> CreateBattleAsync(CreateBattleCommand command) { if (String.IsNullOrWhiteSpace(command.Name)) { return(new CreateBattleResult(new Error("Empty name", "Name can't be empty"))); } var battle = new BattleEntity() { Description = command.Description, Name = command.Name, Settings = new BattleSettingsEntity { CenterX = 0, CenterY = 0, Cooldown = 0, ChunkHeight = 100, ChunkWidth = 100, MaxHeightIndex = 99, MaxWidthIndex = 99, MinHeightIndex = -100, MinWidthIndex = -100 }, StartDateUTC = DateTime.UtcNow, EndDateUTC = DateTime.UtcNow.AddDays(100) }; var result = await BattleStore.CreateBattleAsync(battle, CancellationToken); if (result.Succeeded) { return(new CreateBattleResult(battle.BattleId)); } else { return(new CreateBattleResult(result.Errors)); } }
public Task <IResponse> Create(CreateBattleCommand command) { return(_battleService.CreateBattleAsync(command)); }