Пример #1
0
 public PgCostBuilder(IPgStageBuilder pgStageBuilder,
                      IRuleService ruleService,
                      ICostStageRevisionService costStageRevisionService,
                      IAgencyService agencyService,
                      IProjectService projectService,
                      EFContext efContext,
                      ICostNumberGeneratorService costNumberGeneratorService,
                      IPgCurrencyService currencyService,
                      IPgLedgerMaterialCodeService pgLedgerMaterialCodeService,
                      ICostLineItemService costLineItemService,
                      ICostTemplateVersionService costTemplateVersionService,
                      IPermissionService permissionService,
                      IPgCostService pgCostService,
                      IPgCostSectionTotalsBuilder pgTotalsBuilder,
                      IPgPaymentService pgPaymentService,
                      IExchangeRateService exchangeRateService)
 {
     _pgStageBuilder           = pgStageBuilder;
     _ruleService              = ruleService;
     _costStageRevisionService = costStageRevisionService;
     _agencyService            = agencyService;
     _projectService           = projectService;
     _efContext = efContext;
     _costNumberGeneratorService  = costNumberGeneratorService;
     _currencyService             = currencyService;
     _pgLedgerMaterialCodeService = pgLedgerMaterialCodeService;
     _costLineItemService         = costLineItemService;
     _costTemplateVersionService  = costTemplateVersionService;
     _permissionService           = permissionService;
     _pgCostService       = pgCostService;
     _pgTotalsBuilder     = pgTotalsBuilder;
     _pgPaymentService    = pgPaymentService;
     _exchangeRateService = exchangeRateService;
 }
        public void Init()
        {
            _pgStageBuilderMock = new Mock <IPgStageBuilder>();
            _projectService     = new Mock <IProjectService>();
            var currencyService = new Mock <IPgCurrencyService>();

            _agencyService = new Mock <IAgencyService>();
            var ruleService = GetService <IRuleService>();

            _costStageRevisionService        = new Mock <ICostStageRevisionService>();
            _pgLedgerMaterialCodeServiceMock = new Mock <IPgLedgerMaterialCodeService>();
            _efContext = new Mock <EFContext>();
            _costNumberGeneratorServiceMock = new Mock <ICostNumberGeneratorService>();
            _costNumberGeneratorServiceMock.Setup(x => x.Generate(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>())).Returns(Task.FromResult(_costNumber));
            _costLineItemServiceMock = new Mock <ICostLineItemService>();
            _costTemplateServiceMock = new Mock <ICostTemplateVersionService>();
            _permissionServiceMock   = new Mock <IPermissionService>();
            _pgCostServiceMock       = new Mock <IPgCostService>();
            _pgTotalsBuilder         = new PgCostSectionTotalsBuilder();
            _pgPaymentServiceMock    = new Mock <IPgPaymentService>();
            _exchangeRateServiceMock = new Mock <IExchangeRateService>();
            _efContext.MockAsyncQueryable(new[]
            {
                new Cost
                {
                    LatestCostStageRevision = new CostStageRevision
                    {
                        CostStage = new CostStage
                        {
                            Key = nameof(CostStages.OriginalEstimate)
                        }
                    }
                }
            }.AsQueryable(), c => c.Cost);

            _pgCostBuilder = new PgCostBuilder(
                _pgStageBuilderMock.Object,
                ruleService,
                _costStageRevisionService.Object,
                _agencyService.Object,
                _projectService.Object,
                _efContext.Object,
                _costNumberGeneratorServiceMock.Object,
                currencyService.Object,
                _pgLedgerMaterialCodeServiceMock.Object,
                _costLineItemServiceMock.Object,
                _costTemplateServiceMock.Object,
                _permissionServiceMock.Object,
                _pgCostServiceMock.Object,
                _pgTotalsBuilder,
                _pgPaymentServiceMock.Object,
                _exchangeRateServiceMock.Object
                );
        }
Пример #3
0
 public PgPaymentService(
     EFContext efContext,
     ICostStageRevisionService costStageRevisionService,
     IRuleService ruleService,
     IStageService stageService,
     IPgCurrencyService pgCurrencyService,
     IPgCostSectionTotalsBuilder pgTotalsBuilder,
     IPgCostStageRevisionTotalPaymentsBuilder pgTotalPaymentsBuilder,
     ICustomObjectDataService customObjectDataService
     )
 {
     _efContext = efContext;
     _costStageRevisionService = costStageRevisionService;
     _ruleService             = ruleService;
     _stageService            = stageService;
     _pgCurrencyService       = pgCurrencyService;
     _pgTotalsBuilder         = pgTotalsBuilder;
     _pgTotalPaymentsBuilder  = pgTotalPaymentsBuilder;
     _customObjectDataService = customObjectDataService;
 }
        public void Setup()
        {
            PgStageBuilderMock           = new Mock <IPgStageBuilder>();
            RuleServiceMock              = new Mock <IRuleService>();
            CostStageRevisionServiceMock = new Mock <ICostStageRevisionService>();
            AgencyServiceMock            = new Mock <IAgencyService>();
            ProjectServiceMock           = new Mock <IProjectService>();
            EFContext = EFContextFactory.CreateInMemoryEFContext();
            var currencyService = new Mock <IPgCurrencyService>();

            PgLedgerMaterialCodeServiceMock = new Mock <IPgLedgerMaterialCodeService>();
            CostLineItemServiceMock         = new Mock <ICostLineItemService>();
            CostNumberGeneratorServiceMock  = new Mock <ICostNumberGeneratorService>();
            CostTemplateVersionServiceMock  = new Mock <ICostTemplateVersionService>();
            PermissionServiceMock           = new Mock <IPermissionService>();
            _pgCostServiceMock       = new Mock <IPgCostService>();
            _pgPaymentServiceMock    = new Mock <IPgPaymentService>();
            _exchangeRateServiceMock = new Mock <IExchangeRateService>();
            _pgTotalsBuilder         = new PgCostSectionTotalsBuilder();

            CostBuilder = new PgCostBuilder(PgStageBuilderMock.Object,
                                            RuleServiceMock.Object,
                                            CostStageRevisionServiceMock.Object,
                                            AgencyServiceMock.Object,
                                            ProjectServiceMock.Object,
                                            EFContext,
                                            CostNumberGeneratorServiceMock.Object,
                                            currencyService.Object,
                                            PgLedgerMaterialCodeServiceMock.Object,
                                            CostLineItemServiceMock.Object,
                                            CostTemplateVersionServiceMock.Object,
                                            PermissionServiceMock.Object,
                                            _pgCostServiceMock.Object,
                                            _pgTotalsBuilder,
                                            _pgPaymentServiceMock.Object,
                                            _exchangeRateServiceMock.Object
                                            );
        }
        public void Init()
        {
            var ruleEngine   = GetService <IRuleEngine>();
            var efContext    = GetService <EFContext>();
            var ruleBuilders = GetService <IEnumerable <Lazy <IVendorRuleBuilder, PluginMetadata> > >();
            var ruleServices = GetService <IEnumerable <Lazy <IPluginRuleService, PluginMetadata> > >();

            Service = new RuleService(ruleBuilders, ruleServices, ruleEngine, efContext);

            _costStageRevisionServiceMock = new Mock <ICostStageRevisionService>();
            _customDataServiceMock        = new Mock <ICustomObjectDataService>();
            _loggerMock                      = new Mock <ILogger>();
            _currencyService                 = new Mock <ICurrencyService>();
            _costExchangeRateServiceMock     = new Mock <ICostExchangeRateService>();
            _pgLedgerMaterialCodeServiceMock = new Mock <IPgLedgerMaterialCodeService>();
            _appSettingsMock                 = new Mock <IOptions <AppSettings> >();
            _pgCostServiceMock               = new Mock <IPgCostService>();

            _efContext               = EFContextFactory.CreateInMemoryEFContext();
            _pgCurrencyService       = new PgCurrencyService(_efContext);
            _customObjectDataService = new Mock <ICustomObjectDataService>();

            var pgStageBuilder = new PgStageBuilder(Service,
                                                    _efContext,
                                                    _costStageRevisionServiceMock.Object,
                                                    _pgCostServiceMock.Object
                                                    );

            var stageBuilders = new List <Lazy <IStageBuilder, PluginMetadata> >
            {
                new Lazy <IStageBuilder, PluginMetadata>(
                    () => pgStageBuilder,
                    new PluginMetadata {
                    BuType = BuType.Pg
                }
                    )
            };

            var stageService = new StageService(stageBuilders);

            _pgTotalsBuilder        = new PgCostSectionTotalsBuilder();
            _pgTotalPaymentsBuilder = new PgCostStageRevisionTotalPaymentsBuilder();

            var paymentService = new PgPaymentService(
                _efContext,
                _costStageRevisionServiceMock.Object,
                Service,
                stageService,
                _pgCurrencyService,
                _pgTotalsBuilder,
                _pgTotalPaymentsBuilder,
                _customObjectDataService.Object
                );

            _pgPaymentService = paymentService;
            _paymentService   = paymentService;

            _purchaseOrderService = new PgPurchaseOrderService(
                _efContext,
                _appSettingsMock.Object,
                _pgLedgerMaterialCodeServiceMock.Object,
                _customDataServiceMock.Object,
                _pgCurrencyService,
                _loggerMock.Object,
                _pgPaymentService,
                _costExchangeRateServiceMock.Object);
        }
Пример #6
0
        public void Setup()
        {
            var mockIPgStageBuilder = new Mock <IPgStageBuilder>();
            //IRuleService ruleService,
            var mockICostStageRevisionService = new Mock <ICostStageRevisionService>();

            mockICostStageRevisionService.Setup(a => a.GetPreviousRevision(new Guid(PreviousStageId)))
            .ReturnsAsync(new CostStageRevision()
            {
                Name = "OriginalEstimate"
            });
            var mockIAgencyService  = new Mock <IAgencyService>();
            var mockIProjectService = new Mock <IProjectService>();
            var mockRuleBuilder     = new Mock <IVendorRuleBuilder>();
            var mockRuleService     = new Mock <IPluginRuleService>();
            var pgCostServiceMock   = new Mock <IPgCostService>();
            var efContext           = GetService <EFContext>();
            var currencyService     = new Mock <IPgCurrencyService>();

            _costLineItemServiceMock = new Mock <ICostLineItemService>();
            _costTemplateServiceMock = new Mock <ICostTemplateVersionService>();
            _permissionServiceMock   = new Mock <IPermissionService>();

            var ruleEngine  = new RuleEngine();
            var ruleService = new RuleService(
                new List <Lazy <IVendorRuleBuilder, PluginMetadata> >
            {
                new Lazy <IVendorRuleBuilder, PluginMetadata>(() => mockRuleBuilder.Object, new PluginMetadata {
                    BuType = BuType.Pg
                })
            },
                new List <Lazy <IPluginRuleService, PluginMetadata> >
            {
                new Lazy <IPluginRuleService, PluginMetadata>(() => mockRuleService.Object, new PluginMetadata {
                    BuType = BuType.Pg
                })
            },
                ruleEngine,
                efContext
                );

            _costNumberGeneratorServiceMock.Setup(x => x.Generate(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>())).Returns(Task.FromResult(CostNumber));
            _pgLedgerMaterialCodeServiceMock = new Mock <IPgLedgerMaterialCodeService>();
            _pgPaymentServiceMock            = new Mock <IPgPaymentService>();
            _exchangeRateServiceMock         = new Mock <IExchangeRateService>();
            _pgTotalsBuilder = new PgCostSectionTotalsBuilder();

            CostBuilder = new PgCostBuilder(mockIPgStageBuilder.Object,
                                            ruleService,
                                            mockICostStageRevisionService.Object,
                                            mockIAgencyService.Object,
                                            mockIProjectService.Object,
                                            efContext,
                                            _costNumberGeneratorServiceMock.Object,
                                            currencyService.Object,
                                            _pgLedgerMaterialCodeServiceMock.Object,
                                            _costLineItemServiceMock.Object,
                                            _costTemplateServiceMock.Object,
                                            _permissionServiceMock.Object,
                                            pgCostServiceMock.Object,
                                            _pgTotalsBuilder,
                                            _pgPaymentServiceMock.Object,
                                            _exchangeRateServiceMock.Object
                                            );
        }