コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public Task <T> Update <T>(IOrganizationAccountManager am, OrganizationRecruiterInput input) where T : OrganizationRecruiterOutput
 {
     input.OrganizationId = am.OrganizationId;
     return(Update <T>(input));
 }
コード例 #5
0
 public Task <T> Update <T>(IAgencyOwner ao, OrganizationRecruiterInput input)
     where T : OrganizationRecruiterOutput
 {
     input.OrganizationId = ao.OrganizationId;
     return(Update <T>(input));
 }
コード例 #6
0
 public Task <T> GetById <T>(OrganizationRecruiterInput input) where T : OrganizationRecruiterOutput
 {
     return(GetById <T>(input.RecruiterId, input.OrganizationId));
 }