public FuelReportApplicationService(
     IUnitOfWorkScope unitOfWorkScope,
     ICurrencyDomainService currencyDomainService,
     IVoyageDomainService voyageDomainService,
     IFuelReportDomainService fuelReportDomainService,
     IApproveFlowApplicationService approveFlowApplicationService)
 {
     this.unitOfWorkScope = unitOfWorkScope;
     this.currencyDomainService = currencyDomainService;
     this.voyageDomainService = voyageDomainService;
     this.fuelReportDomainService = fuelReportDomainService;
     this.approveFlowApplicationService = approveFlowApplicationService;
 }
        private void GenerateRepositories()
        {
            _scope = new UnitOfWorkScope(new EFUnitOfWorkFactory(() => new DataContainer()));

            var client = new WebClientHelper(new HttpClient());
            _orderRepository = new OrderRepository(_scope, new OrderConfigurator(), new EFRepository<OrderItem>(_scope));
            _orderRepository.GetAll();
            _tr = new TransactionScope();

            var hostAdapter = new ExternalHostAddressHelper();
            var vesselService = new VesselDomainService(new BaseAntiCorruptionAdapter<Vessel, WarehouseDto>(
                                                            new VesselAntiCorruptionServiceWrapper(
                                                                client, hostAdapter),
                                                            new VesselAntiCorruptionMapper()),
                                                        new VesselRepository(_scope));
            var goodService = new GoodDomainService(new GoodAntiCorruptionAdapter(
                                                        new GoodAntiCorruptionServiceWrapper(client, hostAdapter),
                                                        new GoodAntiCorruptionMapper()), new EFRepository<Good>(_scope));

            var companyService = new CompanyDomainService(
                new CompanyAntiCorruptionAdapter(new CompanyAntiCorruptionServiceWrapper
                                                     (client, hostAdapter),
                                                 new CompanyAntiCorruptionMapper()),
                new CompanyRepository(_scope));

            var orderApplicationService = new OrderApplicationService(
                _orderRepository, _scope,
                new UserRepository(_scope),
                vesselService, goodService,
                new OrderFactory(new OrderCodeGenerator()
                                 , new OrderConfigurator()
                                 , new WorkflowRepository(_scope)),
                companyService,
                new OrderItemDomainService(new EFRepository<OrderItem>(_scope)),
                new OrderConfigurator());
            _approvalWorkFlowRepository = new WorkflowLogRepository(_scope);
            _approveFlowApplicationService = new ApproveFlowApplicationService(_scope, _approvalWorkFlowRepository,
                                                                               new WorkflowRepository(_scope));
        }
 public ApprovalFlowFasadeService(IApproveFlowApplicationService _approvalFlowAppService)
 {
     approvalFlowAppService = _approvalFlowAppService;
 }