public async Task <OpportunityDto> GetOpportunityAsync(int opportunityId)
        {
            var opportunity = await _opportunityRepository.GetSingleOrDefaultAsync(o => o.Id == opportunityId,
                                                                                   navigationPropertyPath : o => o.Employer);

            var dto = _mapper.Map <OpportunityDto>(opportunity);

            return(dto);
        }
Beispiel #2
0
 public async Task <FindEmployerViewModel> GetOpportunityEmployerAsync(int opportunityId, int opportunityItemId)
 {
     return(await _opportunityRepository.GetSingleOrDefaultAsync(
                o => o.Id == opportunityId,
                o => new FindEmployerViewModel
     {
         OpportunityItemId = opportunityItemId,
         OpportunityId = opportunityId,
         CompanyName = o.Employer.CompanyName,
         PreviousCompanyName = o.Employer.CompanyName,
         AlsoKnownAs = o.Employer.AlsoKnownAs,
         SelectedEmployerCrmId = o.EmployerCrmId ?? Guid.Empty,
     }));
 }
Beispiel #3
0
        public When_OpportunityService_Is_Called_To_Save_EmployerDetail()
        {
            var config = new MapperConfiguration(c => c.AddMaps(typeof(OpportunityMapper).Assembly));
            var mapper = new Mapper(config);

            _opportunityRepository = Substitute.For <IOpportunityRepository>();
            var opportunityItemRepository       = Substitute.For <IRepository <OpportunityItem> >();
            var provisionGapRepository          = Substitute.For <IRepository <ProvisionGap> >();
            var referralRepository              = Substitute.For <IRepository <Domain.Models.Referral> >();
            var googleMapApiClient              = Substitute.For <IGoogleMapApiClient>();
            var opportunityPipelineReportWriter = Substitute.For <IFileWriter <OpportunityReportDto> >();
            var dateTimeProvider = Substitute.For <IDateTimeProvider>();

            _opportunityRepository.GetSingleOrDefaultAsync(Arg.Any <Expression <Func <Domain.Models.Opportunity, bool> > >()).Returns(new Domain.Models.Opportunity {
                Id = OpportunityId
            });

            var opportunityService = new OpportunityService(mapper, _opportunityRepository, opportunityItemRepository,
                                                            provisionGapRepository, referralRepository, googleMapApiClient,
                                                            opportunityPipelineReportWriter, dateTimeProvider);

            var dto = new EmployerDetailDto
            {
                OpportunityId  = OpportunityId,
                PrimaryContact = Contact,
                Email          = ContactEmail,
                Phone          = ContactPhone,
                ModifiedBy     = ModifiedBy
            };

            opportunityService.UpdateOpportunityAsync(dto).GetAwaiter().GetResult();
        }
        public When_OpportunityService_Is_Called_To_Get_Company_Name_With_Aka_And_Employer_Is_Null()
        {
            var config = new MapperConfiguration(c => c.AddMaps(typeof(OpportunityMapper).Assembly));
            var mapper = new Mapper(config);

            _opportunityRepository = Substitute.For <IOpportunityRepository>();
            var opportunityItemRepository       = Substitute.For <IRepository <OpportunityItem> >();
            var provisionGapRepository          = Substitute.For <IRepository <ProvisionGap> >();
            var referralRepository              = Substitute.For <IRepository <Domain.Models.Referral> >();
            var googleMapApiClient              = Substitute.For <IGoogleMapApiClient>();
            var opportunityPipelineReportWriter = Substitute.For <IFileWriter <OpportunityReportDto> >();
            var dateTimeProvider = Substitute.For <IDateTimeProvider>();

            var opportunity = new Domain.Models.Opportunity
            {
                Id       = 1,
                Employer = null
            };

            _opportunityRepository.GetSingleOrDefaultAsync(Arg.Any <Expression <Func <Domain.Models.Opportunity, bool> > >(),
                                                           Arg.Any <Expression <Func <Domain.Models.Opportunity, object> > >())
            .Returns(opportunity);

            var opportunityService = new OpportunityService(mapper, _opportunityRepository, opportunityItemRepository, provisionGapRepository,
                                                            referralRepository, googleMapApiClient,
                                                            opportunityPipelineReportWriter, dateTimeProvider);

            _result = opportunityService.GetCompanyNameWithAkaAsync(1).GetAwaiter().GetResult();
        }
        public When_EmployerService_Is_Called_To_Get_Opportunity_Employer()
        {
            var employerRepository = Substitute.For <IRepository <Domain.Models.Employer> >();

            _opportunityRepository = Substitute.For <IOpportunityRepository>();

            _opportunityRepository.GetSingleOrDefaultAsync(Arg.Any <Expression <Func <Domain.Models.Opportunity, bool> > >(),
                                                           Arg.Any <Expression <Func <Domain.Models.Opportunity, FindEmployerViewModel> > >())
            .Returns(new FindEmployerViewModelBuilder().BuildWithEmployer());

            var employerService = new EmployerService(employerRepository, _opportunityRepository, Substitute.For <IMapper>(), Substitute.For <IValidator <CrmEmployerEventBase> >(),
                                                      Substitute.For <IMessageQueueService>());

            _result = employerService.GetOpportunityEmployerAsync(1, 2).GetAwaiter().GetResult();
        }