Exemplo n.º 1
0
        public async Task <IActionResult> Update([FromRoute] Guid organizationId,
                                                 [FromBody] RecruitingOrganizationInput input)
        {
            var result = await _organizationService
                         .UpdateOrganization(_recruitingAgencyOwner.Value, input);

            if (result.Succeeded)
            {
                return(await Get(organizationId));
            }

            return(Ok(result));
        }
Exemplo n.º 2
0
        public Task <OrganizationResult> UpdateRecruitingOrganization(RecruitingOrganization recruitingOrganization, RecruitingOrganizationInput input, Organization organization)
        {
            _logger.LogInformation(GetLogMessage("Organization:{0}; input:{@input}"), recruitingOrganization.Id, input);

            recruitingOrganization.InjectFrom(input);

            recruitingOrganization.Updated = DateTimeOffset.UtcNow;

            recruitingOrganization.ObjectState = ObjectState.Modified;

            recruitingOrganization.Discoverable           = input.Discoverable;
            recruitingOrganization.RecruiterStream        = input.RecruiterStream;
            recruitingOrganization.RecruiterBonus         = input.RecruiterBonus;
            recruitingOrganization.RecruitingAgencyStream = input.RecruitingAgencyStream;
            recruitingOrganization.RecruitingAgencyBonus  = input.RecruitingAgencyBonus;

            organization.RecruitingOrganization = recruitingOrganization;

            var result = Repository.InsertOrUpdateGraph(organization, true);

            _logger.LogDebug(GetLogMessage("{0} Records updated"), result);

            return(Task.FromResult(new OrganizationResult()
            {
                OrganizationId = organization.Id,
                Succeeded = result > 0
            }));
        }
Exemplo n.º 3
0
        public async Task <OrganizationResult> UpdateOrganization(IRecruitingAgencyOwner agencyOwner, RecruitingOrganizationInput input)
        {
            _logger.LogInformation(GetLogMessage("Organization:{0}; input:{@input}"), agencyOwner.OrganizationId, input);

            var recruitingOrganization = await Repository.Queryable()

                                         .Include(x => x.RecruitingOrganization)
                                         .Include(x => x.Recruiters)

                                         .Where(x => x.Id == agencyOwner.OrganizationId)
                                         .Select(x => x.RecruitingOrganization)
                                         .FirstAsync();

            var organization = await Repository.Queryable()
                               .Where(x => x.Id == agencyOwner.OrganizationId)
                               .FirstOrDefaultAsync();

            return(await UpdateRecruitingOrganization(recruitingOrganization, input, organization));
        }