public SapUnitOfWork(SapContextOptions options)
        {
            //this.InjectInstanceOf(typeof(IRepository), sapSqlDbContext, diApiContext);
            //this.InjectInstanceOf(typeof(IRepository), sapSqlDbContext, diApiContext, options.SqlServerConnection, new DemoItemPropertiesRepository());
            var productPropertiesRepository = new DemoProductPropertiesRepository();

            _options            = options;
            _extrasDbContext    = new RalDbContext(options.ExtrasServerOptions);
            _diApiContext       = new SapDiApiContext(options.DiApiServerConnection, CurrentProvider.GetService <ILogger <SapDiApiContext> >());
            _sapSqlDbContext    = new SapSqlDbContext(options.SapSqlServerOptions);
            BusinessPartners    = new SapBusinessPartnerRepository(_sapSqlDbContext, _diApiContext);
            Salesmen            = new SapSalesmanRepository(_sapSqlDbContext, _diApiContext);
            Employees           = new SapEmployeeRepository(_sapSqlDbContext, _diApiContext);
            Company             = new SapCompanyRepository(_sapSqlDbContext, _diApiContext);
            Quotations          = new SapDocumentRepository <QuotationEntity, QuotationHeaderEntity>(_sapSqlDbContext, _diApiContext, productPropertiesRepository);
            Orders              = new SapDocumentRepository <OrderEntity, OrderHeaderEntity>(_sapSqlDbContext, _diApiContext, productPropertiesRepository);
            DeliveryNotes       = new SapDocumentRepository <DeliveryNoteEntity, DeliveryNoteHeaderEntity>(_sapSqlDbContext, _diApiContext, productPropertiesRepository);
            Invoices            = new SapDocumentRepository <InvoiceEntity, InvoiceHeaderEntity>(_sapSqlDbContext, _diApiContext, productPropertiesRepository);
            CreditNotes         = new SapDocumentRepository <CreditNoteEntity, CreditNoteHeaderEntity>(_sapSqlDbContext, _diApiContext, productPropertiesRepository);
            DownPaymentRequests = new SapDocumentRepository <DownPaymentRequest, DownPaymentRequestHeader>(_sapSqlDbContext, _diApiContext, productPropertiesRepository);

            ProductGroups      = new SapProductGroupRepository(_sapSqlDbContext, _diApiContext);
            Products           = new SapProductRepository(_sapSqlDbContext, _diApiContext);
            RefreshTokens      = new AuthenticationRepository(_extrasDbContext);
            UserLocations      = new UserLocationRepository(_extrasDbContext);
            LeadUsersData      = new LeadUserDataRepository(_extrasDbContext);
            EmployeeTimeClocks = new  EmployeeTimeClockRepository(_extrasDbContext);
            _activities        = new Lazy <IActivityRepository>(new SapActivityRepository(_sapSqlDbContext, _diApiContext, _extrasDbContext, options));
            _attachments       = new Lazy <IAttachmentRepository>(new SapAttachmentRepository(_sapSqlDbContext, _diApiContext));
            _identityUsers     = new Lazy <IIdentityRepository>(new IdentityUserRepository(_extrasDbContext));
        }
Esempio n. 2
0
        // private  DbContextOptions<RalDbContext> _options;

        public RalUnitOfWork(RalDbContext dbContext)
        {
            _dbContext          = dbContext;
            BusinessPartners    = new BusinessPartnerRepository(dbContext);
            Company             = new CompanyRepository(dbContext);
            Employees           = new EmployeesRepository(dbContext);
            Quotations          = new DocumentRepository <QuotationEntity, QuotationHeaderEntity>(dbContext);
            Orders              = new DocumentRepository <OrderEntity, OrderHeaderEntity>(dbContext);
            DeliveryNotes       = new DocumentRepository <DeliveryNoteEntity, DeliveryNoteHeaderEntity>(dbContext);
            Invoices            = new DocumentRepository <InvoiceEntity, InvoiceHeaderEntity>(dbContext);
            CreditNotes         = new DocumentRepository <CreditNoteEntity, CreditNoteHeaderEntity>(dbContext);
            DownPaymentRequests = new DocumentRepository <DownPaymentRequest, DownPaymentRequestHeader>(dbContext);

            Salesmen           = new SalesmanRepository(dbContext);
            ProductGroups      = new ProductGroupRepository(dbContext);
            Products           = new ProductRepository(dbContext);
            RefreshTokens      = new AuthenticationRepository(dbContext);
            IdentityUsers      = new IdentityUserRepository(dbContext);
            UserLocations      = new UserLocationRepository(dbContext);
            LeadUsersData      = new LeadUserDataRepository(dbContext);
            EmployeeTimeClocks = new EmployeeTimeClockRepository(dbContext);
            Activities         = new ActivityRepository(dbContext);
            Attachments        = new AttachmentRepository(dbContext);
        }