91 lines
3.3 KiB
C#
91 lines
3.3 KiB
C#
using System.Collections.ObjectModel;
|
|
using Entidades;
|
|
using Modelo;
|
|
|
|
namespace Controladora
|
|
{
|
|
public class ControladoraPresupuestos : Singleton<ControladoraPresupuestos>
|
|
{
|
|
public string Añadir(Presupuesto t)
|
|
{
|
|
if (t == null) return "El Presupuesto es nulo, falló la carga";
|
|
if (t.MostrarDetalles() == null || !t.MostrarDetalles().Any()) return "El Presupuesto no tiene productos, falló la carga";
|
|
if (t.Proveedor == null) return "El Proveedor es nulo, falló la carga";
|
|
|
|
return RepositorioPresupuesto.Instance.Add(t) ?
|
|
$"El Presupuesto {t.Id} se cargó correctamente" :
|
|
$"Falló la carga del Presupuesto {t.Id}";
|
|
}
|
|
|
|
public string Eliminar(Presupuesto t)
|
|
{
|
|
if (t == null) return "El Presupuesto es nulo fallo la carga";
|
|
|
|
return (RepositorioPresupuesto.Instance.Del(t)) ?
|
|
$"El Presupuesto {t.Id} se Elimino correctamente":
|
|
$"Fallo la Eliminacion del Presupuesto {t.Id}";
|
|
}
|
|
|
|
public string Modificar(Presupuesto t)
|
|
{
|
|
if (t == null) return "El Presupuesto es nulo fallo la carga";
|
|
|
|
return (RepositorioPresupuesto.Instance.Mod(t)) ?
|
|
$"El Presupuesto {t.Id} se Modifico correctamente":
|
|
$"Fallo la Modificacion del Presupuesto {t.Id}";
|
|
}
|
|
public string AceptarPresupuesto(Presupuesto t)
|
|
{
|
|
if (t == null) return "El Presupuesto es nulo fallo la carga";
|
|
if (t.Aceptado == true) return "El presupuesto ya fue aceptado";
|
|
|
|
return (RepositorioPresupuesto.Instance.AceptarPresupuesto(t)) ?
|
|
$"El Presupuesto {t.Id} se Acepto correctamente":
|
|
$"Fallo la aceptacion del Presupuesto {t.Id}";
|
|
}
|
|
public ReadOnlyCollection<Presupuesto> Listar()
|
|
{
|
|
return RepositorioPresupuesto.Instance.Listar()
|
|
.Where(x => x.Habilitado == true)
|
|
.ToList()
|
|
.AsReadOnly();
|
|
}
|
|
|
|
public ReadOnlyCollection<DetallePresupuesto> ListarDetalles(Presupuesto presupuesto)
|
|
{
|
|
Presupuesto pres = RepositorioPresupuesto.Instance.Listar().First(x=> x.Id == presupuesto.Id);
|
|
if (pres == null) return new ReadOnlyCollection<DetallePresupuesto>(new List<DetallePresupuesto>());
|
|
return pres.MostrarDetalles();
|
|
|
|
}
|
|
|
|
public object ListarProductosPorProveedor(Proveedor proveedor)
|
|
{
|
|
if (proveedor == null) return new List<Producto>().AsReadOnly();
|
|
if (proveedor.Cuit < 0) return new List<Producto>().AsReadOnly();
|
|
var productos = RepositorioProductos.Instance
|
|
.Listar()
|
|
.Where(x => x.ListarProveedores()
|
|
.Any(x => x.Cuit == proveedor.Cuit))
|
|
.ToList()
|
|
.AsReadOnly();
|
|
|
|
return productos;
|
|
}
|
|
|
|
public object ListarProveedores()
|
|
{
|
|
return RepositorioProveedor.Instance.Listar()
|
|
.Where(x => x.Habilitado == true)
|
|
.ToList()
|
|
.AsReadOnly();
|
|
}
|
|
|
|
public ReadOnlyCollection<Presupuesto> ListarTodo()
|
|
{
|
|
return RepositorioPresupuesto.Instance.Listar();
|
|
}
|
|
}
|
|
}
|
|
|