Alinear BD local con esquema de produccion, login offline y publicacion portable

- 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
This commit is contained in:
Nurfog committed 2026-08-19 16:43:52 -04:00
1 parent 9068122b6b
commit fb275508ee
19 files changed
+196 -77

No files matched your search

+3 -3
View File
@@ -5,7 +5,7 @@ namespace Asistencia.Models;
public class AsistenciaProfesor
{
[Key]
public int Id { get; set; }
public int IdAsistenciaProfesor { get; set; }
public int IdCursoAbierto { get; set; }
@@ -18,12 +18,12 @@ public class AsistenciaProfesor
public string HoraInicio { get; set; } = string.Empty;
[MaxLength(10)]
public string HoraFin { get; set; } = string.Empty;
public string HoraSalida { get; set; } = string.Empty;
[MaxLength(20)]
public string Estado { get; set; } = "Activa";
public bool Temporal { get; set; }
public int Temporal { get; set; }
public CursoAbierto? CursoAbierto { get; set; }
}
+1 -1
View File
@@ -23,7 +23,7 @@ public class CursoAbierto
public DateTime FechaInicio { get; set; }
public DateTime FechaTermino { get; set; }
public DateTime FechaFin { get; set; }
[MaxLength(20)]
public string ProfesorRun { get; set; } = string.Empty;
+3 -6
View File
@@ -9,6 +9,9 @@ public class DetalleContrato
public int IdCursoAbierto { get; set; }
[MaxLength(30)]
public string IdAlumno { get; set; } = string.Empty;
[MaxLength(100)]
public string AP_Paterno { get; set; } = string.Empty;
@@ -18,12 +21,6 @@ public class DetalleContrato
[MaxLength(100)]
public string Nombres { get; set; } = string.Empty;
[MaxLength(200)]
public string Email { get; set; } = string.Empty;
[MaxLength(20)]
public string Telefono { get; set; } = string.Empty;
public CursoAbierto? CursoAbierto { get; set; }
public string NombreCompleto => $"{Nombres} {AP_Paterno} {AP_Materno}".Trim();
+5 -3
View File
@@ -12,10 +12,10 @@ public class Profesor
public string Nombre { get; set; } = string.Empty;
[MaxLength(100)]
public string Paterno { get; set; } = string.Empty;
public string ApPaterno { get; set; } = string.Empty;
[MaxLength(100)]
public string Materno { get; set; } = string.Empty;
public string ApMaterno { get; set; } = string.Empty;
[MaxLength(200)]
public string Email { get; set; } = string.Empty;
@@ -31,5 +31,7 @@ public class Profesor
public bool CrearClave { get; set; }
public string NombreCompleto => $"{Nombre} {Paterno} {Materno}".Trim();
public bool Activo { get; set; } = true;
public string NombreCompleto => $"{Nombre} {ApPaterno} {ApMaterno}".Trim();
}