diff --git a/Aspnet/AlquilaFacil.csproj b/Aspnet/AlquilaFacil.csproj index 8f39cb3..9f40be9 100644 --- a/Aspnet/AlquilaFacil.csproj +++ b/Aspnet/AlquilaFacil.csproj @@ -13,6 +13,8 @@ + + diff --git a/Aspnet/Controllers/HomeController.cs b/Aspnet/Controllers/HomeController.cs index f920a09..d26c238 100644 --- a/Aspnet/Controllers/HomeController.cs +++ b/Aspnet/Controllers/HomeController.cs @@ -1,4 +1,3 @@ -using System.Diagnostics; using Microsoft.AspNetCore.Mvc; namespace AlquilaFacil.Controllers; @@ -17,19 +16,9 @@ public class HomeController : Controller return View(); } - public IActionResult Inquilino(){ - return View(); - } - - public IActionResult Privacy() { return View(); } - public IActionResult InquilinoForm(long? id = 0) - { - return View(); - } - } diff --git a/Aspnet/Controllers/InquilinoController.cs b/Aspnet/Controllers/InquilinoController.cs index 262c275..ad68fcf 100644 --- a/Aspnet/Controllers/InquilinoController.cs +++ b/Aspnet/Controllers/InquilinoController.cs @@ -1,18 +1,14 @@ using Microsoft.AspNetCore.Mvc; -using System.Collections.Generic; using System.Text; using Entidades; -using Microsoft.EntityFrameworkCore.Metadata.Internal; namespace AlquilaFacil.Controllers; -[Route("api/inquilino")] -[ApiController] public class InquilinoController: Controller { - public List inquilinos = new List{ - }; - [HttpGet] + public List inquilinos = new List(); + + [HttpGet("api/inquilino")] public IActionResult Get(){ var htmlbuild = new StringBuilder(); @@ -24,18 +20,22 @@ public class InquilinoController: Controller return Content(htmlbuild.ToString(), "text/html"); } - [HttpPost] + [HttpPost("api/inquilino")] public IActionResult Post([FromForm] Inquilino inq){ if (inq == null) return BadRequest("Inquilino inválido."); if (inq.Dni == 0 ) return BadRequest("No se especifico dni"); if (inq.Dni < 0 ) return BadRequest("Dni Invalido"); - - + + return Redirect("/Inquilino"); return Content($"

Inquilino {inq.Nombre} agregado exitosamente.

", "text/html"); } public IActionResult Index(){ return View(); } + + public IActionResult FormAdd(){ + return View(); + } } \ No newline at end of file diff --git a/Aspnet/Controllers/LoginController.cs b/Aspnet/Controllers/LoginController.cs new file mode 100644 index 0000000..ea9c3d9 --- /dev/null +++ b/Aspnet/Controllers/LoginController.cs @@ -0,0 +1,30 @@ + + using Entidades.Dto; + using Modelo; + using Microsoft.AspNetCore.Mvc; + namespace AlquilaFacil.Controllers; + + public class LoginController: Controller + { + public IActionResult Index(){ + return View(); + } + + [HttpPost("api/login")] + public IActionResult Login([FromForm] LoginDto loginDto) { + + var usuario = RepositorioUsuarios.Singleton.CheckUsuario(loginDto); + if (usuario == null){ + return Content(errorAlert); + } + else { + Response.Headers["HX-Redirect"] = "/Home"; + return Ok(); + } + } + + private const string errorAlert = @" + "; + } \ No newline at end of file diff --git a/Aspnet/Program.cs b/Aspnet/Program.cs index f2cc8f6..0bfdf53 100644 --- a/Aspnet/Program.cs +++ b/Aspnet/Program.cs @@ -3,7 +3,6 @@ var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllers(); builder.Services.AddControllersWithViews(); -builder.Services.AddSingleton(); var app = builder.Build(); @@ -24,12 +23,12 @@ app.UseAuthorization(); app.MapControllerRoute( name: "default", - pattern: "{controller=Home}/{action=Index}/{id?}"); + pattern: "{controller=Login}/{action=Index}/{id?}"); app.UseEndpoints(endpoints => { // Mapea los controladores a las rutas predeterminadas. - endpoints.MapControllers(); + _ = endpoints.MapControllers(); }); diff --git a/Aspnet/Views/Home/Index.cshtml b/Aspnet/Views/Home/Index.cshtml index c1f876a..4af15b3 100644 --- a/Aspnet/Views/Home/Index.cshtml +++ b/Aspnet/Views/Home/Index.cshtml @@ -16,7 +16,7 @@ diff --git a/Aspnet/Views/Home/InquilinoForm.cshtml b/Aspnet/Views/Inquilino/FormAdd.cshtml similarity index 85% rename from Aspnet/Views/Home/InquilinoForm.cshtml rename to Aspnet/Views/Inquilino/FormAdd.cshtml index 7f0e904..f9e40b1 100644 --- a/Aspnet/Views/Home/InquilinoForm.cshtml +++ b/Aspnet/Views/Inquilino/FormAdd.cshtml @@ -1,5 +1,5 @@

Alta Inquilino

-
+

diff --git a/Aspnet/Views/Home/Inquilino.cshtml b/Aspnet/Views/Inquilino/Index.cshtml similarity index 92% rename from Aspnet/Views/Home/Inquilino.cshtml rename to Aspnet/Views/Inquilino/Index.cshtml index 8417115..e6f96ec 100644 --- a/Aspnet/Views/Home/Inquilino.cshtml +++ b/Aspnet/Views/Inquilino/Index.cshtml @@ -4,6 +4,7 @@ @{ Layout = "_Layout"; } +
@@ -25,7 +26,7 @@
diff --git a/Aspnet/Views/Home/Inquilinorm.cshtml b/Aspnet/Views/Inquilino/Inquilinorm.cshtml similarity index 100% rename from Aspnet/Views/Home/Inquilinorm.cshtml rename to Aspnet/Views/Inquilino/Inquilinorm.cshtml diff --git a/Aspnet/Views/Login/ErrorPopup.cshtml b/Aspnet/Views/Login/ErrorPopup.cshtml new file mode 100644 index 0000000..58d7d87 --- /dev/null +++ b/Aspnet/Views/Login/ErrorPopup.cshtml @@ -0,0 +1,5 @@ +@model Entidades.Dto.LoginDto; + + diff --git a/Aspnet/Views/Login/Index.cshtml b/Aspnet/Views/Login/Index.cshtml new file mode 100644 index 0000000..198068d --- /dev/null +++ b/Aspnet/Views/Login/Index.cshtml @@ -0,0 +1,27 @@ +@{ + ViewData["Title"] = "Login"; +} +@{ + Layout = "_basicLayout"; +} + + +
+
+
Ingresar al Sistema
+ +
+ +
+ +
+ +
+ + +
+ +
+
+ +
\ No newline at end of file diff --git a/Aspnet/Views/Shared/_basicLayout.cshtml b/Aspnet/Views/Shared/_basicLayout.cshtml new file mode 100644 index 0000000..0d10059 --- /dev/null +++ b/Aspnet/Views/Shared/_basicLayout.cshtml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + @RenderBody() + + \ No newline at end of file diff --git a/Aspnet/wwwroot/css/_Login.css b/Aspnet/wwwroot/css/_Login.css new file mode 100644 index 0000000..c0b5302 --- /dev/null +++ b/Aspnet/wwwroot/css/_Login.css @@ -0,0 +1,6 @@ +.centered { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} \ No newline at end of file diff --git a/Entidades/AlquilaFacilContext.cs b/Entidades/AlquilaFacilContext.cs index b175efd..03ff507 100644 --- a/Entidades/AlquilaFacilContext.cs +++ b/Entidades/AlquilaFacilContext.cs @@ -185,7 +185,9 @@ public partial class AlquilaFacilContext : DbContext entity.HasIndex(e => e.Cuil, "UQ__GARANTIA__F46C15900DA7BBE1").IsUnique(); - entity.Property(e => e.Dni).HasColumnName("DNI"); + entity.Property(e => e.Dni).HasColumnName("DNI") + .ValueGeneratedNever(); + entity.Property(e => e.Apellido) .HasMaxLength(50) .IsUnicode(false) @@ -321,7 +323,9 @@ public partial class AlquilaFacilContext : DbContext entity.HasIndex(e => e.Cuil, "UQ__INQUILIN__F46C1590EF9A325E").IsUnique(); - entity.Property(e => e.Dni).HasColumnName("DNI"); + entity.Property(e => e.Dni).HasColumnName("DNI") + .ValueGeneratedNever(); + entity.Property(e => e.Apellido) .HasMaxLength(50) .IsUnicode(false) @@ -385,7 +389,9 @@ public partial class AlquilaFacilContext : DbContext entity.HasIndex(e => e.Cuil, "UQ__PROPIETA__F46C15901A8D2463").IsUnique(); - entity.Property(e => e.Dni).HasColumnName("DNI"); + entity.Property(e => e.Dni).HasColumnName("DNI") + .ValueGeneratedNever(); + entity.Property(e => e.Apellido) .HasMaxLength(50) .IsUnicode(false) diff --git a/Entidades/Dto/LoginDto.cs b/Entidades/Dto/LoginDto.cs new file mode 100644 index 0000000..a276135 --- /dev/null +++ b/Entidades/Dto/LoginDto.cs @@ -0,0 +1,10 @@ +using System.ComponentModel.DataAnnotations.Schema; + +namespace Entidades.Dto; + +[NotMapped] +public class LoginDto +{ + public string Usuario {get; set;} = string.Empty; + public string Contrasena {get; set;} = string.Empty; +} \ No newline at end of file diff --git a/Entidades/Garante.cs b/Entidades/Garante.cs index b03b572..1c5b6fb 100644 --- a/Entidades/Garante.cs +++ b/Entidades/Garante.cs @@ -3,28 +3,12 @@ using System.Collections.Generic; namespace Entidades; -public partial class Garante +public partial class Garante : Usuario { - public long Dni { get; set; } - - public long Cuil { get; set; } - - public string Nombre { get; set; } = null!; - - public string Apellido { get; set; } = null!; - - public string Email { get; set; } = null!; - - public string Celular { get; set; } = null!; - - public string Domicilio { get; set; } = null!; - public string Lugartrabajo { get; set; } = null!; public string Domiciliolaboral { get; set; } = null!; - public byte[]? Contrasena { get; set; } - public virtual ICollection Idcontratos { get; set; } = new List(); public virtual ICollection Idgrupos { get; set; } = new List(); diff --git a/Entidades/Inquilino.cs b/Entidades/Inquilino.cs index f16bda7..5f2d893 100644 --- a/Entidades/Inquilino.cs +++ b/Entidades/Inquilino.cs @@ -3,24 +3,8 @@ using System.Collections.Generic; namespace Entidades; -public partial class Inquilino +public partial class Inquilino: Usuario { - public long Dni { get; set; } - - public long Cuil { get; set; } - - public string Nombre { get; set; } = null!; - - public string Apellido { get; set; } = null!; - - public string Email { get; set; } = null!; - - public string Celular { get; set; } = null!; - - public string Domicilio { get; set; } = null!; - - public byte[]? Contrasena { get; set; } - public virtual ICollection Contratos { get; set; } = new List(); public virtual ICollection Idgrupos { get; set; } = new List(); diff --git a/Entidades/Migrations/20240910000411_Ahora_saque_el_identity.Designer.cs b/Entidades/Migrations/20240910000411_Ahora_saque_el_identity.Designer.cs new file mode 100644 index 0000000..f598309 --- /dev/null +++ b/Entidades/Migrations/20240910000411_Ahora_saque_el_identity.Designer.cs @@ -0,0 +1,824 @@ +// +using System; +using Entidades; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Entidades.Migrations +{ + [DbContext(typeof(AlquilaFacilContext))] + [Migration("20240910000411_Ahora_saque_el_identity")] + partial class Ahora_saque_el_identity + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.8") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("ContratoCanon", b => + { + b.Property("Idcontrato") + .HasColumnType("int") + .HasColumnName("IDCONTRATO"); + + b.Property("Idcanon") + .HasColumnType("int") + .HasColumnName("IDCANON"); + + b.HasKey("Idcontrato", "Idcanon") + .HasName("PK__CONTRATO__EAB1D189E5C1886B"); + + b.HasIndex("Idcanon"); + + b.ToTable("CONTRATO_CANON", (string)null); + }); + + modelBuilder.Entity("ContratoDefecto", b => + { + b.Property("Idcontrato") + .HasColumnType("int") + .HasColumnName("IDCONTRATO"); + + b.Property("Iddefecto") + .HasColumnType("int") + .HasColumnName("IDDEFECTO"); + + b.HasKey("Idcontrato", "Iddefecto") + .HasName("PK__CONTRATO__3A449B2F445D3682"); + + b.HasIndex("Iddefecto"); + + b.ToTable("CONTRATO_DEFECTO", (string)null); + }); + + modelBuilder.Entity("ContratoGarantium", b => + { + b.Property("Idcontrato") + .HasColumnType("int") + .HasColumnName("IDCONTRATO"); + + b.Property("Dnigarantia") + .HasColumnType("bigint") + .HasColumnName("DNIGARANTIA"); + + b.HasKey("Idcontrato", "Dnigarantia") + .HasName("PK__CONTRATO__08D9A618A2AF4EE5"); + + b.HasIndex("Dnigarantia"); + + b.ToTable("CONTRATO_GARANTIA", (string)null); + }); + + modelBuilder.Entity("Entidades.Canon", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Idrecibo") + .HasColumnType("int") + .HasColumnName("IDRECIBO"); + + b.Property("Mes") + .HasColumnType("int") + .HasColumnName("MES"); + + b.Property("Monto") + .HasColumnType("decimal(12, 2)") + .HasColumnName("MONTO"); + + b.Property("Pagado") + .HasColumnType("bit") + .HasColumnName("PAGADO"); + + b.HasKey("Id") + .HasName("PK__CANON__3214EC27DAD9CBBD"); + + b.HasIndex("Idrecibo"); + + b.ToTable("CANON", (string)null); + }); + + modelBuilder.Entity("Entidades.Contrato", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Dniinquilino") + .HasColumnType("bigint") + .HasColumnName("DNIINQUILINO"); + + b.Property("Dnipropietario") + .HasColumnType("bigint") + .HasColumnName("DNIPROPIETARIO"); + + b.Property("Duracionmeses") + .HasColumnType("int") + .HasColumnName("DURACIONMESES"); + + b.Property("Fechainicio") + .HasColumnType("datetime") + .HasColumnName("FECHAINICIO"); + + b.Property("Idpropiedad") + .HasColumnType("int") + .HasColumnName("IDPROPIEDAD"); + + b.Property("Indiceactualizacion") + .HasColumnType("decimal(12, 2)") + .HasColumnName("INDICEACTUALIZACION"); + + b.Property("Monto") + .HasColumnType("decimal(12, 2)") + .HasColumnName("MONTO"); + + b.HasKey("Id") + .HasName("PK__CONTRATO__3214EC27314E1A88"); + + b.HasIndex("Dniinquilino"); + + b.HasIndex("Dnipropietario"); + + b.HasIndex("Idpropiedad"); + + b.ToTable("CONTRATO", (string)null); + }); + + modelBuilder.Entity("Entidades.Defecto", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Costo") + .HasColumnType("decimal(12, 2)") + .HasColumnName("COSTO"); + + b.Property("Descripcion") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DESCRIPCION"); + + b.Property("Estaarreglado") + .HasColumnType("bit") + .HasColumnName("ESTAARREGLADO"); + + b.Property("Pagainquilino") + .HasColumnType("bit") + .HasColumnName("PAGAINQUILINO"); + + b.HasKey("Id") + .HasName("PK__DEFECTO__3214EC27E043B726"); + + b.ToTable("DEFECTO", (string)null); + }); + + modelBuilder.Entity("Entidades.Garante", b => + { + b.Property("Dni") + .HasColumnType("bigint") + .HasColumnName("DNI"); + + b.Property("Apellido") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("APELLIDO"); + + b.Property("Celular") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("CELULAR"); + + b.Property("Contrasena") + .HasMaxLength(64) + .HasColumnType("varbinary(64)") + .HasColumnName("CONTRASENA"); + + b.Property("Cuil") + .HasColumnType("bigint") + .HasColumnName("CUIL"); + + b.Property("Domicilio") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DOMICILIO"); + + b.Property("Domiciliolaboral") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DOMICILIOLABORAL"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("EMAIL"); + + b.Property("Lugartrabajo") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("LUGARTRABAJO"); + + b.Property("Nombre") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("NOMBRE"); + + b.HasKey("Dni") + .HasName("PK__GARANTIA__C035B8DC8E6BAB11"); + + b.HasIndex(new[] { "Email" }, "UQ__GARANTIA__161CF724C0013CA1") + .IsUnique(); + + b.HasIndex(new[] { "Celular" }, "UQ__GARANTIA__6758673E51796017") + .IsUnique(); + + b.HasIndex(new[] { "Cuil" }, "UQ__GARANTIA__F46C15900DA7BBE1") + .IsUnique(); + + b.ToTable("GARANTIA", (string)null); + }); + + modelBuilder.Entity("Entidades.Grupo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Nombre") + .IsRequired() + .HasMaxLength(20) + .IsUnicode(false) + .HasColumnType("varchar(20)") + .HasColumnName("NOMBRE"); + + b.HasKey("Id") + .HasName("PK__GRUPO__3214EC2778FB625D"); + + b.ToTable("GRUPO", (string)null); + }); + + modelBuilder.Entity("Entidades.Inquilino", b => + { + b.Property("Dni") + .HasColumnType("bigint") + .HasColumnName("DNI"); + + b.Property("Apellido") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("APELLIDO"); + + b.Property("Celular") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("CELULAR"); + + b.Property("Contrasena") + .HasMaxLength(64) + .HasColumnType("varbinary(64)") + .HasColumnName("CONTRASENA"); + + b.Property("Cuil") + .HasColumnType("bigint") + .HasColumnName("CUIL"); + + b.Property("Domicilio") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DOMICILIO"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("EMAIL"); + + b.Property("Nombre") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("NOMBRE"); + + b.HasKey("Dni") + .HasName("PK__INQUILIN__C035B8DC051D254F"); + + b.HasIndex(new[] { "Email" }, "UQ__INQUILIN__161CF724192A8FBF") + .IsUnique(); + + b.HasIndex(new[] { "Celular" }, "UQ__INQUILIN__6758673EB3CC90D6") + .IsUnique(); + + b.HasIndex(new[] { "Cuil" }, "UQ__INQUILIN__F46C1590EF9A325E") + .IsUnique(); + + b.ToTable("INQUILINO", (string)null); + }); + + modelBuilder.Entity("Entidades.Propiedad", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Canthabitaciones") + .HasColumnType("int") + .HasColumnName("CANTHABITACIONES"); + + b.Property("Dni") + .HasColumnType("bigint") + .HasColumnName("DNI"); + + b.Property("Letra") + .HasMaxLength(2) + .IsUnicode(false) + .HasColumnType("varchar(2)") + .HasColumnName("LETRA"); + + b.Property("Piso") + .HasColumnType("int") + .HasColumnName("PISO"); + + b.Property("Tienecocina") + .HasColumnType("bit") + .HasColumnName("TIENECOCINA"); + + b.Property("Ubicacion") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("UBICACION"); + + b.HasKey("Id") + .HasName("PK__PROPIEDA__3214EC2739D8661A"); + + b.HasIndex("Dni"); + + b.ToTable("PROPIEDADES", (string)null); + }); + + modelBuilder.Entity("Entidades.Propietario", b => + { + b.Property("Dni") + .HasColumnType("bigint") + .HasColumnName("DNI"); + + b.Property("Apellido") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("APELLIDO"); + + b.Property("Celular") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("CELULAR"); + + b.Property("Contrasena") + .HasMaxLength(64) + .HasColumnType("varbinary(64)") + .HasColumnName("CONTRASENA"); + + b.Property("Cuil") + .HasColumnType("bigint") + .HasColumnName("CUIL"); + + b.Property("Domicilio") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DOMICILIO"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("EMAIL"); + + b.Property("Nombre") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("NOMBRE"); + + b.HasKey("Dni") + .HasName("PK__PROPIETA__C035B8DC136518F4"); + + b.HasIndex(new[] { "Email" }, "UQ__PROPIETA__161CF7246E3AA1B6") + .IsUnique(); + + b.HasIndex(new[] { "Celular" }, "UQ__PROPIETA__6758673E211BCB21") + .IsUnique(); + + b.HasIndex(new[] { "Cuil" }, "UQ__PROPIETA__F46C15901A8D2463") + .IsUnique(); + + b.ToTable("PROPIETARIO", (string)null); + }); + + modelBuilder.Entity("Entidades.Recibo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Mes") + .HasColumnType("int") + .HasColumnName("MES"); + + b.Property("Monto") + .HasColumnType("decimal(12, 2)") + .HasColumnName("MONTO"); + + b.HasKey("Id") + .HasName("PK__RECIBO__3214EC277135BC90"); + + b.ToTable("RECIBO", (string)null); + }); + + modelBuilder.Entity("Entidades.Rol", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Descipcion") + .IsRequired() + .HasMaxLength(20) + .IsUnicode(false) + .HasColumnType("varchar(20)") + .HasColumnName("DESCIPCION"); + + b.HasKey("Id") + .HasName("PK__ROL__3214EC27DE6A34BE"); + + b.ToTable("ROL", (string)null); + }); + + modelBuilder.Entity("Entidades.Servicio", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Descripcion") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DESCRIPCION"); + + b.HasKey("Id") + .HasName("PK__SERVICIO__3214EC27468ADAA2"); + + b.HasIndex(new[] { "Descripcion" }, "UQ__SERVICIO__794449EF1A4F44FF") + .IsUnique(); + + b.ToTable("SERVICIO", (string)null); + }); + + modelBuilder.Entity("Entidades.ServicioPropiedade", b => + { + b.Property("Idpropiedad") + .HasColumnType("int") + .HasColumnName("IDPROPIEDAD"); + + b.Property("Idservicio") + .HasColumnType("int") + .HasColumnName("IDSERVICIO"); + + b.HasIndex("Idpropiedad"); + + b.HasIndex("Idservicio"); + + b.ToTable("SERVICIO_PROPIEDADES", (string)null); + }); + + modelBuilder.Entity("GrupoGarantium", b => + { + b.Property("Idgrupo") + .HasColumnType("int") + .HasColumnName("IDGRUPO"); + + b.Property("Dnigarantia") + .HasColumnType("bigint") + .HasColumnName("DNIGARANTIA"); + + b.HasKey("Idgrupo", "Dnigarantia") + .HasName("PK__GRUPO_GA__F9F1F0A3A5F02DDF"); + + b.HasIndex("Dnigarantia"); + + b.ToTable("GRUPO_GARANTIA", (string)null); + }); + + modelBuilder.Entity("GrupoInquilino", b => + { + b.Property("Idgrupo") + .HasColumnType("int") + .HasColumnName("IDGRUPO"); + + b.Property("Dniinquilino") + .HasColumnType("bigint") + .HasColumnName("DNIINQUILINO"); + + b.HasKey("Idgrupo", "Dniinquilino") + .HasName("PK__GRUPO_IN__FC8CB8C5DC668E46"); + + b.HasIndex("Dniinquilino"); + + b.ToTable("GRUPO_INQUILINO", (string)null); + }); + + modelBuilder.Entity("GrupoPropietario", b => + { + b.Property("Idgrupo") + .HasColumnType("int") + .HasColumnName("IDGRUPO"); + + b.Property("Dnipropietario") + .HasColumnType("bigint") + .HasColumnName("DNIPROPIETARIO"); + + b.HasKey("Idgrupo", "Dnipropietario") + .HasName("PK__GRUPO_PR__D5806AB6196637D1"); + + b.HasIndex("Dnipropietario"); + + b.ToTable("GRUPO_PROPIETARIO", (string)null); + }); + + modelBuilder.Entity("GrupoRol", b => + { + b.Property("Idgrupo") + .HasColumnType("int") + .HasColumnName("IDGRUPO"); + + b.Property("Idrol") + .HasColumnType("int") + .HasColumnName("IDROL"); + + b.HasKey("Idgrupo", "Idrol") + .HasName("PK__GRUPO_RO__5035D4A88EFB1AF1"); + + b.HasIndex("Idrol"); + + b.ToTable("GRUPO_ROL", (string)null); + }); + + modelBuilder.Entity("ContratoCanon", b => + { + b.HasOne("Entidades.Canon", null) + .WithMany() + .HasForeignKey("Idcanon") + .IsRequired() + .HasConstraintName("FK__CONTRATO___IDCAN__3493CFA7"); + + b.HasOne("Entidades.Contrato", null) + .WithMany() + .HasForeignKey("Idcontrato") + .IsRequired() + .HasConstraintName("FK__CONTRATO___IDCON__339FAB6E"); + }); + + modelBuilder.Entity("ContratoDefecto", b => + { + b.HasOne("Entidades.Contrato", null) + .WithMany() + .HasForeignKey("Idcontrato") + .IsRequired() + .HasConstraintName("FK__CONTRATO___IDCON__2B0A656D"); + + b.HasOne("Entidades.Defecto", null) + .WithMany() + .HasForeignKey("Iddefecto") + .IsRequired() + .HasConstraintName("FK__CONTRATO___IDDEF__2BFE89A6"); + }); + + modelBuilder.Entity("ContratoGarantium", b => + { + b.HasOne("Entidades.Garante", null) + .WithMany() + .HasForeignKey("Dnigarantia") + .IsRequired() + .HasConstraintName("FK__CONTRATO___DNIGA__282DF8C2"); + + b.HasOne("Entidades.Contrato", null) + .WithMany() + .HasForeignKey("Idcontrato") + .IsRequired() + .HasConstraintName("FK__CONTRATO___IDCON__2739D489"); + }); + + modelBuilder.Entity("Entidades.Canon", b => + { + b.HasOne("Entidades.Recibo", "IdreciboNavigation") + .WithMany("Canons") + .HasForeignKey("Idrecibo") + .HasConstraintName("FK__CANON__IDRECIBO__540C7B00"); + + b.Navigation("IdreciboNavigation"); + }); + + modelBuilder.Entity("Entidades.Contrato", b => + { + b.HasOne("Entidades.Inquilino", "DniinquilinoNavigation") + .WithMany("Contratos") + .HasForeignKey("Dniinquilino") + .HasConstraintName("FK__CONTRATO__DNIINQ__01142BA1"); + + b.HasOne("Entidades.Propietario", "DnipropietarioNavigation") + .WithMany("Contratos") + .HasForeignKey("Dnipropietario") + .HasConstraintName("FK__CONTRATO__DNIPRO__02084FDA"); + + b.HasOne("Entidades.Propiedad", "IdpropiedadNavigation") + .WithMany("Contratos") + .HasForeignKey("Idpropiedad") + .HasConstraintName("FK__CONTRATO__IDPROP__02FC7413"); + + b.Navigation("DniinquilinoNavigation"); + + b.Navigation("DnipropietarioNavigation"); + + b.Navigation("IdpropiedadNavigation"); + }); + + modelBuilder.Entity("Entidades.Propiedad", b => + { + b.HasOne("Entidades.Propietario", "DniNavigation") + .WithMany("Propiedades") + .HasForeignKey("Dni") + .HasConstraintName("FK__PROPIEDADES__DNI__44FF419A"); + + b.Navigation("DniNavigation"); + }); + + modelBuilder.Entity("Entidades.ServicioPropiedade", b => + { + b.HasOne("Entidades.Propiedad", "IdpropiedadNavigation") + .WithMany() + .HasForeignKey("Idpropiedad") + .HasConstraintName("FK__SERVICIO___IDPRO__49C3F6B7"); + + b.HasOne("Entidades.Servicio", "IdservicioNavigation") + .WithMany() + .HasForeignKey("Idservicio") + .HasConstraintName("FK__SERVICIO___IDSER__4AB81AF0"); + + b.Navigation("IdpropiedadNavigation"); + + b.Navigation("IdservicioNavigation"); + }); + + modelBuilder.Entity("GrupoGarantium", b => + { + b.HasOne("Entidades.Garante", null) + .WithMany() + .HasForeignKey("Dnigarantia") + .IsRequired() + .HasConstraintName("FK__GRUPO_GAR__DNIGA__46B27FE2"); + + b.HasOne("Entidades.Grupo", null) + .WithMany() + .HasForeignKey("Idgrupo") + .IsRequired() + .HasConstraintName("FK__GRUPO_GAR__IDGRU__45BE5BA9"); + }); + + modelBuilder.Entity("GrupoInquilino", b => + { + b.HasOne("Entidades.Inquilino", null) + .WithMany() + .HasForeignKey("Dniinquilino") + .IsRequired() + .HasConstraintName("FK__GRUPO_INQ__DNIIN__40058253"); + + b.HasOne("Entidades.Grupo", null) + .WithMany() + .HasForeignKey("Idgrupo") + .IsRequired() + .HasConstraintName("FK__GRUPO_INQ__IDGRU__3F115E1A"); + }); + + modelBuilder.Entity("GrupoPropietario", b => + { + b.HasOne("Entidades.Propietario", null) + .WithMany() + .HasForeignKey("Dnipropietario") + .IsRequired() + .HasConstraintName("FK__GRUPO_PRO__DNIPR__4A8310C6"); + + b.HasOne("Entidades.Grupo", null) + .WithMany() + .HasForeignKey("Idgrupo") + .IsRequired() + .HasConstraintName("FK__GRUPO_PRO__IDGRU__498EEC8D"); + }); + + modelBuilder.Entity("GrupoRol", b => + { + b.HasOne("Entidades.Grupo", null) + .WithMany() + .HasForeignKey("Idgrupo") + .IsRequired() + .HasConstraintName("FK__GRUPO_ROL__IDGRU__3B40CD36"); + + b.HasOne("Entidades.Rol", null) + .WithMany() + .HasForeignKey("Idrol") + .IsRequired() + .HasConstraintName("FK__GRUPO_ROL__IDROL__3C34F16F"); + }); + + modelBuilder.Entity("Entidades.Inquilino", b => + { + b.Navigation("Contratos"); + }); + + modelBuilder.Entity("Entidades.Propiedad", b => + { + b.Navigation("Contratos"); + }); + + modelBuilder.Entity("Entidades.Propietario", b => + { + b.Navigation("Contratos"); + + b.Navigation("Propiedades"); + }); + + modelBuilder.Entity("Entidades.Recibo", b => + { + b.Navigation("Canons"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Entidades/Migrations/20240910000411_Ahora_saque_el_identity.cs b/Entidades/Migrations/20240910000411_Ahora_saque_el_identity.cs new file mode 100644 index 0000000..29ca68c --- /dev/null +++ b/Entidades/Migrations/20240910000411_Ahora_saque_el_identity.cs @@ -0,0 +1,584 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Entidades.Migrations +{ + /// + public partial class Ahora_saque_el_identity : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "DEFECTO", + columns: table => new + { + ID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + DESCRIPCION = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + ESTAARREGLADO = table.Column(type: "bit", nullable: false), + COSTO = table.Column(type: "decimal(12,2)", nullable: false), + PAGAINQUILINO = table.Column(type: "bit", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__DEFECTO__3214EC27E043B726", x => x.ID); + }); + + migrationBuilder.CreateTable( + name: "GARANTIA", + columns: table => new + { + DNI = table.Column(type: "bigint", nullable: false), + LUGARTRABAJO = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + DOMICILIOLABORAL = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + CUIL = table.Column(type: "bigint", nullable: false), + NOMBRE = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + APELLIDO = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + EMAIL = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + CELULAR = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + DOMICILIO = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + CONTRASENA = table.Column(type: "varbinary(64)", maxLength: 64, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK__GARANTIA__C035B8DC8E6BAB11", x => x.DNI); + }); + + migrationBuilder.CreateTable( + name: "GRUPO", + columns: table => new + { + ID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + NOMBRE = table.Column(type: "varchar(20)", unicode: false, maxLength: 20, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__GRUPO__3214EC2778FB625D", x => x.ID); + }); + + migrationBuilder.CreateTable( + name: "INQUILINO", + columns: table => new + { + DNI = table.Column(type: "bigint", nullable: false), + CUIL = table.Column(type: "bigint", nullable: false), + NOMBRE = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + APELLIDO = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + EMAIL = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + CELULAR = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + DOMICILIO = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + CONTRASENA = table.Column(type: "varbinary(64)", maxLength: 64, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK__INQUILIN__C035B8DC051D254F", x => x.DNI); + }); + + migrationBuilder.CreateTable( + name: "PROPIETARIO", + columns: table => new + { + DNI = table.Column(type: "bigint", nullable: false), + CUIL = table.Column(type: "bigint", nullable: false), + NOMBRE = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + APELLIDO = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + EMAIL = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + CELULAR = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + DOMICILIO = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + CONTRASENA = table.Column(type: "varbinary(64)", maxLength: 64, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK__PROPIETA__C035B8DC136518F4", x => x.DNI); + }); + + migrationBuilder.CreateTable( + name: "RECIBO", + columns: table => new + { + ID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + MES = table.Column(type: "int", nullable: false), + MONTO = table.Column(type: "decimal(12,2)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__RECIBO__3214EC277135BC90", x => x.ID); + }); + + migrationBuilder.CreateTable( + name: "ROL", + columns: table => new + { + ID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + DESCIPCION = table.Column(type: "varchar(20)", unicode: false, maxLength: 20, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__ROL__3214EC27DE6A34BE", x => x.ID); + }); + + migrationBuilder.CreateTable( + name: "SERVICIO", + columns: table => new + { + ID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + DESCRIPCION = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__SERVICIO__3214EC27468ADAA2", x => x.ID); + }); + + migrationBuilder.CreateTable( + name: "GRUPO_GARANTIA", + columns: table => new + { + IDGRUPO = table.Column(type: "int", nullable: false), + DNIGARANTIA = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__GRUPO_GA__F9F1F0A3A5F02DDF", x => new { x.IDGRUPO, x.DNIGARANTIA }); + table.ForeignKey( + name: "FK__GRUPO_GAR__DNIGA__46B27FE2", + column: x => x.DNIGARANTIA, + principalTable: "GARANTIA", + principalColumn: "DNI"); + table.ForeignKey( + name: "FK__GRUPO_GAR__IDGRU__45BE5BA9", + column: x => x.IDGRUPO, + principalTable: "GRUPO", + principalColumn: "ID"); + }); + + migrationBuilder.CreateTable( + name: "GRUPO_INQUILINO", + columns: table => new + { + IDGRUPO = table.Column(type: "int", nullable: false), + DNIINQUILINO = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__GRUPO_IN__FC8CB8C5DC668E46", x => new { x.IDGRUPO, x.DNIINQUILINO }); + table.ForeignKey( + name: "FK__GRUPO_INQ__DNIIN__40058253", + column: x => x.DNIINQUILINO, + principalTable: "INQUILINO", + principalColumn: "DNI"); + table.ForeignKey( + name: "FK__GRUPO_INQ__IDGRU__3F115E1A", + column: x => x.IDGRUPO, + principalTable: "GRUPO", + principalColumn: "ID"); + }); + + migrationBuilder.CreateTable( + name: "GRUPO_PROPIETARIO", + columns: table => new + { + IDGRUPO = table.Column(type: "int", nullable: false), + DNIPROPIETARIO = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__GRUPO_PR__D5806AB6196637D1", x => new { x.IDGRUPO, x.DNIPROPIETARIO }); + table.ForeignKey( + name: "FK__GRUPO_PRO__DNIPR__4A8310C6", + column: x => x.DNIPROPIETARIO, + principalTable: "PROPIETARIO", + principalColumn: "DNI"); + table.ForeignKey( + name: "FK__GRUPO_PRO__IDGRU__498EEC8D", + column: x => x.IDGRUPO, + principalTable: "GRUPO", + principalColumn: "ID"); + }); + + migrationBuilder.CreateTable( + name: "PROPIEDADES", + columns: table => new + { + ID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + DNI = table.Column(type: "bigint", nullable: true), + UBICACION = table.Column(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false), + CANTHABITACIONES = table.Column(type: "int", nullable: true), + TIENECOCINA = table.Column(type: "bit", nullable: true), + PISO = table.Column(type: "int", nullable: true), + LETRA = table.Column(type: "varchar(2)", unicode: false, maxLength: 2, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK__PROPIEDA__3214EC2739D8661A", x => x.ID); + table.ForeignKey( + name: "FK__PROPIEDADES__DNI__44FF419A", + column: x => x.DNI, + principalTable: "PROPIETARIO", + principalColumn: "DNI"); + }); + + migrationBuilder.CreateTable( + name: "CANON", + columns: table => new + { + ID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + MES = table.Column(type: "int", nullable: false), + MONTO = table.Column(type: "decimal(12,2)", nullable: false), + PAGADO = table.Column(type: "bit", nullable: false), + IDRECIBO = table.Column(type: "int", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK__CANON__3214EC27DAD9CBBD", x => x.ID); + table.ForeignKey( + name: "FK__CANON__IDRECIBO__540C7B00", + column: x => x.IDRECIBO, + principalTable: "RECIBO", + principalColumn: "ID"); + }); + + migrationBuilder.CreateTable( + name: "GRUPO_ROL", + columns: table => new + { + IDGRUPO = table.Column(type: "int", nullable: false), + IDROL = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__GRUPO_RO__5035D4A88EFB1AF1", x => new { x.IDGRUPO, x.IDROL }); + table.ForeignKey( + name: "FK__GRUPO_ROL__IDGRU__3B40CD36", + column: x => x.IDGRUPO, + principalTable: "GRUPO", + principalColumn: "ID"); + table.ForeignKey( + name: "FK__GRUPO_ROL__IDROL__3C34F16F", + column: x => x.IDROL, + principalTable: "ROL", + principalColumn: "ID"); + }); + + migrationBuilder.CreateTable( + name: "CONTRATO", + columns: table => new + { + ID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + FECHAINICIO = table.Column(type: "datetime", nullable: false), + INDICEACTUALIZACION = table.Column(type: "decimal(12,2)", nullable: false), + MONTO = table.Column(type: "decimal(12,2)", nullable: false), + DURACIONMESES = table.Column(type: "int", nullable: false), + DNIINQUILINO = table.Column(type: "bigint", nullable: true), + DNIPROPIETARIO = table.Column(type: "bigint", nullable: true), + IDPROPIEDAD = table.Column(type: "int", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK__CONTRATO__3214EC27314E1A88", x => x.ID); + table.ForeignKey( + name: "FK__CONTRATO__DNIINQ__01142BA1", + column: x => x.DNIINQUILINO, + principalTable: "INQUILINO", + principalColumn: "DNI"); + table.ForeignKey( + name: "FK__CONTRATO__DNIPRO__02084FDA", + column: x => x.DNIPROPIETARIO, + principalTable: "PROPIETARIO", + principalColumn: "DNI"); + table.ForeignKey( + name: "FK__CONTRATO__IDPROP__02FC7413", + column: x => x.IDPROPIEDAD, + principalTable: "PROPIEDADES", + principalColumn: "ID"); + }); + + migrationBuilder.CreateTable( + name: "SERVICIO_PROPIEDADES", + columns: table => new + { + IDPROPIEDAD = table.Column(type: "int", nullable: true), + IDSERVICIO = table.Column(type: "int", nullable: true) + }, + constraints: table => + { + table.ForeignKey( + name: "FK__SERVICIO___IDPRO__49C3F6B7", + column: x => x.IDPROPIEDAD, + principalTable: "PROPIEDADES", + principalColumn: "ID"); + table.ForeignKey( + name: "FK__SERVICIO___IDSER__4AB81AF0", + column: x => x.IDSERVICIO, + principalTable: "SERVICIO", + principalColumn: "ID"); + }); + + migrationBuilder.CreateTable( + name: "CONTRATO_CANON", + columns: table => new + { + IDCONTRATO = table.Column(type: "int", nullable: false), + IDCANON = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__CONTRATO__EAB1D189E5C1886B", x => new { x.IDCONTRATO, x.IDCANON }); + table.ForeignKey( + name: "FK__CONTRATO___IDCAN__3493CFA7", + column: x => x.IDCANON, + principalTable: "CANON", + principalColumn: "ID"); + table.ForeignKey( + name: "FK__CONTRATO___IDCON__339FAB6E", + column: x => x.IDCONTRATO, + principalTable: "CONTRATO", + principalColumn: "ID"); + }); + + migrationBuilder.CreateTable( + name: "CONTRATO_DEFECTO", + columns: table => new + { + IDCONTRATO = table.Column(type: "int", nullable: false), + IDDEFECTO = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__CONTRATO__3A449B2F445D3682", x => new { x.IDCONTRATO, x.IDDEFECTO }); + table.ForeignKey( + name: "FK__CONTRATO___IDCON__2B0A656D", + column: x => x.IDCONTRATO, + principalTable: "CONTRATO", + principalColumn: "ID"); + table.ForeignKey( + name: "FK__CONTRATO___IDDEF__2BFE89A6", + column: x => x.IDDEFECTO, + principalTable: "DEFECTO", + principalColumn: "ID"); + }); + + migrationBuilder.CreateTable( + name: "CONTRATO_GARANTIA", + columns: table => new + { + IDCONTRATO = table.Column(type: "int", nullable: false), + DNIGARANTIA = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK__CONTRATO__08D9A618A2AF4EE5", x => new { x.IDCONTRATO, x.DNIGARANTIA }); + table.ForeignKey( + name: "FK__CONTRATO___DNIGA__282DF8C2", + column: x => x.DNIGARANTIA, + principalTable: "GARANTIA", + principalColumn: "DNI"); + table.ForeignKey( + name: "FK__CONTRATO___IDCON__2739D489", + column: x => x.IDCONTRATO, + principalTable: "CONTRATO", + principalColumn: "ID"); + }); + + migrationBuilder.CreateIndex( + name: "IX_CANON_IDRECIBO", + table: "CANON", + column: "IDRECIBO"); + + migrationBuilder.CreateIndex( + name: "IX_CONTRATO_DNIINQUILINO", + table: "CONTRATO", + column: "DNIINQUILINO"); + + migrationBuilder.CreateIndex( + name: "IX_CONTRATO_DNIPROPIETARIO", + table: "CONTRATO", + column: "DNIPROPIETARIO"); + + migrationBuilder.CreateIndex( + name: "IX_CONTRATO_IDPROPIEDAD", + table: "CONTRATO", + column: "IDPROPIEDAD"); + + migrationBuilder.CreateIndex( + name: "IX_CONTRATO_CANON_IDCANON", + table: "CONTRATO_CANON", + column: "IDCANON"); + + migrationBuilder.CreateIndex( + name: "IX_CONTRATO_DEFECTO_IDDEFECTO", + table: "CONTRATO_DEFECTO", + column: "IDDEFECTO"); + + migrationBuilder.CreateIndex( + name: "IX_CONTRATO_GARANTIA_DNIGARANTIA", + table: "CONTRATO_GARANTIA", + column: "DNIGARANTIA"); + + migrationBuilder.CreateIndex( + name: "UQ__GARANTIA__161CF724C0013CA1", + table: "GARANTIA", + column: "EMAIL", + unique: true); + + migrationBuilder.CreateIndex( + name: "UQ__GARANTIA__6758673E51796017", + table: "GARANTIA", + column: "CELULAR", + unique: true); + + migrationBuilder.CreateIndex( + name: "UQ__GARANTIA__F46C15900DA7BBE1", + table: "GARANTIA", + column: "CUIL", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_GRUPO_GARANTIA_DNIGARANTIA", + table: "GRUPO_GARANTIA", + column: "DNIGARANTIA"); + + migrationBuilder.CreateIndex( + name: "IX_GRUPO_INQUILINO_DNIINQUILINO", + table: "GRUPO_INQUILINO", + column: "DNIINQUILINO"); + + migrationBuilder.CreateIndex( + name: "IX_GRUPO_PROPIETARIO_DNIPROPIETARIO", + table: "GRUPO_PROPIETARIO", + column: "DNIPROPIETARIO"); + + migrationBuilder.CreateIndex( + name: "IX_GRUPO_ROL_IDROL", + table: "GRUPO_ROL", + column: "IDROL"); + + migrationBuilder.CreateIndex( + name: "UQ__INQUILIN__161CF724192A8FBF", + table: "INQUILINO", + column: "EMAIL", + unique: true); + + migrationBuilder.CreateIndex( + name: "UQ__INQUILIN__6758673EB3CC90D6", + table: "INQUILINO", + column: "CELULAR", + unique: true); + + migrationBuilder.CreateIndex( + name: "UQ__INQUILIN__F46C1590EF9A325E", + table: "INQUILINO", + column: "CUIL", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_PROPIEDADES_DNI", + table: "PROPIEDADES", + column: "DNI"); + + migrationBuilder.CreateIndex( + name: "UQ__PROPIETA__161CF7246E3AA1B6", + table: "PROPIETARIO", + column: "EMAIL", + unique: true); + + migrationBuilder.CreateIndex( + name: "UQ__PROPIETA__6758673E211BCB21", + table: "PROPIETARIO", + column: "CELULAR", + unique: true); + + migrationBuilder.CreateIndex( + name: "UQ__PROPIETA__F46C15901A8D2463", + table: "PROPIETARIO", + column: "CUIL", + unique: true); + + migrationBuilder.CreateIndex( + name: "UQ__SERVICIO__794449EF1A4F44FF", + table: "SERVICIO", + column: "DESCRIPCION", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_SERVICIO_PROPIEDADES_IDPROPIEDAD", + table: "SERVICIO_PROPIEDADES", + column: "IDPROPIEDAD"); + + migrationBuilder.CreateIndex( + name: "IX_SERVICIO_PROPIEDADES_IDSERVICIO", + table: "SERVICIO_PROPIEDADES", + column: "IDSERVICIO"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "CONTRATO_CANON"); + + migrationBuilder.DropTable( + name: "CONTRATO_DEFECTO"); + + migrationBuilder.DropTable( + name: "CONTRATO_GARANTIA"); + + migrationBuilder.DropTable( + name: "GRUPO_GARANTIA"); + + migrationBuilder.DropTable( + name: "GRUPO_INQUILINO"); + + migrationBuilder.DropTable( + name: "GRUPO_PROPIETARIO"); + + migrationBuilder.DropTable( + name: "GRUPO_ROL"); + + migrationBuilder.DropTable( + name: "SERVICIO_PROPIEDADES"); + + migrationBuilder.DropTable( + name: "CANON"); + + migrationBuilder.DropTable( + name: "DEFECTO"); + + migrationBuilder.DropTable( + name: "CONTRATO"); + + migrationBuilder.DropTable( + name: "GARANTIA"); + + migrationBuilder.DropTable( + name: "GRUPO"); + + migrationBuilder.DropTable( + name: "ROL"); + + migrationBuilder.DropTable( + name: "SERVICIO"); + + migrationBuilder.DropTable( + name: "RECIBO"); + + migrationBuilder.DropTable( + name: "INQUILINO"); + + migrationBuilder.DropTable( + name: "PROPIEDADES"); + + migrationBuilder.DropTable( + name: "PROPIETARIO"); + } + } +} diff --git a/Entidades/Migrations/AlquilaFacilContextModelSnapshot.cs b/Entidades/Migrations/AlquilaFacilContextModelSnapshot.cs new file mode 100644 index 0000000..59d19f7 --- /dev/null +++ b/Entidades/Migrations/AlquilaFacilContextModelSnapshot.cs @@ -0,0 +1,821 @@ +// +using System; +using Entidades; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Entidades.Migrations +{ + [DbContext(typeof(AlquilaFacilContext))] + partial class AlquilaFacilContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.8") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("ContratoCanon", b => + { + b.Property("Idcontrato") + .HasColumnType("int") + .HasColumnName("IDCONTRATO"); + + b.Property("Idcanon") + .HasColumnType("int") + .HasColumnName("IDCANON"); + + b.HasKey("Idcontrato", "Idcanon") + .HasName("PK__CONTRATO__EAB1D189E5C1886B"); + + b.HasIndex("Idcanon"); + + b.ToTable("CONTRATO_CANON", (string)null); + }); + + modelBuilder.Entity("ContratoDefecto", b => + { + b.Property("Idcontrato") + .HasColumnType("int") + .HasColumnName("IDCONTRATO"); + + b.Property("Iddefecto") + .HasColumnType("int") + .HasColumnName("IDDEFECTO"); + + b.HasKey("Idcontrato", "Iddefecto") + .HasName("PK__CONTRATO__3A449B2F445D3682"); + + b.HasIndex("Iddefecto"); + + b.ToTable("CONTRATO_DEFECTO", (string)null); + }); + + modelBuilder.Entity("ContratoGarantium", b => + { + b.Property("Idcontrato") + .HasColumnType("int") + .HasColumnName("IDCONTRATO"); + + b.Property("Dnigarantia") + .HasColumnType("bigint") + .HasColumnName("DNIGARANTIA"); + + b.HasKey("Idcontrato", "Dnigarantia") + .HasName("PK__CONTRATO__08D9A618A2AF4EE5"); + + b.HasIndex("Dnigarantia"); + + b.ToTable("CONTRATO_GARANTIA", (string)null); + }); + + modelBuilder.Entity("Entidades.Canon", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Idrecibo") + .HasColumnType("int") + .HasColumnName("IDRECIBO"); + + b.Property("Mes") + .HasColumnType("int") + .HasColumnName("MES"); + + b.Property("Monto") + .HasColumnType("decimal(12, 2)") + .HasColumnName("MONTO"); + + b.Property("Pagado") + .HasColumnType("bit") + .HasColumnName("PAGADO"); + + b.HasKey("Id") + .HasName("PK__CANON__3214EC27DAD9CBBD"); + + b.HasIndex("Idrecibo"); + + b.ToTable("CANON", (string)null); + }); + + modelBuilder.Entity("Entidades.Contrato", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Dniinquilino") + .HasColumnType("bigint") + .HasColumnName("DNIINQUILINO"); + + b.Property("Dnipropietario") + .HasColumnType("bigint") + .HasColumnName("DNIPROPIETARIO"); + + b.Property("Duracionmeses") + .HasColumnType("int") + .HasColumnName("DURACIONMESES"); + + b.Property("Fechainicio") + .HasColumnType("datetime") + .HasColumnName("FECHAINICIO"); + + b.Property("Idpropiedad") + .HasColumnType("int") + .HasColumnName("IDPROPIEDAD"); + + b.Property("Indiceactualizacion") + .HasColumnType("decimal(12, 2)") + .HasColumnName("INDICEACTUALIZACION"); + + b.Property("Monto") + .HasColumnType("decimal(12, 2)") + .HasColumnName("MONTO"); + + b.HasKey("Id") + .HasName("PK__CONTRATO__3214EC27314E1A88"); + + b.HasIndex("Dniinquilino"); + + b.HasIndex("Dnipropietario"); + + b.HasIndex("Idpropiedad"); + + b.ToTable("CONTRATO", (string)null); + }); + + modelBuilder.Entity("Entidades.Defecto", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Costo") + .HasColumnType("decimal(12, 2)") + .HasColumnName("COSTO"); + + b.Property("Descripcion") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DESCRIPCION"); + + b.Property("Estaarreglado") + .HasColumnType("bit") + .HasColumnName("ESTAARREGLADO"); + + b.Property("Pagainquilino") + .HasColumnType("bit") + .HasColumnName("PAGAINQUILINO"); + + b.HasKey("Id") + .HasName("PK__DEFECTO__3214EC27E043B726"); + + b.ToTable("DEFECTO", (string)null); + }); + + modelBuilder.Entity("Entidades.Garante", b => + { + b.Property("Dni") + .HasColumnType("bigint") + .HasColumnName("DNI"); + + b.Property("Apellido") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("APELLIDO"); + + b.Property("Celular") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("CELULAR"); + + b.Property("Contrasena") + .HasMaxLength(64) + .HasColumnType("varbinary(64)") + .HasColumnName("CONTRASENA"); + + b.Property("Cuil") + .HasColumnType("bigint") + .HasColumnName("CUIL"); + + b.Property("Domicilio") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DOMICILIO"); + + b.Property("Domiciliolaboral") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DOMICILIOLABORAL"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("EMAIL"); + + b.Property("Lugartrabajo") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("LUGARTRABAJO"); + + b.Property("Nombre") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("NOMBRE"); + + b.HasKey("Dni") + .HasName("PK__GARANTIA__C035B8DC8E6BAB11"); + + b.HasIndex(new[] { "Email" }, "UQ__GARANTIA__161CF724C0013CA1") + .IsUnique(); + + b.HasIndex(new[] { "Celular" }, "UQ__GARANTIA__6758673E51796017") + .IsUnique(); + + b.HasIndex(new[] { "Cuil" }, "UQ__GARANTIA__F46C15900DA7BBE1") + .IsUnique(); + + b.ToTable("GARANTIA", (string)null); + }); + + modelBuilder.Entity("Entidades.Grupo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Nombre") + .IsRequired() + .HasMaxLength(20) + .IsUnicode(false) + .HasColumnType("varchar(20)") + .HasColumnName("NOMBRE"); + + b.HasKey("Id") + .HasName("PK__GRUPO__3214EC2778FB625D"); + + b.ToTable("GRUPO", (string)null); + }); + + modelBuilder.Entity("Entidades.Inquilino", b => + { + b.Property("Dni") + .HasColumnType("bigint") + .HasColumnName("DNI"); + + b.Property("Apellido") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("APELLIDO"); + + b.Property("Celular") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("CELULAR"); + + b.Property("Contrasena") + .HasMaxLength(64) + .HasColumnType("varbinary(64)") + .HasColumnName("CONTRASENA"); + + b.Property("Cuil") + .HasColumnType("bigint") + .HasColumnName("CUIL"); + + b.Property("Domicilio") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DOMICILIO"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("EMAIL"); + + b.Property("Nombre") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("NOMBRE"); + + b.HasKey("Dni") + .HasName("PK__INQUILIN__C035B8DC051D254F"); + + b.HasIndex(new[] { "Email" }, "UQ__INQUILIN__161CF724192A8FBF") + .IsUnique(); + + b.HasIndex(new[] { "Celular" }, "UQ__INQUILIN__6758673EB3CC90D6") + .IsUnique(); + + b.HasIndex(new[] { "Cuil" }, "UQ__INQUILIN__F46C1590EF9A325E") + .IsUnique(); + + b.ToTable("INQUILINO", (string)null); + }); + + modelBuilder.Entity("Entidades.Propiedad", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Canthabitaciones") + .HasColumnType("int") + .HasColumnName("CANTHABITACIONES"); + + b.Property("Dni") + .HasColumnType("bigint") + .HasColumnName("DNI"); + + b.Property("Letra") + .HasMaxLength(2) + .IsUnicode(false) + .HasColumnType("varchar(2)") + .HasColumnName("LETRA"); + + b.Property("Piso") + .HasColumnType("int") + .HasColumnName("PISO"); + + b.Property("Tienecocina") + .HasColumnType("bit") + .HasColumnName("TIENECOCINA"); + + b.Property("Ubicacion") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("UBICACION"); + + b.HasKey("Id") + .HasName("PK__PROPIEDA__3214EC2739D8661A"); + + b.HasIndex("Dni"); + + b.ToTable("PROPIEDADES", (string)null); + }); + + modelBuilder.Entity("Entidades.Propietario", b => + { + b.Property("Dni") + .HasColumnType("bigint") + .HasColumnName("DNI"); + + b.Property("Apellido") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("APELLIDO"); + + b.Property("Celular") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("CELULAR"); + + b.Property("Contrasena") + .HasMaxLength(64) + .HasColumnType("varbinary(64)") + .HasColumnName("CONTRASENA"); + + b.Property("Cuil") + .HasColumnType("bigint") + .HasColumnName("CUIL"); + + b.Property("Domicilio") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DOMICILIO"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("EMAIL"); + + b.Property("Nombre") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("NOMBRE"); + + b.HasKey("Dni") + .HasName("PK__PROPIETA__C035B8DC136518F4"); + + b.HasIndex(new[] { "Email" }, "UQ__PROPIETA__161CF7246E3AA1B6") + .IsUnique(); + + b.HasIndex(new[] { "Celular" }, "UQ__PROPIETA__6758673E211BCB21") + .IsUnique(); + + b.HasIndex(new[] { "Cuil" }, "UQ__PROPIETA__F46C15901A8D2463") + .IsUnique(); + + b.ToTable("PROPIETARIO", (string)null); + }); + + modelBuilder.Entity("Entidades.Recibo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Mes") + .HasColumnType("int") + .HasColumnName("MES"); + + b.Property("Monto") + .HasColumnType("decimal(12, 2)") + .HasColumnName("MONTO"); + + b.HasKey("Id") + .HasName("PK__RECIBO__3214EC277135BC90"); + + b.ToTable("RECIBO", (string)null); + }); + + modelBuilder.Entity("Entidades.Rol", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Descipcion") + .IsRequired() + .HasMaxLength(20) + .IsUnicode(false) + .HasColumnType("varchar(20)") + .HasColumnName("DESCIPCION"); + + b.HasKey("Id") + .HasName("PK__ROL__3214EC27DE6A34BE"); + + b.ToTable("ROL", (string)null); + }); + + modelBuilder.Entity("Entidades.Servicio", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("ID"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Descripcion") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("DESCRIPCION"); + + b.HasKey("Id") + .HasName("PK__SERVICIO__3214EC27468ADAA2"); + + b.HasIndex(new[] { "Descripcion" }, "UQ__SERVICIO__794449EF1A4F44FF") + .IsUnique(); + + b.ToTable("SERVICIO", (string)null); + }); + + modelBuilder.Entity("Entidades.ServicioPropiedade", b => + { + b.Property("Idpropiedad") + .HasColumnType("int") + .HasColumnName("IDPROPIEDAD"); + + b.Property("Idservicio") + .HasColumnType("int") + .HasColumnName("IDSERVICIO"); + + b.HasIndex("Idpropiedad"); + + b.HasIndex("Idservicio"); + + b.ToTable("SERVICIO_PROPIEDADES", (string)null); + }); + + modelBuilder.Entity("GrupoGarantium", b => + { + b.Property("Idgrupo") + .HasColumnType("int") + .HasColumnName("IDGRUPO"); + + b.Property("Dnigarantia") + .HasColumnType("bigint") + .HasColumnName("DNIGARANTIA"); + + b.HasKey("Idgrupo", "Dnigarantia") + .HasName("PK__GRUPO_GA__F9F1F0A3A5F02DDF"); + + b.HasIndex("Dnigarantia"); + + b.ToTable("GRUPO_GARANTIA", (string)null); + }); + + modelBuilder.Entity("GrupoInquilino", b => + { + b.Property("Idgrupo") + .HasColumnType("int") + .HasColumnName("IDGRUPO"); + + b.Property("Dniinquilino") + .HasColumnType("bigint") + .HasColumnName("DNIINQUILINO"); + + b.HasKey("Idgrupo", "Dniinquilino") + .HasName("PK__GRUPO_IN__FC8CB8C5DC668E46"); + + b.HasIndex("Dniinquilino"); + + b.ToTable("GRUPO_INQUILINO", (string)null); + }); + + modelBuilder.Entity("GrupoPropietario", b => + { + b.Property("Idgrupo") + .HasColumnType("int") + .HasColumnName("IDGRUPO"); + + b.Property("Dnipropietario") + .HasColumnType("bigint") + .HasColumnName("DNIPROPIETARIO"); + + b.HasKey("Idgrupo", "Dnipropietario") + .HasName("PK__GRUPO_PR__D5806AB6196637D1"); + + b.HasIndex("Dnipropietario"); + + b.ToTable("GRUPO_PROPIETARIO", (string)null); + }); + + modelBuilder.Entity("GrupoRol", b => + { + b.Property("Idgrupo") + .HasColumnType("int") + .HasColumnName("IDGRUPO"); + + b.Property("Idrol") + .HasColumnType("int") + .HasColumnName("IDROL"); + + b.HasKey("Idgrupo", "Idrol") + .HasName("PK__GRUPO_RO__5035D4A88EFB1AF1"); + + b.HasIndex("Idrol"); + + b.ToTable("GRUPO_ROL", (string)null); + }); + + modelBuilder.Entity("ContratoCanon", b => + { + b.HasOne("Entidades.Canon", null) + .WithMany() + .HasForeignKey("Idcanon") + .IsRequired() + .HasConstraintName("FK__CONTRATO___IDCAN__3493CFA7"); + + b.HasOne("Entidades.Contrato", null) + .WithMany() + .HasForeignKey("Idcontrato") + .IsRequired() + .HasConstraintName("FK__CONTRATO___IDCON__339FAB6E"); + }); + + modelBuilder.Entity("ContratoDefecto", b => + { + b.HasOne("Entidades.Contrato", null) + .WithMany() + .HasForeignKey("Idcontrato") + .IsRequired() + .HasConstraintName("FK__CONTRATO___IDCON__2B0A656D"); + + b.HasOne("Entidades.Defecto", null) + .WithMany() + .HasForeignKey("Iddefecto") + .IsRequired() + .HasConstraintName("FK__CONTRATO___IDDEF__2BFE89A6"); + }); + + modelBuilder.Entity("ContratoGarantium", b => + { + b.HasOne("Entidades.Garante", null) + .WithMany() + .HasForeignKey("Dnigarantia") + .IsRequired() + .HasConstraintName("FK__CONTRATO___DNIGA__282DF8C2"); + + b.HasOne("Entidades.Contrato", null) + .WithMany() + .HasForeignKey("Idcontrato") + .IsRequired() + .HasConstraintName("FK__CONTRATO___IDCON__2739D489"); + }); + + modelBuilder.Entity("Entidades.Canon", b => + { + b.HasOne("Entidades.Recibo", "IdreciboNavigation") + .WithMany("Canons") + .HasForeignKey("Idrecibo") + .HasConstraintName("FK__CANON__IDRECIBO__540C7B00"); + + b.Navigation("IdreciboNavigation"); + }); + + modelBuilder.Entity("Entidades.Contrato", b => + { + b.HasOne("Entidades.Inquilino", "DniinquilinoNavigation") + .WithMany("Contratos") + .HasForeignKey("Dniinquilino") + .HasConstraintName("FK__CONTRATO__DNIINQ__01142BA1"); + + b.HasOne("Entidades.Propietario", "DnipropietarioNavigation") + .WithMany("Contratos") + .HasForeignKey("Dnipropietario") + .HasConstraintName("FK__CONTRATO__DNIPRO__02084FDA"); + + b.HasOne("Entidades.Propiedad", "IdpropiedadNavigation") + .WithMany("Contratos") + .HasForeignKey("Idpropiedad") + .HasConstraintName("FK__CONTRATO__IDPROP__02FC7413"); + + b.Navigation("DniinquilinoNavigation"); + + b.Navigation("DnipropietarioNavigation"); + + b.Navigation("IdpropiedadNavigation"); + }); + + modelBuilder.Entity("Entidades.Propiedad", b => + { + b.HasOne("Entidades.Propietario", "DniNavigation") + .WithMany("Propiedades") + .HasForeignKey("Dni") + .HasConstraintName("FK__PROPIEDADES__DNI__44FF419A"); + + b.Navigation("DniNavigation"); + }); + + modelBuilder.Entity("Entidades.ServicioPropiedade", b => + { + b.HasOne("Entidades.Propiedad", "IdpropiedadNavigation") + .WithMany() + .HasForeignKey("Idpropiedad") + .HasConstraintName("FK__SERVICIO___IDPRO__49C3F6B7"); + + b.HasOne("Entidades.Servicio", "IdservicioNavigation") + .WithMany() + .HasForeignKey("Idservicio") + .HasConstraintName("FK__SERVICIO___IDSER__4AB81AF0"); + + b.Navigation("IdpropiedadNavigation"); + + b.Navigation("IdservicioNavigation"); + }); + + modelBuilder.Entity("GrupoGarantium", b => + { + b.HasOne("Entidades.Garante", null) + .WithMany() + .HasForeignKey("Dnigarantia") + .IsRequired() + .HasConstraintName("FK__GRUPO_GAR__DNIGA__46B27FE2"); + + b.HasOne("Entidades.Grupo", null) + .WithMany() + .HasForeignKey("Idgrupo") + .IsRequired() + .HasConstraintName("FK__GRUPO_GAR__IDGRU__45BE5BA9"); + }); + + modelBuilder.Entity("GrupoInquilino", b => + { + b.HasOne("Entidades.Inquilino", null) + .WithMany() + .HasForeignKey("Dniinquilino") + .IsRequired() + .HasConstraintName("FK__GRUPO_INQ__DNIIN__40058253"); + + b.HasOne("Entidades.Grupo", null) + .WithMany() + .HasForeignKey("Idgrupo") + .IsRequired() + .HasConstraintName("FK__GRUPO_INQ__IDGRU__3F115E1A"); + }); + + modelBuilder.Entity("GrupoPropietario", b => + { + b.HasOne("Entidades.Propietario", null) + .WithMany() + .HasForeignKey("Dnipropietario") + .IsRequired() + .HasConstraintName("FK__GRUPO_PRO__DNIPR__4A8310C6"); + + b.HasOne("Entidades.Grupo", null) + .WithMany() + .HasForeignKey("Idgrupo") + .IsRequired() + .HasConstraintName("FK__GRUPO_PRO__IDGRU__498EEC8D"); + }); + + modelBuilder.Entity("GrupoRol", b => + { + b.HasOne("Entidades.Grupo", null) + .WithMany() + .HasForeignKey("Idgrupo") + .IsRequired() + .HasConstraintName("FK__GRUPO_ROL__IDGRU__3B40CD36"); + + b.HasOne("Entidades.Rol", null) + .WithMany() + .HasForeignKey("Idrol") + .IsRequired() + .HasConstraintName("FK__GRUPO_ROL__IDROL__3C34F16F"); + }); + + modelBuilder.Entity("Entidades.Inquilino", b => + { + b.Navigation("Contratos"); + }); + + modelBuilder.Entity("Entidades.Propiedad", b => + { + b.Navigation("Contratos"); + }); + + modelBuilder.Entity("Entidades.Propietario", b => + { + b.Navigation("Contratos"); + + b.Navigation("Propiedades"); + }); + + modelBuilder.Entity("Entidades.Recibo", b => + { + b.Navigation("Canons"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Entidades/Propietario.cs b/Entidades/Propietario.cs index e21c7c7..fd4f896 100644 --- a/Entidades/Propietario.cs +++ b/Entidades/Propietario.cs @@ -3,24 +3,8 @@ using System.Collections.Generic; namespace Entidades; -public partial class Propietario +public partial class Propietario : Usuario { - public long Dni { get; set; } - - public long Cuil { get; set; } - - public string Nombre { get; set; } = null!; - - public string Apellido { get; set; } = null!; - - public string Email { get; set; } = null!; - - public string Celular { get; set; } = null!; - - public string Domicilio { get; set; } = null!; - - public byte[]? Contrasena { get; set; } - public virtual ICollection Contratos { get; set; } = new List(); public virtual ICollection Propiedades { get; set; } = new List(); diff --git a/Entidades/Usuario.cs b/Entidades/Usuario.cs new file mode 100644 index 0000000..efad647 --- /dev/null +++ b/Entidades/Usuario.cs @@ -0,0 +1,11 @@ +public class Usuario +{ + public long Dni { get; set; } + public long Cuil { get; set; } + public string Nombre { get; set; } = null!; + public string Apellido { get; set; } = null!; + public string Email { get; set; } = null!; + public string Celular { get; set; } = null!; + public string Domicilio { get; set; } = null!; + public byte[]? Contrasena { get; set; } +} \ No newline at end of file diff --git a/Modelo/RepositorioBase.cs b/Modelo/RepositorioBase.cs index 78e51c8..1aefbfe 100644 --- a/Modelo/RepositorioBase.cs +++ b/Modelo/RepositorioBase.cs @@ -1,22 +1,14 @@ -using Entidades; +using System.Collections.ObjectModel; +using Entidades; using Microsoft.EntityFrameworkCore; namespace Modelo; public abstract class RepositorioBase where T : class, new() { - private AlquilaFacilContext Context { get; set; } = new AlquilaFacilContext(); + protected AlquilaFacilContext Context { get; set; } = new AlquilaFacilContext(); - public void Add(T t){ - Context.Add(t); - } - public void Mod(T t){ - Context.Update(t); - } - public void Del(T t){ - - Context.Remove(t); - } + public abstract ReadOnlyCollection Listar(); public bool Guardar(){ bool ret = false; diff --git a/Modelo/RepositorioUsuarios.cs b/Modelo/RepositorioUsuarios.cs new file mode 100644 index 0000000..cc1f5c6 --- /dev/null +++ b/Modelo/RepositorioUsuarios.cs @@ -0,0 +1,37 @@ +using System.Collections.ObjectModel; +using System.Runtime.Intrinsics.Arm; +using System.Security.Cryptography; +using System.Text; +using Entidades.Dto; +using Microsoft.Data.SqlClient; +using Microsoft.EntityFrameworkCore; +namespace Modelo; + +public class RepositorioUsuarios: RepositorioBase +{ + public static RepositorioUsuarios Singleton = new(); + public Usuario? CheckUsuario(LoginDto logindto) { + + byte[] Contraseña = HacerHash(logindto.Contrasena); + + bool usu = Context.Inquilinos.Any(x=>x.Email == logindto.Usuario && x.Contrasena == Contraseña); + if (usu){ + return Context.Inquilinos.FirstOrDefault(x=>x.Email == logindto.Usuario); + } + usu = Context.Propietarios.Any(x=>x.Email == logindto.Usuario && x.Contrasena == Contraseña); + if (usu){ + return Context.Propietarios.FirstOrDefault(x=>x.Email == logindto.Usuario); + } + return null; + } + + public override ReadOnlyCollection Listar() + { + throw new NotImplementedException(); + } + public byte[] HacerHash(string pass){ + var buf = SHA256.HashData(Encoding.UTF8.GetBytes(pass)); + return Encoding.UTF8.GetBytes(BitConverter.ToString(buf).Replace("-","").ToLower()); + } + +} \ No newline at end of file