Files
AlquilaFacil/Modelo/RepositorioVentas.cs

74 lines
2.5 KiB
C#

using Entidades;
using Microsoft.EntityFrameworkCore;
namespace Modelo;
public class RepositorioVentas: RepositorioBase<RepositorioVentas> {
public bool EfectuarVenta(long idventa) {
var con = Context;
var vent = con.Ventas.Include(x=>x.IdpropiedadNavigation).FirstOrDefault(x => x.Id == idventa);
if (vent == null||vent.Idestado != 2) return false;
vent.IdpropiedadNavigation.Dnipropietario = vent.IdComprador;
vent.IdpropiedadNavigation.Idestado=3;
vent.Idestado=3;
return Guardar(con);
}
public Contrato? ObtenerVentaPorContrato(long idcontrato) {
var con = Context;
var c = con.Contratos.Include(x=>x.Idcanons).Include(x=>x.IdventaNavigation).ThenInclude(x=>x.IddivisaNavigation)
.FirstOrDefault(x=>x.Id == idcontrato);
if (c == null || c.IdventaNavigation == null) return null;
return c;
}
public Venta? ObtenerVentaPorId(long idventa) {
var con = Context;
var vent = con.Ventas
.Include(x=>x.IddivisaNavigation)
.Include(x=>x.IdestadoNavigation)
.Include(x=>x.IdVendedorNavigation)
.Include(x=>x.IdCompradorNavigation)
.Include(x=>x.IdpropiedadNavigation)
.Where(x=>x.Idestado != 1)
.FirstOrDefault(x=>x.Id == idventa);
if (vent == null) return null;
return vent;
}
public IQueryable<Venta>? ObtenerVentasPorDni(long dni) {
var con = Context;
var venta = con.Ventas
.Include(x=>x.IddivisaNavigation)
.Include(x=>x.IdestadoNavigation)
.Include(x=>x.IdVendedorNavigation)
.Include(x=>x.IdCompradorNavigation)
.Include(x=>x.IdpropiedadNavigation)
.Where(x=>(x.IdComprador == dni || x.IdVendedor == dni) && x.Idestado!=1 )
.Distinct();
return venta;
}
public bool PatchVenta(Venta venta) {
var con = Context;
var a = con.Ventas.FirstOrDefault(x=>x.Id == venta.Id);
a.IdVendedor = venta.IdVendedor;
a.IdComprador = venta.IdComprador;
a.Idpropiedad = venta.Idpropiedad;
a.Fechainicio = venta.Fechainicio;
a.Idestado=2;
return Guardar(con);
}
public bool SetUrlRecibo(long id, string nuevoNombreArchivo) {
var con = Context;
var venta = con.Ventas.FirstOrDefault(x=>x.Id == id);
if (venta==null) return false;
venta.UrlRecibo = nuevoNombreArchivo;
return Guardar(con);
}
}