74 lines
2.5 KiB
C#
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);
|
|
}
|
|
} |