Beispiel #1
0
        public async Task <IEnumerable <Battle> > GetBattlesAsync(BattleFilter battleFilter)
        {
            var battleEntityFilter = new BattleEntityFilter
            {
                Name = battleFilter.Name
            };

            var battles = await BattleStore.GetBattlesAsync(battleEntityFilter, CancellationToken);

            return(Mapper.Map <IEnumerable <BattleEntity>, IEnumerable <Battle> >(battles));
        }
Beispiel #2
0
        public async Task <Result> UpdateBattleImageAsync(UpdateBattleImageCommand command)
        {
            var battle = await BattleStore.GetBattleAsync(command.BattleId);

            if (battle == null)
            {
                return(Result.Failed(new Error("Battle not found", "Battle not found")));
            }
            battle.ImageId = command.ImageId;
            return(await BattleStore.UpdateBattleAsync(battle, CancellationToken));
        }
Beispiel #3
0
        public async Task <CreateBattleTokenResult> CreateBattleTokenAsync(CreateBattleTokenCommand command)
        {
            var battle = await BattleStore.GetBattleAsync(command.BattleId, CancellationToken);

            if (battle == null)
            {
                return(new CreateBattleTokenResult(new Error("Battle not found", "Battle not found")));
            }

            string token = BattleTokenGenerator.GenerateToken(command.BattleId, command.UserId);

            return(new CreateBattleTokenResult(token));
        }
Beispiel #4
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));
            }
        }
Beispiel #5
0
        public async Task <Battle> GetBattleAsync(long battleId)
        {
            var battle = await BattleStore.GetBattleAsync(battleId, CancellationToken);

            return(Mapper.Map <BattleEntity, Battle>(battle));
        }
Beispiel #6
0
 public Task <Result> DeleteBattleAsync(DeleteBattleCommand command)
 {
     return(BattleStore.DeleteBattleAsync(command.BattleId, CancellationToken));
 }