コード例 #1
0
        private async Task _validate(NewChallengeGate model)
        {
            if ((await GameExists(model.GameId)).Equals(false))
            {
                throw new ResourceNotFound();
            }

            if ((await SpecExists(model.TargetId)).Equals(false))
            {
                throw new ResourceNotFound();
            }

            if ((await SpecExists(model.RequiredId)).Equals(false))
            {
                throw new ResourceNotFound();
            }

            await Task.CompletedTask;
        }
コード例 #2
0
        public async Task <ChallengeGate> AddOrUpdate(NewChallengeGate model)
        {
            var entity = await Store.List().FirstOrDefaultAsync(s =>
                                                                s.TargetId == model.TargetId &&
                                                                s.RequiredId == model.RequiredId &&
                                                                s.GameId == model.GameId
                                                                );

            if (entity is Data.ChallengeGate)
            {
                Mapper.Map(model, entity);
                await Store.Update(entity);
            }
            else
            {
                entity = Mapper.Map <Data.ChallengeGate>(model);
                await Store.Create(entity);
            }

            return(Mapper.Map <ChallengeGate>(entity));
        }
コード例 #3
0
        public async Task <ChallengeGate> Create([FromBody] NewChallengeGate model)
        {
            await Validate(model);

            return(await ChallengeGateService.AddOrUpdate(model));
        }