update: añadido check de producto
This commit is contained in:
@@ -9,12 +9,28 @@ namespace Controladora
|
||||
public override 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}";
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
if (t == null) return "El OrdenDeCompra es nulo fallo la carga";
|
||||
|
||||
Reference in New Issue
Block a user