92 lines
3.2 KiB
C#
92 lines
3.2 KiB
C#
using Entidades;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace Modelo;
|
|
|
|
public class Context : Microsoft.EntityFrameworkCore.DbContext
|
|
{
|
|
public DbSet<Categoria> Categorias { get; set; }
|
|
public DbSet<Cliente> Clientes { get; set; }
|
|
public DbSet<Factura> Facturas { get; set; }
|
|
public DbSet<Lote> Lotes { get; set; }
|
|
public DbSet<DetalleFactura> DetalleFacturas { get; set; }
|
|
public DbSet<DetallePresupuesto> DetallePresupuestos { get; set; }
|
|
public DbSet<DetalleOrdenDeCompra> DetalleOrdenDeCompras { get; set; }
|
|
public DbSet<OrdenDeCompra> OrdenDeCompras { get; set; }
|
|
public DbSet<Presupuesto> Presupuestos { get; set; }
|
|
public DbSet<ProductoPercedero> ProductoPercederos { get; set; }
|
|
public DbSet<ProductoNoPercedero> ProductoNoPercederos { get; set; }
|
|
public DbSet<Proveedor> Proveedores { get; set; }
|
|
public DbSet<Remito> Remitos { get; set; }
|
|
|
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
|
{ // Esto de poner credenciales sueltas está mal
|
|
optionsBuilder.UseSqlServer(@"Server=fedesrv.ddns.net,1433;Database=ControlStockDAS;User Id=ProyectoDas;Password=<IL-:aQI?TK{uRw:AU>A?5?~*=Gux'}JT0me,z5Cf^f(s'-gy[G#-jt%b&uHe+/,$Gl>qkXl-c[@&e(\.V?[3)\w|aMH+<GnkIo*99MNJ}:L=j<T,^$`8J\dXw6>^67x;Trusted_Connection=False;Encrypt=False;Connection Timeout=5;");
|
|
}
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
base.OnModelCreating(modelBuilder);
|
|
|
|
/// Categoria
|
|
modelBuilder.Entity<Categoria>()
|
|
.ToTable("Categoria")
|
|
.HasKey(x => x.Id);
|
|
modelBuilder.Entity<Categoria>()
|
|
.Property(c=>c.Descripcion)
|
|
.IsRequired()
|
|
.HasMaxLength(100);
|
|
|
|
/// Cliente
|
|
modelBuilder.Entity<Cliente>()
|
|
.ToTable("Clientes") // Nombre de la tabla
|
|
.HasKey(c => c.Cuit); // Configura la clave primaria
|
|
|
|
modelBuilder.Entity<Cliente>()
|
|
.Property(c => c.Nombre)
|
|
.IsRequired()
|
|
.HasMaxLength(100);
|
|
|
|
modelBuilder.Entity<Cliente>()
|
|
.Property(c => c.Apellido)
|
|
.IsRequired()
|
|
.HasMaxLength(100);
|
|
|
|
modelBuilder.Entity<Cliente>()
|
|
.Property(c => c.Direccion)
|
|
.HasMaxLength(200);
|
|
|
|
modelBuilder.Entity<Cliente>()
|
|
.Property(c => c.Correo)
|
|
.HasMaxLength(150);
|
|
|
|
modelBuilder.Entity<Cliente>()
|
|
.Property(c => c.Habilitado)
|
|
.HasDefaultValue(true);
|
|
|
|
/// Factura Y DetalleFactura WIP
|
|
modelBuilder.Entity<Factura>()
|
|
.ToTable("Facturas")
|
|
.HasKey(f => f.Id);
|
|
|
|
modelBuilder.Entity<Factura>()
|
|
.HasMany(f => f.Detalles)
|
|
.WithOne()
|
|
.HasForeignKey(df => df.FacturaId);
|
|
|
|
modelBuilder.Entity<DetalleFactura>()
|
|
.ToTable("DetallesFacturas")
|
|
.HasKey(df => df.Id);
|
|
|
|
modelBuilder.Entity<DetalleFactura>()
|
|
.Property(df => df.IdFactura)
|
|
.IsRequired();
|
|
|
|
modelBuilder.Entity<DetalleFactura>()
|
|
.HasOne(df => df.Producto)
|
|
.WithMany()
|
|
.HasForeignKey(df => df.Producto.Id);
|
|
}
|
|
}
|
|
|