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; }
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)); }
public async Task <ChallengeGate> Create([FromBody] NewChallengeGate model) { await Validate(model); return(await ChallengeGateService.AddOrUpdate(model)); }