using System.Data; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.EntityFrameworkCore; using SteUp.Data.LocalDb; using SteUp.Data.LocalDb.EntityServices; using SteUp.Maui.Core.Services; using SteUp.Maui.Core.System; using SteUp.Maui.Core.System.Network; using SteUp.Shared.Core.Data; using SteUp.Shared.Core.Data.Contracts; using SteUp.Shared.Core.Interface; using SteUp.Shared.Core.Interface.IntegryApi; using SteUp.Shared.Core.Interface.LocalDb; using SteUp.Shared.Core.Interface.System; using SteUp.Shared.Core.Interface.System.Network; using SteUp.Shared.Core.Services; namespace SteUp.Maui.Core; public static class CoreModule { public static void RegisterAppServices(this MauiAppBuilder builder) { builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddScoped(); } public static void RegisterIntegryServices(this MauiAppBuilder builder) { builder.Services.AddScoped(); builder.Services.AddScoped(); } public static void RegisterSystemService(this MauiAppBuilder builder) { builder.Services.AddSingleton(); builder.Services.AddSingleton(); } public static void AddAuthorizationCore(this MauiAppBuilder builder) { builder.Services.AddAuthorizationCore(); builder.Services.AddScoped(); builder.Services.AddScoped(provider => provider.GetRequiredService()); } public static void RegisterDbServices(this MauiAppBuilder builder) { builder.Services.AddSingleton(); builder.Services.AddDbContext((sp, options) => { var dbPath = sp.GetRequiredService().GetDbPath(); options.UseSqlite($"Filename={dbPath}"); }); builder.Services.AddSingleton(); builder.Services.AddSingleton(); } }