private async Task <T> Update <T>(OrganizationRecruiterInput model) where T : OrganizationRecruiterOutput { _logger.LogInformation(GetLogMessage("Recruiter: {0}"), model.RecruiterId); var entity = await Repository.Queryable() .FindById(model.RecruiterId, model.OrganizationId) .FirstAsync(); entity.Updated = DateTimeOffset.UtcNow; entity.RecruiterStream = model.RecruiterStream; entity.RecruiterBonus = model.RecruiterBonus; entity.InjectFrom(model); var records = await Repository.UpdateAsync(entity, true); _logger.LogDebug(GetLogMessage("{0} records updated"), records); var result = await GetById <T>(model.RecruiterId, model.OrganizationId); if (records > 0) { await Task.Run(() => { RaiseEvent(new OrganizationRecruiterUpdatedEvent <T> { OrganizationMarketerOutput = result }); }); } return(result); }
public async Task <IActionResult> AddRecruiter([FromRoute] Guid organizationId, [FromRoute] Guid personId, [FromBody] OrganizationRecruiterInput input) { var result = await _recruiterService .Create <AgencyOwnerOrganizationRecruiterOutput>(_agencyOwner, input); return(Ok(result)); }
public async Task <T> Create <T>( OrganizationRecruiterInput model ) where T : OrganizationRecruiterOutput { var entity = await Repository.Queryable().IgnoreQueryFilters() .Where(x => x.OrganizationId == model.OrganizationId && x.RecruiterId == model.RecruiterId) .FirstOrDefaultAsync(); if (entity != null) { if (entity.IsDeleted) { entity.IsDeleted = false; entity.UpdatedById = _userInfo.UserId; entity.Updated = DateTimeOffset.UtcNow; entity.Created = entity.Updated; entity.CreatedById = _userInfo.UserId; entity.InjectFrom(model); var records = await Repository.UpdateAsync(entity, true); _logger.LogDebug(GetLogMessage("{0} Records Updated"), records); if (records > 0) { } } } else { entity = new OrganizationRecruiter() { Updated = DateTimeOffset.UtcNow, Created = DateTimeOffset.UtcNow, CreatedById = _userInfo.UserId, UpdatedById = _userInfo.UserId, RecruiterStream = model.RecruiterStream, RecruiterBonus = model.RecruiterBonus }.InjectFrom(model) as OrganizationRecruiter; var records = await Repository.InsertAsync(entity, true); _logger.LogDebug(GetLogMessage("{0} Records Updated"), records); if (records > 0) { } } var output = await GetById <T>(model.RecruiterId, model.OrganizationId); return(output); }
public Task <T> Update <T>(IOrganizationAccountManager am, OrganizationRecruiterInput input) where T : OrganizationRecruiterOutput { input.OrganizationId = am.OrganizationId; return(Update <T>(input)); }
public Task <T> Update <T>(IAgencyOwner ao, OrganizationRecruiterInput input) where T : OrganizationRecruiterOutput { input.OrganizationId = ao.OrganizationId; return(Update <T>(input)); }
public Task <T> GetById <T>(OrganizationRecruiterInput input) where T : OrganizationRecruiterOutput { return(GetById <T>(input.RecruiterId, input.OrganizationId)); }