Files
declaratrions-automatization/DeclarationAutomatization/App.xaml.cs
T
Dianaka123 697ae44519 feat: единый файл Лист1+СПРАВКА, фильтры, сортировка, живой п/п
- Загрузка одного .xlsx (СПРАВКА + Лист1 в одном файле)
- Рег. номера берутся из СПРАВКА автоматически, группируются по (ТН ВЭД, Страна)
- Отдельный опциональный справочник кодов (CodesImportService)
- Фильтры: Все / Авто / Проверить / Нет кода / Без нетто
- Таблица сразу отсортирована по ТН ВЭД с живым обновлением п/п
- Начальный п/п: поле в UI, автоинкремент после экспорта
- Лист2: рамки, жёлтая строка при >1 рег. номере, итого по кол-ву
- Лист3: ТН ВЭД в колонке B вместо константы 09035
- Красный ErrorMessage под кнопкой загрузки, удалён SpravkaFileEntry
2026-04-07 11:47:31 +03:00

43 lines
1.3 KiB
C#

using System.Windows;
using DeclarationAutomatization.Services;
using DeclarationAutomatization.ViewModels;
using DeclarationAutomatization.Views;
using Microsoft.Extensions.DependencyInjection;
namespace DeclarationAutomatization;
public partial class App : Application
{
private ServiceProvider? _serviceProvider;
private void OnStartup(object sender, StartupEventArgs e)
{
var services = new ServiceCollection();
ConfigureServices(services);
_serviceProvider = services.BuildServiceProvider();
var mainWindow = _serviceProvider.GetRequiredService<MainWindow>();
mainWindow.Show();
}
private static void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<Sheet1ImportService>();
services.AddSingleton<ExcelImportService>();
services.AddSingleton<CodesImportService>();
services.AddSingleton<TransformService>();
services.AddSingleton<RulesPersistenceService>();
services.AddSingleton<CodeLookupService>();
services.AddSingleton<Sheet3ExpandService>();
services.AddSingleton<ExcelExportService>();
services.AddSingleton<MainViewModel>();
services.AddSingleton<MainWindow>();
}
protected override void OnExit(ExitEventArgs e)
{
_serviceProvider?.Dispose();
base.OnExit(e);
}
}