コード例 #1
0
        public async Task <IResponse> CreateBattleAsync(CreateBattleCommand command)
        {
            var battle = new Battle(command.Name);

            await _battleRepository.Create(battle);

            await _unitOfWork.SaveChanges();

            return(new SuccessResponse());
        }
コード例 #2
0
        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."));
            }
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
 public Task <IResponse> Create(CreateBattleCommand command)
 {
     return(_battleService.CreateBattleAsync(command));
 }