< Summary

Information
Class: OzonOrdersWeb.Extensions.RepositoryExtensions
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Extensions/RepositoryExtensions.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 203
Coverable lines: 203
Total lines: 316
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 6
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
AddRepositories(...)0%4260%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Extensions/RepositoryExtensions.cs

#LineLine coverage
 1using Microsoft.Extensions.DependencyInjection;
 2using Microsoft.Extensions.Http;
 3using OzonOrdersWeb.WebServices;
 4using OzonOrdersWeb.WebServices.Cookies;
 5using Services.BackgroundJobsServices;
 6using OzonRepositories.Data;
 7using OzonRepositories.Data.Bitrix;
 8using Services.ApiServices.OzonApi;
 9using Services.ApiServices.TradesoftApi.Models.Response;
 10using Services.Builders;
 11using Services.CacheServices.Cache.OrderSummaryCache;
 12using Services.DataServices;
 13using Services.OzonReturnsServices;
 14using Services.OzonHandoverServices;
 15using Services.DataServices.ExcelMapping;
 16using Services.FiltersServices;
 17using Services.FiltersServices.DataFilterManagers;
 18using Services.FiltersServices.SortManagers;
 19using Services.HangfireService;
 20using Services.ImportProductPricesServices;
 21using Services.ParserServices;
 22using Services.ParserServices.FielParsers;
 23using Services.ParserServices.FileProcessing;
 24using Services.ParserServices.HelpDictEnum;
 25using Services.PriceСlculationServices;
 26using Services.TransactionUtilsServices;
 27using Services.OzonWebhookServices;
 28using Services.OzonWebhookServices.Handlers;
 29using Services.OzonWebhookServices.Monitoring;
 30using OzonOrdersWeb.Middleware;
 31using OzonOrdersWeb.Filters;
 32using Services.AccessControl;
 33using Services.ApiSupplierSettingsServices;
 34using Services.ArmtekEtpServices;
 35using Services.FidSupplierLinkServices;
 36using TreeGrouping.Application.CategoryService;
 37using TreeGrouping.Application.DbService;
 38
 39namespace OzonOrdersWeb.Extensions;
 40
 41public static class RepositoryExtensions
 42{
 43    public static void AddRepositories(this IServiceCollection services, IConfiguration configuration)
 44    {
 045        services.AddTransient<MainRepository>();
 46
 047        services.AddTransient<OrderRepository>();
 048        services.AddTransient<OrdersDataServices>();
 49
 050        services.AddTransient<ProductRepository>();
 051        services.AddTransient<ProductsDataServices>();
 52
 053        services.AddTransient<AppStatusRepository>();
 054        services.AddTransient<AppStatusDataServices>();
 55
 056        services.AddTransient<StatusTransitionRepository>();
 057        services.AddTransient<StatusTransitionDataServices>();
 058        services.AddTransient<IStatusTransitionHistoryRepository, StatusTransitionHistoryRepository>();
 059        services.AddTransient<StatusTransitionHistoryRepository>();
 060        services.AddTransient<IStatusTransitionHistoryService, StatusTransitionHistoryService>();
 061        services.AddTransient<StatusTransitionHistoryService>();
 062        services.AddTransient<TransactionTooltipService>();
 063        services.AddTransient<TransactionTransitionRuleService>();
 064        services.AddTransient<ITransactionTypeSettingDataServices, TransactionTypeSettingDataServices>();
 65
 066        services.AddTransient<ExpenseTypeRepository>();
 067        services.AddTransient<ExpenseTypeDataServices>();
 68
 069        services.AddTransient<OrderExtraExpenseRepository>();
 070        services.AddTransient<OrderExtraExpenseDataServices>();
 71
 072        services.AddTransient<ClientStatusRepository>();
 073        services.AddTransient<ClientStatusDataServices>();
 74
 075        services.AddTransient<SupplierRepository>();
 076        services.AddTransient<SupplierDataServices>();
 077        services.AddScoped<ApiSupplierSettingsService>();
 078        services.AddScoped<ApiSupplierWarehouseService>();
 079        services.AddScoped<Services.ProducerAliases.ProducerBrandAliasService>();
 080        services.AddScoped<FidSuppliersFeedCache>();
 081        services.AddScoped<FidSupplierLinkService>();
 082        services.AddScoped<FidSupplierLinkDiscoveryJob>();
 083        services.AddScoped<ArmtekEtpSyncService>();
 084        services.AddScoped<ArmtekEtpSyncJob>();
 085        services.AddScoped<OzonOrdersWeb.WebServices.ArmtekEtp.SettlementSuppliersOverview>();
 086        services.AddScoped<ISupplierQuotationHistoryService, SupplierQuotationHistoryService>();
 087        services.AddScoped<SupplierQuotationHistoryFilter>();
 088        services.AddScoped<SupplierDeliverySurchargeFilter>();
 089        services.AddScoped<SupplierWarehouseRestrictionFilter>();
 090        services.AddScoped<ApiSupplierDeliveryWarehouseResolver>();
 091        services.AddScoped<ArmtekDeliveryAddressMappingService>();
 092        services.AddScoped<MlAutoDeliveryAddressMappingService>();
 093        services.AddScoped<ProfitLigaPointMappingService>();
 094        services.AddScoped<MlAutoRuDeliveryAddressMappingService>();
 095        services.AddScoped<BergDeliveryAddressMappingService>();
 96
 097        services.AddTransient<ShipmentRepository>();
 98
 099        services.AddTransient<TransactionRepository>();
 0100        services.AddTransient<TransactionDataServices>();
 0101        services.AddTransient<ITransactionDataServices>(sp => sp.GetRequiredService<TransactionDataServices>());
 102
 0103        services.AddTransient<DuplicateOrdersRepository>();
 0104        services.AddTransient<DuplicateOrdersServices>();
 105
 0106        services.AddTransient<OzonClientRepository>();
 0107        services.AddTransient<OzonClientServices>();
 0108        services.AddTransient<OzonOrderCancellationService>();
 109
 0110        services.AddTransient<OzonChatOrderRepository>();
 0111        services.AddTransient<OzonChatOrderDataServices>();
 112
 0113        services.AddTransient<OrderReturnRepository>();
 0114        services.AddTransient<OrderReturnDataServices>();
 0115        services.AddTransient<IOrderReturnSyncRunStore, OrderReturnSyncRunStore>();
 0116        services.AddTransient<IOzonReturnsSyncService, OzonReturnsSyncService>();
 0117        services.AddTransient<LoadOzonReturnsJob>();
 118
 119        // Импорт актов выдачи/приёма-передачи Ozon (JSON от "Telegram Lite")
 0120        services.AddTransient<OzonHandoverRepository>();
 0121        services.AddTransient<IOzonHandoverImportService, OzonHandoverImportService>();
 0122        services.AddSingleton<IOzonHandoverPhotoStorage, OzonHandoverPhotoStorage>();
 0123        services.AddScoped<OzonOrdersWeb.Api.OzonHandoverApiKeyFilter>();
 124
 0125        services.AddTransient<OzonChatResponseStatisticRepository>();
 0126        services.AddTransient<OzonChatResponseStatisticDataServices>();
 127
 0128        services.AddTransient<OzonChatResponseTimeRepository>();
 0129        services.AddTransient<OzonChatResponseTimeDataServices>();
 130
 131        // Ozon Push-уведомления
 0132        services.AddTransient<OzonPushNotificationRepository>();
 0133        services.AddTransient<OzonPushNotificationDataService>();
 0134        services.AddScoped<IOzonPostingCancellationService, OzonPostingCancellationService>();
 0135        services.AddSingleton<IOzonWebhookNotificationFactory, OzonWebhookNotificationFactory>();
 0136        services.AddTransient<IOzonWebhookService, OzonWebhookService>();
 0137        services.AddSingleton<OzonWebhookAvailabilityStore>();
 0138        services.AddTransient<IOzonWebhookAvailabilityService, OzonWebhookAvailabilityService>();
 0139        services.AddTransient<OzonWebhookAvailabilityJob>();
 0140        services.AddScoped<OzonIpWhitelistFilter>();
 141        // Обработчики push-уведомлений Ozon (IWebhookNotificationHandler).
 142        // Для добавления нового типа: зарегистрируйте здесь новый обработчик.
 0143        services.AddTransient<IWebhookNotificationHandler, StateChangedNotificationHandler>();
 0144        services.AddTransient<IWebhookNotificationHandler, NewPostingNotificationHandler>();
 0145        services.AddTransient<IWebhookNotificationHandler, PostingCancelledNotificationHandler>();
 146
 0147        services.AddTransient<WarehouseRepository>();
 0148        services.AddTransient<WarehouseDataServices>();
 149
 0150        services.AddTransient<ColumnMappingRepository>();
 0151        services.AddTransient<ColumnMappingDataServices>();
 152
 0153        services.AddTransient<ManufacturerRepository>();
 0154        services.AddTransient<ManufacturerDataService>();
 155
 0156        services.AddTransient<OrdersFileMetadataRepository>();
 0157        services.AddTransient<OrdersFileMetadataDataService>();
 158
 0159        services.AddTransient<MatchedResultRepository>();
 0160        services.AddTransient<MatchedResultDataServices>();
 161
 0162        services.AddTransient<MatchedRowRepository>();
 0163        services.AddTransient<MatchedRowDataServices>();
 164
 0165        services.AddTransient<AccessProfileRepository>();
 0166        services.AddTransient<AccessProfileDataServices>();
 0167        services.AddTransient<IDataScopeEvaluator, DataScopeEvaluator>();
 168
 0169        services.AddTransient<SavedMatchingColumnRepository>();
 0170        services.AddTransient<SavedMatchingColumnDataServices>();
 171
 0172        services.AddTransient<EtProducerRepository>();
 0173        services.AddTransient<EtProducerDataServices>();
 174
 0175        services.AddTransient<FileUploadRecordRepository>();
 0176        services.AddTransient<FileUploadRecordDataService>();
 177
 0178        services.AddTransient<StockDataService>();
 179
 0180        services.AddTransient<CryptographyServices>(serviceProvider =>
 0181        {
 0182            var secret = configuration.GetConnectionString("Secret");
 0183            var cryptographyServices = new CryptographyServices();
 0184            if (secret != null) cryptographyServices.SetSecret(secret);
 0185            return cryptographyServices;
 0186        });
 187
 188
 0189        services.AddTransient<ExcelParser>();
 0190        services.AddTransient<ExcelExporter>();
 0191        services.AddTransient<ExcelExporterBuilder>();
 192
 0193        services.AddTransient<CsvUrlParser>();
 0194        services.AddTransient<StocksCaster>();
 195
 196
 0197        services.AddTransient<ITransactionManager, TransactionManager>();
 0198        services.AddTransient<TransactionManager>();
 199
 0200        services.AddTransient<CurrencyRateFetcher>();
 0201        services.AddTransient<ICurrencyRateFetcher>(sp => sp.GetRequiredService<CurrencyRateFetcher>());
 0202        services.AddTransient<OrderPriceManager>();
 0203        services.AddScoped<OrderCalculationSnapshotService>();
 204
 0205        services.AddTransient<CookiesManeger>();
 0206        services.AddTransient(typeof(DataFilter<>));
 0207        services.AddTransient(typeof(QueryableDataFilter<>));
 0208        services.AddTransient<OrderDataFilterManager>();
 0209        services.AddTransient<ProductDataFilterManager>();
 0210        services.AddTransient<TransactionDataFilterManager>();
 0211        services.AddTransient<ManufacturerFilterManager>();
 0212        services.AddTransient<SupplierDataFilterManager>();
 0213        services.AddTransient<WarehouseDataFilterManager>();
 0214        services.AddTransient<AppStatusDataFilterManager>();
 0215        services.AddTransient<ExpenseTypeDataFilterManager>();
 0216        services.AddTransient<ClientStatusDataFilterManager>();
 0217        services.AddTransient<OzonClientDataFilterManager>();
 0218        services.AddTransient<UserFilterManager>();
 0219        services.AddTransient<ColumnMappingDataFilterManager>();
 0220        services.AddTransient<EtProducerFilterManager>();
 0221        services.AddTransient<OrderSortManager>();
 222
 0223        services.AddTransient<FullDetailInfoCaster>();
 0224        services.AddTransient<SubstituteResultCaster>();
 0225        services.AddTransient<OrderCaster>();
 226
 227
 0228        services.AddScoped<IDatabaseService, DatabaseService>();
 229
 0230        services.AddScoped<CategoryCacheService>();
 0231        services.AddScoped<CategoryFilterService>();
 0232        services.AddScoped<CategoryTreeService>();
 233
 0234        services.AddScoped<OrderCartRepository>();
 0235        services.AddScoped<OrderCartServices>();
 0236        services.AddScoped<OrderItemRepository>();
 237
 0238        services.AddTransient<IHangfireService, HangfireService>();
 239
 240        // Регистрируем сервис проверки соединения с Bitrix как Singleton для кэширования состояния
 0241        services.AddSingleton<OzonRepositories.Services.IBitrixConnectionService, OzonRepositories.Services.BitrixConnec
 242
 0243        services.AddScoped<IBitrixRepository, BitrixRepository>();
 0244        services.AddTransient<BitrixStockRepository>();
 0245        services.AddTransient<IBitrixStockClearJobRepository, BitrixStockClearJobRepository>();
 0246        services.AddTransient<IBitrixStockArchiveJobRepository, BitrixStockArchiveJobRepository>();
 0247        services.AddTransient<IBitrixStockUnarchiveJobRepository, BitrixStockUnarchiveJobRepository>();
 0248        services.AddTransient<IBitrixStockPushJobRepository, BitrixStockPushJobRepository>();
 0249        services.AddTransient<IBitrixStockAutoScheduleRepository, BitrixStockAutoScheduleRepository>();
 250
 0251        services.AddTransient<OrderSummaryTableBuilder>();
 0252        services.AddTransient<OzonApiDataManager>(serviceProvider =>
 0253        {
 0254            var httpClientFactory = serviceProvider.GetRequiredService<IHttpClientFactory>();
 0255            var emailService = serviceProvider.GetService<SlqStudio.Application.Services.EmailService.IEmailService>();
 0256            var clientId = configuration.GetConnectionString("ClientId");
 0257            var apiKey = configuration.GetConnectionString("ApiKey");
 0258            return new OzonApiDataManager(httpClientFactory, emailService, clientId ?? "", apiKey ?? "");
 0259        });
 260
 0261        services.AddScoped<IExcelMappingRepository, ExcelMappingRepository>();
 0262        services.AddScoped<IExcelMappingService, ExcelMappingService>();
 263
 0264        services.AddScoped<ExcludedArticleRepository>();
 0265        services.AddScoped<ExcludedArticleDataServices>();
 266
 0267        services.AddScoped<PriceHistoryRepository>();
 0268        services.AddScoped<IPriceHistoryDataService, PriceHistoryDataService>();
 269
 0270        services.AddScoped<IOrderHistoryRepository, OrderHistoryRepository>();
 0271        services.AddScoped<IOrderHistoryDataService, OrderHistoryDataService>();
 0272        services.AddScoped<Services.DataServices.OrderRollback.IOrderHistoryRollbackService, Services.DataServices.Order
 273
 0274        services.AddScoped<IOrderHistoryOneCPostingRepository, OrderHistoryOneCPostingRepository>();
 0275        services.AddScoped<IOrderHistoryOneCPostingService, OrderHistoryOneCPostingService>();
 276
 0277        services.AddScoped<IOrderShipmentTotalsRepository, OrderShipmentTotalsRepository>();
 0278        services.AddScoped<IOrderShipmentTotalsDataService, OrderShipmentTotalsDataServices>();
 279
 0280        services.AddScoped<WarehouseMappingRepository>();
 0281        services.AddScoped<WarehouseMappingDataServices>();
 282
 0283        services.AddScoped<DeliveryRepository>();
 0284        services.AddScoped<DeliveryDataServices>();
 285
 0286        services.AddTransient<ImportProductPricesManager>();
 287
 0288        services.AddScoped<PdfService>();
 289
 0290        services.AddTransient<EmailRoutingRuleRepository>();
 0291        services.AddTransient<EmailRoutingRuleDataServices>();
 0292        services.AddTransient<EmailMessageInboxRepository>();
 0293        services.AddTransient<EmailMessageInboxDataServices>();
 0294        services.AddTransient<EmailAttachmentProcessingResultRepository>();
 0295        services.AddTransient<EmailAttachmentProcessingResultDataServices>();
 0296        services.AddTransient<TransactionTimeTrackingSessionRepository>();
 0297        services.AddTransient<TransactionTimeTrackingResultRepository>();
 0298        services.AddTransient<TransactionTimeTrackingDataServices>();
 0299        services.AddScoped<WarehouseSelectionResolver>();
 300
 0301        services.AddScoped<IFileProcessingService, FileProcessingService>();
 302
 0303        services.AddScoped<ExcludedBitrixWarehouseRepository>();
 0304        services.AddScoped<ExcludedBitrixWarehouseDataServices>();
 305
 0306        services.AddScoped<OrderArchiveRepository>();
 0307        services.AddScoped<OrderArchiveDataService>();
 308
 0309        services.AddTransient<BitrixStockSavedFilterRepository>();
 0310        services.AddTransient<BitrixStockSavedFilterDataServices>();
 311
 312        // Статистика фидов
 0313        services.AddTransient<FidStatRepository>();
 0314        services.AddTransient<FidStatDataServices>();
 0315    }
 316}