Files
Final_Das/Controladora/ControladoraOrdenesDeCompra.cs

72 lines
2.6 KiB
C#

using System.Collections.ObjectModel;
using Entidades;
using Modelo;
namespace Controladora
{
public class ControladoraOrdenDeCompras : Singleton<ControladoraOrdenDeCompras>
{
public string Añadir(OrdenDeCompra t)
{
if (t == null) return "El OrdenDeCompra es nulo fallo la carga";
if (t.Proveedor == null) return "No se cargo el proveedor";
// checkea que los detalles sean validos
if (ProductoCheck(t.MostrarDetalles())) return "Hay referencias a productos no existentes";
return (RepositorioOrdenDeCompra.Instance.Add(t)) ?
$"El OrdenDeCompra {t.Id} se cargo correctamente":
$"Fallo la carga del OrdenDeCompra {t.Id}";
}
<<<<<<< HEAD
private bool ProductoCheck(ReadOnlyCollection<DetalleOrdenDeCompra> ldetalles)
{
bool ret = false;
var lproductos = RepositorioProductos.Instance.Listar();
Parallel.ForEach(ldetalles, (ll) =>
{
var producto = lproductos.FirstOrDefault(x => x.Id == ll.Producto.Id);
ret = (producto == null) ? true : false;
});
return ret;
}
override public string Eliminar(OrdenDeCompra t)
=======
public string Eliminar(OrdenDeCompra t)
>>>>>>> 675d86f (refactor: Cambiada la estructura de las controladoras)
{
if (t == null) return "El OrdenDeCompra es nulo fallo la carga";
if (t.Id < 0) return "El Id esta mal cargado";
return (RepositorioOrdenDeCompra.Instance.Del(t)) ?
$"El OrdenDeCompra {t.Id} se Elimino correctamente":
$"Fallo la Eliminacion del OrdenDeCompra {t.Id}";
}
public string Modificar(OrdenDeCompra t)
{
if (t == null) return "El OrdenDeCompra es nulo fallo la carga";
return (RepositorioOrdenDeCompra.Instance.Mod(t)) ?
$"El OrdenDeCompra {t.Id} se Modifico correctamente":
$"Fallo la Modificacion del OrdenDeCompra {t.Id}";
}
public ReadOnlyCollection<OrdenDeCompra> Listar()
{
return RepositorioOrdenDeCompra.Instance.Listar();
}
public ReadOnlyCollection<DetalleOrdenDeCompra> ListarDetalles(OrdenDeCompra orden)
{
var ordenalistar = RepositorioOrdenDeCompra.Instance.Listar().First(x => x.Id == orden.Id);
if (ordenalistar == null) return new ReadOnlyCollection<DetalleOrdenDeCompra>(new List<DetalleOrdenDeCompra>());
return ordenalistar.MostrarDetalles();
}
}
}