Ejemplo n.º 1
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));
            }
        }