Пример #1
0
        private async Task _validate(NewChallengeSpec model)
        {
            if ((await GameExists(model.GameId)).Equals(false))
            {
                throw new ResourceNotFound();
            }

            await Task.CompletedTask;
        }
Пример #2
0
        public async Task <ChallengeSpec> AddOrUpdate(NewChallengeSpec model)
        {
            var entity = await Store.List().FirstOrDefaultAsync(s =>
                                                                s.ExternalId == model.ExternalId &&
                                                                s.GameId == model.GameId
                                                                );

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

            return(Mapper.Map <ChallengeSpec>(entity));
        }
Пример #3
0
        public async Task <ChallengeSpec> Create([FromBody] NewChallengeSpec model)
        {
            await Validate(model);

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