login funcional

This commit is contained in:
2024-09-09 23:27:50 -03:00
parent 3de35ba192
commit 48983ab179
24 changed files with 2404 additions and 93 deletions

View File

@@ -13,6 +13,8 @@
<ItemGroup>
<ProjectReference Include="..\Entidades\Entidades.csproj" />
<ProjectReference Include="..\Modelo\Modelo.csproj" />
</ItemGroup>
</Project>

View File

@@ -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();
}
}

View File

@@ -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<Entidades.Inquilino> inquilinos = new List<Entidades.Inquilino>{
};
[HttpGet]
public List<Entidades.Inquilino> inquilinos = new List<Entidades.Inquilino>();
[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($"<p>Inquilino {inq.Nombre} agregado exitosamente.</p>", "text/html");
}
public IActionResult Index(){
return View();
}
public IActionResult FormAdd(){
return View();
}
}

View File

@@ -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 = @"
<div class='alert alert-warning alert-dismissible fade show' role='alert'>
<strong>Error!</strong> Usuario o contraseña incorrectos.
</div>";
}

View File

@@ -3,7 +3,6 @@ var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
builder.Services.AddControllersWithViews();
builder.Services.AddSingleton<AlquilaFacil.Controllers.InquilinoController>();
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();
});

View File

@@ -16,7 +16,7 @@
</h3>
<div id="collapseOne" class="accordion-collapse collapse show" data-bs-parent="#accordionExample">
<div class="accordion-body">
<a href="/Home/Inquilino">Inquilinos</a>
<a href="/Inquilino">Inquilinos</a>
</div>
</div>

View File

@@ -1,5 +1,5 @@
<h3>Alta Inquilino</h3>
<form hx-post="/api/inquilino" hx-swap="outerHTML" hx-target="#addInquilino" hx-on="htmx:afterRequest: hx-get='/api/inquilino' hx-target='#inquilino-data' hx-swap='innerHTML'">
<form method="post" action="/api/inquilino ">
<label for="Dni">Dni:</label><br>
<input type="number" id="Dni" name="Dni" min="1" step="1" required>
<br>

View File

@@ -4,6 +4,7 @@
@{
Layout = "_Layout";
}
<div class="container">
<div class="row">
<div class="col">
@@ -25,7 +26,7 @@
<div class="btn-group" role="group" aria-label="Basic outlined example">
<button type="button" class="btn btn-primary" data-bs-toggle="tooltip" data-bs-title="Añadir Inquilino"
hx-get="/Home/InquilinoForm/0" hx-target="#addInquilino" hx-swap="innerHTML" >
hx-get="/Inquilino/FormAdd/" hx-target="#addInquilino" hx-swap="innerHTML" >
Añadir
</button>

View File

@@ -0,0 +1,5 @@
@model Entidades.Dto.LoginDto;
<div class="alert alert-danger" role="alert">
"@Model.Usuario"
</div>

View File

@@ -0,0 +1,27 @@
@{
ViewData["Title"] = "Login";
}
@{
Layout = "_basicLayout";
}
<link rel="stylesheet" type="text/css" href="/css/_Login.css">
<div id="logincard" class="card centered">
<div class="card-body">
<h5 class="card-title">Ingresar al Sistema </h5>
<form hx-post="/api/login" hx-target="#responce" hx-swap="innerHTML">
<label for="Usuario">Usuario</label><br>
<input type="text" id="Usuario" name="Usuario" required>
<br>
<label for="Contrasena">Contraseña</label><br>
<input type="password" id="Contrasena" name="Contrasena" required>
<br>
<button type="submit">Ingresar</button>
</form>
<br>
<div id="responce"></div>
</div>
</div>

View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://unpkg.com/htmx.org@2.0.2"></script>
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
<link rel="stylesheet" href="~/AlquilaFacil.styles.css" asp-append-version="true" />
</head>
<body class="bg-dark-subtle">
@RenderBody()
</body>
</html>

View File

@@ -0,0 +1,6 @@
.centered {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

View File

@@ -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)

10
Entidades/Dto/LoginDto.cs Normal file
View File

@@ -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;
}

View File

@@ -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<Contrato> Idcontratos { get; set; } = new List<Contrato>();
public virtual ICollection<Grupo> Idgrupos { get; set; } = new List<Grupo>();

View File

@@ -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<Contrato> Contratos { get; set; } = new List<Contrato>();
public virtual ICollection<Grupo> Idgrupos { get; set; } = new List<Grupo>();

View File

@@ -0,0 +1,824 @@
// <auto-generated />
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
{
/// <inheritdoc />
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<int>("Idcontrato")
.HasColumnType("int")
.HasColumnName("IDCONTRATO");
b.Property<int>("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<int>("Idcontrato")
.HasColumnType("int")
.HasColumnName("IDCONTRATO");
b.Property<int>("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<int>("Idcontrato")
.HasColumnType("int")
.HasColumnName("IDCONTRATO");
b.Property<long>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int?>("Idrecibo")
.HasColumnType("int")
.HasColumnName("IDRECIBO");
b.Property<int>("Mes")
.HasColumnType("int")
.HasColumnName("MES");
b.Property<decimal>("Monto")
.HasColumnType("decimal(12, 2)")
.HasColumnName("MONTO");
b.Property<bool>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<long?>("Dniinquilino")
.HasColumnType("bigint")
.HasColumnName("DNIINQUILINO");
b.Property<long?>("Dnipropietario")
.HasColumnType("bigint")
.HasColumnName("DNIPROPIETARIO");
b.Property<int>("Duracionmeses")
.HasColumnType("int")
.HasColumnName("DURACIONMESES");
b.Property<DateTime>("Fechainicio")
.HasColumnType("datetime")
.HasColumnName("FECHAINICIO");
b.Property<int?>("Idpropiedad")
.HasColumnType("int")
.HasColumnName("IDPROPIEDAD");
b.Property<decimal>("Indiceactualizacion")
.HasColumnType("decimal(12, 2)")
.HasColumnName("INDICEACTUALIZACION");
b.Property<decimal>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<decimal>("Costo")
.HasColumnType("decimal(12, 2)")
.HasColumnName("COSTO");
b.Property<string>("Descripcion")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("DESCRIPCION");
b.Property<bool>("Estaarreglado")
.HasColumnType("bit")
.HasColumnName("ESTAARREGLADO");
b.Property<bool>("Pagainquilino")
.HasColumnType("bit")
.HasColumnName("PAGAINQUILINO");
b.HasKey("Id")
.HasName("PK__DEFECTO__3214EC27E043B726");
b.ToTable("DEFECTO", (string)null);
});
modelBuilder.Entity("Entidades.Garante", b =>
{
b.Property<long>("Dni")
.HasColumnType("bigint")
.HasColumnName("DNI");
b.Property<string>("Apellido")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("APELLIDO");
b.Property<string>("Celular")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("CELULAR");
b.Property<byte[]>("Contrasena")
.HasMaxLength(64)
.HasColumnType("varbinary(64)")
.HasColumnName("CONTRASENA");
b.Property<long>("Cuil")
.HasColumnType("bigint")
.HasColumnName("CUIL");
b.Property<string>("Domicilio")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("DOMICILIO");
b.Property<string>("Domiciliolaboral")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("DOMICILIOLABORAL");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("EMAIL");
b.Property<string>("Lugartrabajo")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("LUGARTRABAJO");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("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<long>("Dni")
.HasColumnType("bigint")
.HasColumnName("DNI");
b.Property<string>("Apellido")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("APELLIDO");
b.Property<string>("Celular")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("CELULAR");
b.Property<byte[]>("Contrasena")
.HasMaxLength(64)
.HasColumnType("varbinary(64)")
.HasColumnName("CONTRASENA");
b.Property<long>("Cuil")
.HasColumnType("bigint")
.HasColumnName("CUIL");
b.Property<string>("Domicilio")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("DOMICILIO");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("EMAIL");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int?>("Canthabitaciones")
.HasColumnType("int")
.HasColumnName("CANTHABITACIONES");
b.Property<long?>("Dni")
.HasColumnType("bigint")
.HasColumnName("DNI");
b.Property<string>("Letra")
.HasMaxLength(2)
.IsUnicode(false)
.HasColumnType("varchar(2)")
.HasColumnName("LETRA");
b.Property<int?>("Piso")
.HasColumnType("int")
.HasColumnName("PISO");
b.Property<bool?>("Tienecocina")
.HasColumnType("bit")
.HasColumnName("TIENECOCINA");
b.Property<string>("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<long>("Dni")
.HasColumnType("bigint")
.HasColumnName("DNI");
b.Property<string>("Apellido")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("APELLIDO");
b.Property<string>("Celular")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("CELULAR");
b.Property<byte[]>("Contrasena")
.HasMaxLength(64)
.HasColumnType("varbinary(64)")
.HasColumnName("CONTRASENA");
b.Property<long>("Cuil")
.HasColumnType("bigint")
.HasColumnName("CUIL");
b.Property<string>("Domicilio")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("DOMICILIO");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("EMAIL");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Mes")
.HasColumnType("int")
.HasColumnName("MES");
b.Property<decimal>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("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<int?>("Idpropiedad")
.HasColumnType("int")
.HasColumnName("IDPROPIEDAD");
b.Property<int?>("Idservicio")
.HasColumnType("int")
.HasColumnName("IDSERVICIO");
b.HasIndex("Idpropiedad");
b.HasIndex("Idservicio");
b.ToTable("SERVICIO_PROPIEDADES", (string)null);
});
modelBuilder.Entity("GrupoGarantium", b =>
{
b.Property<int>("Idgrupo")
.HasColumnType("int")
.HasColumnName("IDGRUPO");
b.Property<long>("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<int>("Idgrupo")
.HasColumnType("int")
.HasColumnName("IDGRUPO");
b.Property<long>("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<int>("Idgrupo")
.HasColumnType("int")
.HasColumnName("IDGRUPO");
b.Property<long>("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<int>("Idgrupo")
.HasColumnType("int")
.HasColumnName("IDGRUPO");
b.Property<int>("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
}
}
}

View File

@@ -0,0 +1,584 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Entidades.Migrations
{
/// <inheritdoc />
public partial class Ahora_saque_el_identity : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "DEFECTO",
columns: table => new
{
ID = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
DESCRIPCION = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
ESTAARREGLADO = table.Column<bool>(type: "bit", nullable: false),
COSTO = table.Column<decimal>(type: "decimal(12,2)", nullable: false),
PAGAINQUILINO = table.Column<bool>(type: "bit", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK__DEFECTO__3214EC27E043B726", x => x.ID);
});
migrationBuilder.CreateTable(
name: "GARANTIA",
columns: table => new
{
DNI = table.Column<long>(type: "bigint", nullable: false),
LUGARTRABAJO = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
DOMICILIOLABORAL = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
CUIL = table.Column<long>(type: "bigint", nullable: false),
NOMBRE = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
APELLIDO = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
EMAIL = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
CELULAR = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
DOMICILIO = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
CONTRASENA = table.Column<byte[]>(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<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
NOMBRE = table.Column<string>(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<long>(type: "bigint", nullable: false),
CUIL = table.Column<long>(type: "bigint", nullable: false),
NOMBRE = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
APELLIDO = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
EMAIL = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
CELULAR = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
DOMICILIO = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
CONTRASENA = table.Column<byte[]>(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<long>(type: "bigint", nullable: false),
CUIL = table.Column<long>(type: "bigint", nullable: false),
NOMBRE = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
APELLIDO = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
EMAIL = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
CELULAR = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
DOMICILIO = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
CONTRASENA = table.Column<byte[]>(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<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MES = table.Column<int>(type: "int", nullable: false),
MONTO = table.Column<decimal>(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<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
DESCIPCION = table.Column<string>(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<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
DESCRIPCION = table.Column<string>(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<int>(type: "int", nullable: false),
DNIGARANTIA = table.Column<long>(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<int>(type: "int", nullable: false),
DNIINQUILINO = table.Column<long>(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<int>(type: "int", nullable: false),
DNIPROPIETARIO = table.Column<long>(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<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
DNI = table.Column<long>(type: "bigint", nullable: true),
UBICACION = table.Column<string>(type: "varchar(50)", unicode: false, maxLength: 50, nullable: false),
CANTHABITACIONES = table.Column<int>(type: "int", nullable: true),
TIENECOCINA = table.Column<bool>(type: "bit", nullable: true),
PISO = table.Column<int>(type: "int", nullable: true),
LETRA = table.Column<string>(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<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MES = table.Column<int>(type: "int", nullable: false),
MONTO = table.Column<decimal>(type: "decimal(12,2)", nullable: false),
PAGADO = table.Column<bool>(type: "bit", nullable: false),
IDRECIBO = table.Column<int>(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<int>(type: "int", nullable: false),
IDROL = table.Column<int>(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<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
FECHAINICIO = table.Column<DateTime>(type: "datetime", nullable: false),
INDICEACTUALIZACION = table.Column<decimal>(type: "decimal(12,2)", nullable: false),
MONTO = table.Column<decimal>(type: "decimal(12,2)", nullable: false),
DURACIONMESES = table.Column<int>(type: "int", nullable: false),
DNIINQUILINO = table.Column<long>(type: "bigint", nullable: true),
DNIPROPIETARIO = table.Column<long>(type: "bigint", nullable: true),
IDPROPIEDAD = table.Column<int>(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<int>(type: "int", nullable: true),
IDSERVICIO = table.Column<int>(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<int>(type: "int", nullable: false),
IDCANON = table.Column<int>(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<int>(type: "int", nullable: false),
IDDEFECTO = table.Column<int>(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<int>(type: "int", nullable: false),
DNIGARANTIA = table.Column<long>(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");
}
/// <inheritdoc />
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");
}
}
}

View File

@@ -0,0 +1,821 @@
// <auto-generated />
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<int>("Idcontrato")
.HasColumnType("int")
.HasColumnName("IDCONTRATO");
b.Property<int>("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<int>("Idcontrato")
.HasColumnType("int")
.HasColumnName("IDCONTRATO");
b.Property<int>("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<int>("Idcontrato")
.HasColumnType("int")
.HasColumnName("IDCONTRATO");
b.Property<long>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int?>("Idrecibo")
.HasColumnType("int")
.HasColumnName("IDRECIBO");
b.Property<int>("Mes")
.HasColumnType("int")
.HasColumnName("MES");
b.Property<decimal>("Monto")
.HasColumnType("decimal(12, 2)")
.HasColumnName("MONTO");
b.Property<bool>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<long?>("Dniinquilino")
.HasColumnType("bigint")
.HasColumnName("DNIINQUILINO");
b.Property<long?>("Dnipropietario")
.HasColumnType("bigint")
.HasColumnName("DNIPROPIETARIO");
b.Property<int>("Duracionmeses")
.HasColumnType("int")
.HasColumnName("DURACIONMESES");
b.Property<DateTime>("Fechainicio")
.HasColumnType("datetime")
.HasColumnName("FECHAINICIO");
b.Property<int?>("Idpropiedad")
.HasColumnType("int")
.HasColumnName("IDPROPIEDAD");
b.Property<decimal>("Indiceactualizacion")
.HasColumnType("decimal(12, 2)")
.HasColumnName("INDICEACTUALIZACION");
b.Property<decimal>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<decimal>("Costo")
.HasColumnType("decimal(12, 2)")
.HasColumnName("COSTO");
b.Property<string>("Descripcion")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("DESCRIPCION");
b.Property<bool>("Estaarreglado")
.HasColumnType("bit")
.HasColumnName("ESTAARREGLADO");
b.Property<bool>("Pagainquilino")
.HasColumnType("bit")
.HasColumnName("PAGAINQUILINO");
b.HasKey("Id")
.HasName("PK__DEFECTO__3214EC27E043B726");
b.ToTable("DEFECTO", (string)null);
});
modelBuilder.Entity("Entidades.Garante", b =>
{
b.Property<long>("Dni")
.HasColumnType("bigint")
.HasColumnName("DNI");
b.Property<string>("Apellido")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("APELLIDO");
b.Property<string>("Celular")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("CELULAR");
b.Property<byte[]>("Contrasena")
.HasMaxLength(64)
.HasColumnType("varbinary(64)")
.HasColumnName("CONTRASENA");
b.Property<long>("Cuil")
.HasColumnType("bigint")
.HasColumnName("CUIL");
b.Property<string>("Domicilio")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("DOMICILIO");
b.Property<string>("Domiciliolaboral")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("DOMICILIOLABORAL");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("EMAIL");
b.Property<string>("Lugartrabajo")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("LUGARTRABAJO");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("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<long>("Dni")
.HasColumnType("bigint")
.HasColumnName("DNI");
b.Property<string>("Apellido")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("APELLIDO");
b.Property<string>("Celular")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("CELULAR");
b.Property<byte[]>("Contrasena")
.HasMaxLength(64)
.HasColumnType("varbinary(64)")
.HasColumnName("CONTRASENA");
b.Property<long>("Cuil")
.HasColumnType("bigint")
.HasColumnName("CUIL");
b.Property<string>("Domicilio")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("DOMICILIO");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("EMAIL");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int?>("Canthabitaciones")
.HasColumnType("int")
.HasColumnName("CANTHABITACIONES");
b.Property<long?>("Dni")
.HasColumnType("bigint")
.HasColumnName("DNI");
b.Property<string>("Letra")
.HasMaxLength(2)
.IsUnicode(false)
.HasColumnType("varchar(2)")
.HasColumnName("LETRA");
b.Property<int?>("Piso")
.HasColumnType("int")
.HasColumnName("PISO");
b.Property<bool?>("Tienecocina")
.HasColumnType("bit")
.HasColumnName("TIENECOCINA");
b.Property<string>("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<long>("Dni")
.HasColumnType("bigint")
.HasColumnName("DNI");
b.Property<string>("Apellido")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("APELLIDO");
b.Property<string>("Celular")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("CELULAR");
b.Property<byte[]>("Contrasena")
.HasMaxLength(64)
.HasColumnType("varbinary(64)")
.HasColumnName("CONTRASENA");
b.Property<long>("Cuil")
.HasColumnType("bigint")
.HasColumnName("CUIL");
b.Property<string>("Domicilio")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("DOMICILIO");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnType("varchar(50)")
.HasColumnName("EMAIL");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Mes")
.HasColumnType("int")
.HasColumnName("MES");
b.Property<decimal>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("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<int?>("Idpropiedad")
.HasColumnType("int")
.HasColumnName("IDPROPIEDAD");
b.Property<int?>("Idservicio")
.HasColumnType("int")
.HasColumnName("IDSERVICIO");
b.HasIndex("Idpropiedad");
b.HasIndex("Idservicio");
b.ToTable("SERVICIO_PROPIEDADES", (string)null);
});
modelBuilder.Entity("GrupoGarantium", b =>
{
b.Property<int>("Idgrupo")
.HasColumnType("int")
.HasColumnName("IDGRUPO");
b.Property<long>("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<int>("Idgrupo")
.HasColumnType("int")
.HasColumnName("IDGRUPO");
b.Property<long>("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<int>("Idgrupo")
.HasColumnType("int")
.HasColumnName("IDGRUPO");
b.Property<long>("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<int>("Idgrupo")
.HasColumnType("int")
.HasColumnName("IDGRUPO");
b.Property<int>("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
}
}
}

View File

@@ -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<Contrato> Contratos { get; set; } = new List<Contrato>();
public virtual ICollection<Propiedad> Propiedades { get; set; } = new List<Propiedad>();

11
Entidades/Usuario.cs Normal file
View File

@@ -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; }
}

View File

@@ -1,22 +1,14 @@
using Entidades;
using System.Collections.ObjectModel;
using Entidades;
using Microsoft.EntityFrameworkCore;
namespace Modelo;
public abstract class RepositorioBase<T> 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<T> Listar();
public bool Guardar(){
bool ret = false;

View File

@@ -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<Usuario>
{
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<Usuario> 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());
}
}