103 lines
3.8 KiB
C#
103 lines
3.8 KiB
C#
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>("#app");
|
|
appBuilder.Services.AddRadzenComponents();
|
|
// 指纹机工具类
|
|
appBuilder.Services.AddSingleton<FingerprintUtil>();
|
|
// 串口工具类
|
|
appBuilder.Services.AddSingleton<PortUtil>();
|
|
// 登录用户全局存放
|
|
appBuilder.Services.AddSingleton<GlobalStateService>();
|
|
// 框架自带通知服务注入
|
|
appBuilder.Services.AddScoped<NotificationService>();
|
|
appBuilder.Services.AddScoped<TooltipService>();
|
|
appBuilder.Services.AddScoped<DialogService>();
|
|
|
|
// 注入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<FingerPojo>(config.GetSection("finger"));
|
|
appBuilder.Services.Configure<SettingConfig>(config.GetSection("setting"));
|
|
appBuilder.Services.Configure<PortConfig>(config.GetSection("port"));
|
|
appBuilder.Services.Configure<DrawerConfig>(config.GetSection("drawer"));
|
|
appBuilder.Services.Configure<fridgeConfig>(config.GetSection("fridge"));
|
|
|
|
// i18n
|
|
appBuilder.Services.AddI18nText();
|
|
// 数据库
|
|
appBuilder.Services.AddLinqToDBContext<AppDataConnection>((provider, options) =>
|
|
options.UseMySql(config.GetValue<String>("connectionStrings"))
|
|
.UseDefaultLogging(provider));
|
|
// dao层数据库操作
|
|
appBuilder.Services.AddScoped<IUserDao, UserDao>();
|
|
appBuilder.Services.AddScoped<IRoleDao, RoleDao>();
|
|
appBuilder.Services.AddScoped<IChannelListDao, ChannelListDao>();
|
|
appBuilder.Services.AddScoped<IOrderInfoDao, OrderInfoDao>();
|
|
appBuilder.Services.AddScoped<IDrugInfoDao, DrugInfoDao>();
|
|
appBuilder.Services.AddScoped<IMachineRecordDao, MachineRecordDao>();
|
|
appBuilder.Services.AddScoped<IInOutInvoiceDao, InOutInvoiceDao>();
|
|
appBuilder.Services.AddScoped<ISettingManuDao, SettingManuDao>();
|
|
appBuilder.Services.AddScoped<IPlanDao, PlanDao>();
|
|
|
|
//自选取药
|
|
appBuilder.Services.AddScoped<ISelfTakeDao, SelfTakeDao>();
|
|
|
|
//药品批次
|
|
appBuilder.Services.AddScoped<IDrugManuNoDao, DrugManuNoDao>();
|
|
|
|
//报表
|
|
appBuilder.Services.AddScoped<IReportDataDao, ReportDataDao>();
|
|
|
|
|
|
//交接班记录
|
|
appBuilder.Services.AddScoped<IHkcChangeShiftsDao, HkcChangeShiftsDao>();
|
|
//GlobalStateService.connStr = config.GetValue<String>("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();
|
|
}
|
|
} |