using log4net.Config; using MasaBlazorApp3; using MasaBlazorApp3.DataAccess.Dao; using MasaBlazorApp3.DataAccess.Impl; using MasaBlazorApp3.DataAccess; using MasaBlazorApp3.Finger; using Microsoft.Extensions.DependencyInjection; using Photino.Blazor; using LinqToDB.AspNet; using LinqToDB; using Microsoft.Extensions.Configuration; using LinqToDB.AspNet.Logging; using Radzen; using MasaBlazorApp3.Pojo.Config; using MasaBlazorApp3.Port; using Toolbelt.Blazor.Extensions.DependencyInjection; internal class Program { [STAThread] private static void Main(string[] args) { var appBuilder = PhotinoBlazorAppBuilder.CreateDefault(args); appBuilder.RootComponents.Add("#app"); appBuilder.Services.AddRadzenComponents(); // 指纹机工具类 appBuilder.Services.AddSingleton(); // 串口工具类 appBuilder.Services.AddSingleton(); // 登录用户全局存放 appBuilder.Services.AddSingleton(); // 框架自带通知服务注入 appBuilder.Services.AddScoped(); appBuilder.Services.AddScoped(); appBuilder.Services.AddScoped(); // 注入log XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config")); //设置配置文件 var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .Build(); // 注入配置 appBuilder.Services.Configure(config.GetSection("finger")); appBuilder.Services.Configure(config.GetSection("setting")); appBuilder.Services.Configure(config.GetSection("port")); appBuilder.Services.Configure(config.GetSection("drawer")); appBuilder.Services.Configure(config.GetSection("fridge")); // i18n appBuilder.Services.AddI18nText(); // 数据库 appBuilder.Services.AddLinqToDBContext((provider, options) => options.UseMySql(config.GetValue("connectionStrings")) .UseDefaultLogging(provider)); // dao层数据库操作 appBuilder.Services.AddScoped(); appBuilder.Services.AddScoped(); appBuilder.Services.AddScoped(); appBuilder.Services.AddScoped(); appBuilder.Services.AddScoped(); appBuilder.Services.AddScoped(); appBuilder.Services.AddScoped(); appBuilder.Services.AddScoped(); appBuilder.Services.AddScoped(); //自选取药 appBuilder.Services.AddScoped(); //药品批次 appBuilder.Services.AddScoped(); //报表 appBuilder.Services.AddScoped(); //交接班记录 appBuilder.Services.AddScoped(); //GlobalStateService.connStr = config.GetValue("connectionStrings"); var app = appBuilder.Build(); app.MainWindow .SetHeight(768) .SetWidth(1024) .SetIconFile("favicon.ico") .SetContextMenuEnabled(false) #if DEBUG .SetFullScreen(false) #else .SetChromeless(true) .SetFullScreen(true) #endif ; AppDomain.CurrentDomain.UnhandledException += (sender, error) => { }; app.Run(); } }