- Modelos renombrados para coincidir con columnas de MariaDB (ApPaterno/ApMaterno, HoraSalida, FechaFin, IdAsistenciaProfesor) - Agregado campo IdAlumno a DetalleContrato - Seed data con IDs reales de produccion (16451, 16493, profesor 15668563-1) - Login offline: solo valida RUT contra BD local, sin contraseña - ConnectivityService: checkea internet al inicio, bloquea si hay conexion - ViewLocator corregido: busca tipos en todos los ensamblados - Todos los ViewModels heredan de ViewModelBase - Publicacion self-contained para win-x64, linux-x64, osx-x64, osx-arm64 - Agregado .gitignore, removidos bin/obj/publish del tracking
53 lines
1.6 KiB
C#
53 lines
1.6 KiB
C#
using Avalonia;
|
|
using Avalonia.Controls.ApplicationLifetimes;
|
|
using Avalonia.Markup.Xaml;
|
|
using Asistencia.ViewModels;
|
|
using Asistencia.Views;
|
|
using Asistencia.Data;
|
|
using Asistencia.Data.Repositories;
|
|
using Asistencia.Services;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
namespace Asistencia;
|
|
|
|
public partial class App : Application
|
|
{
|
|
public static IServiceProvider? Services { get; private set; }
|
|
|
|
public override void Initialize()
|
|
{
|
|
AvaloniaXamlLoader.Load(this);
|
|
}
|
|
|
|
public override void OnFrameworkInitializationCompleted()
|
|
{
|
|
var services = new ServiceCollection();
|
|
|
|
services.AddDbContext<AppDbContext>();
|
|
services.AddSingleton<ProfesorRepository>();
|
|
services.AddSingleton<CursoRepository>();
|
|
services.AddSingleton<AsistenciaRepository>();
|
|
services.AddSingleton<AuthService>();
|
|
services.AddSingleton<AsistenciaService>();
|
|
services.AddSingleton<ConnectivityService>();
|
|
services.AddSingleton<MainWindowViewModel>();
|
|
|
|
Services = services.BuildServiceProvider();
|
|
|
|
using var scope = Services.CreateScope();
|
|
var db = scope.ServiceProvider.GetRequiredService<AppDbContext>();
|
|
db.Database.EnsureCreated();
|
|
|
|
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
{
|
|
var vm = Services.GetRequiredService<MainWindowViewModel>();
|
|
desktop.MainWindow = new MainWindow
|
|
{
|
|
DataContext = vm
|
|
};
|
|
}
|
|
|
|
base.OnFrameworkInitializationCompleted();
|
|
}
|
|
}
|