estoy cansado hay que hacer el tema de las categorias y las controladoras de productospercederos y no percederos

This commit is contained in:
fedpo
2024-08-22 05:41:35 +01:00
parent 566bfe57c0
commit 670190c44b
28 changed files with 150 additions and 83 deletions

View File

@@ -29,6 +29,7 @@ namespace Controladora
}
repositorioCategoria.Add(t);
repositorioCategoria.Guardar();
return $"La categoría {t.Descripcion} se cargó correctamente";
}
@@ -37,6 +38,7 @@ namespace Controladora
if (t == null) return "La categoría es nula, fallo la carga";
repositorioCategoria.Del(t);
repositorioCategoria.Guardar();
return $"La categoría {t.Descripcion} se eliminó correctamente";
}
@@ -50,12 +52,13 @@ namespace Controladora
}
repositorioCategoria.Mod(t);
repositorioCategoria.Guardar();
return $"La categoría {t.Descripcion} se modificó correctamente";
}
public ReadOnlyCollection<Categoria> Listar()
{
return repositorioCategoria.Listar().ToList().AsReadOnly();
return repositorioCategoria.Listar().AsReadOnly();
}
}
}

View File

@@ -75,7 +75,6 @@ namespace Controladora
public ReadOnlyCollection<Factura> Listar()
{
return repositorioFacturas.Listar()
.ToList()
.AsReadOnly();
}

View File

@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Reflection.Metadata.Ecma335;
using System.Text;
using System.Threading.Tasks;
@@ -17,6 +18,15 @@ namespace Controladora
repositorioLotes = new(new Context());
}
public string AltaStock(Remito t)
{
if (t == null) return "Esta Mal Cargado";
repositorioLotes.Add(t);
return repositorioLotes.Guardar() ?
"Se Cargo Correctamente" :
"Fallo la Carga";
}
public string DisminuirStock(ReadOnlyCollection<DetalleFactura> detalleFactura)
{
var ret = false;

View File

@@ -30,7 +30,8 @@ namespace Controladora
private bool ProductoCheck(ReadOnlyCollection<DetalleOrdenDeCompra> ldetalles)
{
bool ret = false;
var lproductos = RepositorioProductos.Instance.Listar();
var lproductos = new RepositorioProductos(new Context()).Listar();
Parallel.ForEach(ldetalles, (ll) =>
{
var producto = lproductos.FirstOrDefault(x => x.Id == ll.Producto.Id);
@@ -45,8 +46,9 @@ namespace Controladora
{
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)) ?
repositorioOrdenDeCompra.Del(t);
return (repositorioOrdenDeCompra.Guardar()) ?
$"El OrdenDeCompra {t.Id} se Elimino correctamente":
$"Fallo la Eliminacion del OrdenDeCompra {t.Id}";
}
@@ -55,19 +57,20 @@ namespace Controladora
{
if (t == null) return "El OrdenDeCompra es nulo fallo la carga";
return (RepositorioOrdenDeCompra.Instance.Mod(t)) ?
repositorioOrdenDeCompra.Mod(t);
return (repositorioOrdenDeCompra.Guardar()) ?
$"El OrdenDeCompra {t.Id} se Modifico correctamente":
$"Fallo la Modificacion del OrdenDeCompra {t.Id}";
}
public ReadOnlyCollection<OrdenDeCompra> Listar()
{
return RepositorioOrdenDeCompra.Instance.Listar();
return repositorioOrdenDeCompra.Listar().AsReadOnly();
}
public ReadOnlyCollection<DetalleOrdenDeCompra> ListarDetalles(OrdenDeCompra orden)
{
var ordenalistar = RepositorioOrdenDeCompra.Instance.Listar().First(x => x.Id == orden.Id);
var ordenalistar = repositorioOrdenDeCompra.Listar().First(x => x.Id == orden.Id);
if (ordenalistar == null) return new ReadOnlyCollection<DetalleOrdenDeCompra>(new List<DetalleOrdenDeCompra>());
return ordenalistar.MostrarDetalles();
@@ -77,13 +80,13 @@ namespace Controladora
{
if (presupuesto == null) return null;
if (presupuesto.Id < 0) return null;
var pres = RepositorioPresupuesto.Instance.Listar().First(x => x.Id == presupuesto.Id);
var pres = ControladoraPresupuestos.Instance.Listar().First(x => x.Id == presupuesto.Id);
return pres;
}
public object ListarProveedores()
{
return RepositorioProveedor.Instance.Listar()
return ControladoraProveedores.Instance.Listar()
.Where(x => x.Habilitado == true)
.ToList()
.AsReadOnly();
@@ -91,16 +94,16 @@ namespace Controladora
public ReadOnlyCollection<DetallePresupuesto> ListarDetallesDePresupuesto(Presupuesto presupuesto)
{
Presupuesto pres = RepositorioPresupuesto.Instance.Listar().First(x => x.Id == presupuesto.Id);
Presupuesto pres = ControladoraPresupuestos.Instance.Listar().First(x => x.Id == presupuesto.Id);
if (pres == null) return new ReadOnlyCollection<DetallePresupuesto>(new List<DetallePresupuesto>());
return pres.MostrarDetalles();
}
public object ListarPresupuestosPorProveedorHabilitadosAceptado(Proveedor proveedor)
public ReadOnlyCollection<Presupuesto>? ListarPresupuestosPorProveedorHabilitadosAceptado(Proveedor proveedor)
{
if (proveedor == null) return null;
if (proveedor.Cuit < 0) return null;
var presupuestos = RepositorioPresupuesto.Instance.Listar()
var presupuestos = ControladoraPresupuestos.Instance.Listar()
.Where(x => x.Proveedor.Cuit == proveedor.Cuit)
.Where(x => x.Habilitado == true)
.Where(x => x.Aceptado == true)

View File

@@ -6,13 +6,19 @@ namespace Controladora
{
public class ControladoraPresupuestos : Singleton<ControladoraPresupuestos>
{
RepositorioPresupuesto repositorioPresupuestos;
public ControladoraPresupuestos() {
repositorioPresupuestos = new RepositorioPresupuesto(new Context());
}
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) ?
repositorioPresupuestos.Add(t);
return repositorioPresupuestos.Guardar() ?
$"El Presupuesto {t.Id} se cargó correctamente" :
$"Falló la carga del Presupuesto {t.Id}";
}
@@ -21,7 +27,8 @@ namespace Controladora
{
if (t == null) return "El Presupuesto es nulo fallo la carga";
return (RepositorioPresupuesto.Instance.Del(t)) ?
repositorioPresupuestos.Del(t);
return (repositorioPresupuestos.Guardar()) ?
$"El Presupuesto {t.Id} se Elimino correctamente":
$"Fallo la Eliminacion del Presupuesto {t.Id}";
}
@@ -30,7 +37,8 @@ namespace Controladora
{
if (t == null) return "El Presupuesto es nulo fallo la carga";
return (RepositorioPresupuesto.Instance.Mod(t)) ?
repositorioPresupuestos.Mod(t);
return (repositorioPresupuestos.Guardar()) ?
$"El Presupuesto {t.Id} se Modifico correctamente":
$"Fallo la Modificacion del Presupuesto {t.Id}";
}
@@ -39,13 +47,15 @@ namespace Controladora
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)) ?
t.Aceptado = true;
repositorioPresupuestos.Mod(t);
return (repositorioPresupuestos.Guardar()) ?
$"El Presupuesto {t.Id} se Acepto correctamente":
$"Fallo la aceptacion del Presupuesto {t.Id}";
}
public ReadOnlyCollection<Presupuesto> Listar()
{
return RepositorioPresupuesto.Instance.Listar()
return repositorioPresupuestos.Listar()
.Where(x => x.Habilitado == true)
.ToList()
.AsReadOnly();
@@ -53,7 +63,7 @@ namespace Controladora
public ReadOnlyCollection<DetallePresupuesto> ListarDetalles(Presupuesto presupuesto)
{
Presupuesto pres = RepositorioPresupuesto.Instance.Listar().First(x=> x.Id == presupuesto.Id);
Presupuesto pres = repositorioPresupuestos.Listar().First(x=> x.Id == presupuesto.Id);
if (pres == null) return new ReadOnlyCollection<DetallePresupuesto>(new List<DetallePresupuesto>());
return pres.MostrarDetalles();
@@ -63,7 +73,7 @@ namespace Controladora
{
if (proveedor == null) return new List<Producto>().AsReadOnly();
if (proveedor.Cuit < 0) return new List<Producto>().AsReadOnly();
var productos = RepositorioProductos.Instance
var productos = ControladoraProductos.Instance
.Listar()
.Where(x => x.ListarProveedores()
.Any(x => x.Cuit == proveedor.Cuit))
@@ -75,7 +85,7 @@ namespace Controladora
public object ListarProveedores()
{
return RepositorioProveedor.Instance.Listar()
return ControladoraProveedores.Instance.Listar()
.Where(x => x.Habilitado == true)
.ToList()
.AsReadOnly();
@@ -83,7 +93,7 @@ namespace Controladora
public ReadOnlyCollection<Presupuesto> ListarTodo()
{
return RepositorioPresupuesto.Instance.Listar();
return repositorioPresupuestos.Listar().AsReadOnly();
}
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Controladora
{
public class ControladoraProductoNoPercedero
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Controladora
{
public class ControladoraProductoPercedero
{
}
}

View File

@@ -6,45 +6,17 @@ namespace Controladora
{
public class ControladoraProductos : Singleton<ControladoraProductos>
{
public string Añadir(Producto t)
{
if (t == null) return "El Producto es nulo fallo la carga";
return (RepositorioProductos.Instance.Add(t)) ?
$"El Producto {t.Nombre} se cargo correctamente":
$"Fallo la carga del Producto {t.Nombre}";
}
public string Eliminar(Producto t)
{
if (t == null) return "El Producto es nulo fallo la carga";
return (RepositorioProductos.Instance.Del(t)) ?
$"El Producto {t.Nombre} se Elimino correctamente":
$"Fallo la Eliminacion del Producto {t.Nombre}";
}
public string Modificar(Producto t)
{
if (t == null) return "El Producto es nulo fallo la carga";
return (RepositorioProductos.Instance.Mod(t)) ?
$"El Producto {t.Nombre} se Modifico correctamente":
$"Fallo la Modificacion del Producto {t.Nombre}";
}
public ReadOnlyCollection<Producto> Listar()
{
return RepositorioProductos.Instance.Listar()
return new RepositorioProductos(new Context()).Listar()
.Where(x => x.Habilitado == true)
.ToList()
.AsReadOnly();
}
public ReadOnlyCollection<Proveedor> ListarProveedores(Producto producto)
{
Producto productoalistar = RepositorioProductos.Instance.Listar().First(x => x.Id == producto.Id);
Producto productoalistar = new RepositorioProductos(new Context()).Listar().First(x => x.Id == producto.Id);
if (productoalistar == null) return new ReadOnlyCollection<Proveedor>(new List<Proveedor>());
return productoalistar.ListarProveedores();
@@ -54,7 +26,7 @@ namespace Controladora
{
if (producto == null) return null;
if (producto.Id < 0) return null;
var lista = RepositorioProductos.Instance.Listar();
var lista = new RepositorioProductos(new Context()).Listar();
if (lista.Any(x=> x.Id == producto.Id)){
return lista.First(x => x.Id == producto.Id);
}
@@ -63,7 +35,7 @@ namespace Controladora
public ReadOnlyCollection<Proveedor> ListarProveedores()
{
return RepositorioProveedor.Instance.Listar()
return ControladoraProveedores.Instance.Listar()
.Where(x => x.Habilitado == true)
.ToList()
.AsReadOnly();
@@ -71,7 +43,7 @@ namespace Controladora
public ReadOnlyCollection<Categoria> ListarCategorias()
{
return RepositorioCategoria.Instance.Listar();
return ControladoraCategorias.Instance.Listar();
}
public int MostrarStock(Producto producto)

View File

@@ -6,13 +6,20 @@ namespace Controladora
{
public class ControladoraProveedores : Singleton<ControladoraProveedores>
{
private RepositorioProveedor repositorioProveedor;
public ControladoraProveedores()
{
repositorioProveedor = new RepositorioProveedor(new Context());
}
public string Añadir(Proveedor t)
{
if (t == null) return "El Proveedor es nulo fallo la carga";
try
{
return RepositorioProveedor.Instance.Add(t) ?
repositorioProveedor.Add(t);
return repositorioProveedor.Guardar() ?
$"El Proveedor {t.Nombre} se cargó correctamente" :
$"Falló la carga del Proveedor {t.Nombre}";
}
@@ -24,11 +31,12 @@ namespace Controladora
public string Eliminar(long t)
{
var proveedor = RepositorioProveedor.Instance.Listar().FirstOrDefault(x => x.Cuit == t);
var proveedor = repositorioProveedor.Listar().FirstOrDefault(x => x.Cuit == t);
if (proveedor == null) return "El Proveedor es nulo fallo la baja";
return (RepositorioProveedor.Instance.Del(proveedor)) ?
repositorioProveedor.Del(proveedor);
return (repositorioProveedor.Guardar()) ?
$"El Proveedor {proveedor.Nombre} se eliminó correctamente" :
$"Falló la eliminación del Proveedor {t}";
}
@@ -37,14 +45,15 @@ namespace Controladora
{
if (t == null) return "El Proveedor es nulo fallo la modificación";
return (RepositorioProveedor.Instance.Mod(t)) ?
repositorioProveedor.Mod(t);
return (repositorioProveedor.Guardar()) ?
$"El Proveedor {t.Nombre} se modificó correctamente" :
$"Falló la modificación del Proveedor {t.Nombre}";
}
public ReadOnlyCollection<Proveedor> Listar()
{
return RepositorioProveedor.Instance.Listar()
return repositorioProveedor.Listar()
.Where(x => x.Habilitado == true)
.ToList()
.AsReadOnly();

View File

@@ -6,9 +6,16 @@ namespace Controladora
{
public class ControladoraRemito : Singleton<ControladoraRemito>
{
private RepositorioRemito repositorioRemito;
public ControladoraRemito()
{
repositorioRemito = new RepositorioRemito(new Context());
}
public ReadOnlyCollection<Remito> Listar()
{
return RepositorioRemito.Instance.Listar();
return repositorioRemito.Listar()
.AsReadOnly();
}
public string Añadir(Remito t, OrdenDeCompra orden )
@@ -16,13 +23,15 @@ namespace Controladora
if (t == null) return "El Remito es nulo fallo la carga";
if (t.Id < 0) return "El id Esta Mal Cargado";
var retMarcarOrdenEntregada = RepositorioOrdenDeCompra.Instance.MarcarEntregado(orden);
if (retMarcarOrdenEntregada == false) return "La orden Esta Mal Cargada";
var retRemito = RepositorioRemito.Instance.Add(t);
if (retRemito == false) return "El Remito Esta Mal Cargado";
var retLotes = RepositorioLote.Instance.Add(t);
orden.Entregado = true;
var retMarcarOrdenEntregada = ControladoraOrdenDeCompras.Instance.Modificar(orden);
return (retLotes) ?
repositorioRemito.Add(t);
ControladoraLotes.Instance.AltaStock(t);
return (repositorioRemito.Guardar()) ?
$"El remito {t.Id} se cargo correctamente":
$"Fallo la carga del remito {t.Id}";
@@ -46,20 +55,20 @@ namespace Controladora
public object ListarLotes()
{
return RepositorioLote.Instance.Listar().Where(x => x.Habilitado == true)
return ControladoraLotes.Instance.Listar().Where(x => x.Habilitado == true)
.ToList().AsReadOnly();
}
public ReadOnlyCollection<OrdenDeCompra> ListarOrdenesSinEntregar()
{
return RepositorioOrdenDeCompra.Instance.Listar()
return ControladoraOrdenDeCompras.Instance.Listar()
.Where(x => x.Entregado == false)
.ToList()
.AsReadOnly();
}
public ReadOnlyCollection<DetalleOrdenDeCompra> ListarDetallesOrdenesDeCompra(OrdenDeCompra orden)
{
var ordenalistar = RepositorioOrdenDeCompra.Instance.Listar().First(x => x.Id == orden.Id);
var ordenalistar = ControladoraOrdenDeCompras.Instance.Listar().First(x => x.Id == orden.Id);
if (ordenalistar == null) return new ReadOnlyCollection<DetalleOrdenDeCompra>(new List<DetalleOrdenDeCompra>());
return ordenalistar.MostrarDetalles();
@@ -69,12 +78,12 @@ namespace Controladora
{
if (ordenDeCompra == null) return null;
if (ordenDeCompra.Id < 0) return null;
return RepositorioOrdenDeCompra.Instance.Listar().First(x => x.Id == ordenDeCompra.Id);
return ControladoraOrdenDeCompras.Instance.Listar().First(x => x.Id == ordenDeCompra.Id);
}
public ReadOnlyCollection<Lote> ListarLotesPorRemito(Remito rem)
{
var remalistar = RepositorioRemito.Instance.Listar().First(x => x.Id == rem.Id);
var remalistar = repositorioRemito.Listar().First(x => x.Id == rem.Id);
if (remalistar == null) return new ReadOnlyCollection<Lote>(new List<Lote>());
return remalistar.MostrarLotes();

View File

@@ -1,9 +1,13 @@
namespace Controladora
using Modelo;
namespace Controladora
{
public class Singleton<T> where T : new()
public class Singleton<T>
where T : new()
{
// Singleton thread-safe por si quiero usar "Parallel"
private static T instance = new T();
public static T Instance
{
get