private async Task <T> CreateInternal <T>(RecruiterInput model) where T : RecruiterOutput { var recruiter = await Repository.Queryable().Where(x => x.Id == model.PersonId) .FirstOrDefaultAsync(); if (recruiter == null) { var entity = new Recruiter().InjectFrom(model) as Recruiter; await Repository.InsertAsync(entity, true); var output = await GetById <T>(model.PersonId); await Task.Run(() => { RaiseEvent(new RecruiterCreatedEvent <T> { Recruiter = output }); }); return(output); } return(await GetById <T>(model.PersonId)); }
public Task <T> Create <T>(RecruiterInput model ) where T : RecruiterOutput { return(CreateInternal <T>(model)); }