public static bool Modificar(Inventario inventario) { Contexto contexto = new Contexto(); bool paso = false; var invAnterior = Buscar(inventario.InventarioId); try { if (invAnterior != null) { foreach (var item in invAnterior.Productos) { var producto = ProductosBLL.Buscar(item.ProductoId); producto.Inventario -= item.Inventario; producto.ValorInventario = producto.Inventario * producto.PrecioUnitario; ProductosBLL.Modificar(producto); contexto.Entry(item).State = EntityState.Deleted; } } foreach (var item in inventario.Productos) { if (item.InventarioDetalleId == 0) { contexto.Entry(item).State = EntityState.Added; var producto = ProductosBLL.Buscar(item.ProductoId); producto.Inventario += item.Inventario; producto.ValorInventario = producto.Inventario * producto.PrecioUnitario; ProductosBLL.Modificar(producto); } else { contexto.Entry(item).State = EntityState.Modified; var Producto = ProductosBLL.Buscar(item.ProductoId); Producto.Inventario += item.Inventario; Producto.ValorInventario = Producto.Inventario * Producto.PrecioUnitario; ProductosBLL.Modificar(Producto); } } contexto.Entry(inventario).State = EntityState.Modified; paso = (contexto.SaveChanges() > 0); } catch (Exception) { throw; } finally { contexto.Dispose(); } return(paso); }
public static bool Eliminar(int id) { Contexto contexto = new Contexto(); bool paso = false; try { Ventas venta = VentasBLL.Buscar(id); if (venta != null) { Clientes cliente = ClientesBLL.Buscar(venta.ClienteId); if (venta.Tipo == "Credito") { if (venta.TotalGeneral > cliente.Balance) { cliente.Balance = 0; } else { cliente.Balance -= venta.TotalGeneral; cliente.LimiteCredito += venta.TotalGeneral; ClientesBLL.Modificar(cliente); } } foreach (var item in venta.VentasDetalle) //Afecta el inventario { var Producto = ProductosBLL.Buscar(item.ProductoId); Producto.Inventario += item.Cantidad; Producto.ValorInventario = Producto.Inventario * Producto.PrecioUnitario; ProductosBLL.Modificar(Producto); } contexto.Ventas.Remove(venta); paso = (contexto.SaveChanges() > 0); } } catch (Exception) { throw; } finally { contexto.Dispose(); } return(paso); }
public static bool Modificar(Ventas venta) { Contexto contexto = new Contexto(); bool paso = false; var ventaAnterior = Buscar(venta.VentaId); Clientes cliente = ClientesBLL.Buscar(ventaAnterior.ClienteId); Clientes NuevoCliente = ClientesBLL.Buscar(venta.ClienteId); try { if (ventaAnterior.ClienteId == venta.ClienteId) { if (venta.Tipo == "Credito") { if (ventaAnterior.Tipo == "Contado") { cliente.Balance += venta.TotalGeneral; cliente.LimiteCredito -= venta.TotalGeneral; ClientesBLL.Modificar(cliente); } else { if ((ventaAnterior.TotalGeneral != venta.TotalGeneral)) { cliente.Balance = ((cliente.Balance - ventaAnterior.TotalGeneral) + venta.TotalGeneral); cliente.LimiteCredito = ((cliente.LimiteCredito + ventaAnterior.TotalGeneral) - venta.TotalGeneral); } ClientesBLL.Modificar(cliente); } } else { if (ventaAnterior.Tipo == "Credito") { cliente.Balance -= ventaAnterior.TotalGeneral; cliente.LimiteCredito += venta.TotalGeneral; ClientesBLL.Modificar(cliente); } } } else { if (ventaAnterior.Tipo == "Credito") { if (venta.Tipo == "Contado") { cliente.Balance -= ventaAnterior.TotalGeneral; cliente.LimiteCredito += ventaAnterior.TotalGeneral; ClientesBLL.Modificar(cliente); } else { if (venta.Tipo == "Credito") { cliente.Balance -= ventaAnterior.TotalGeneral; cliente.LimiteCredito += ventaAnterior.TotalGeneral; ClientesBLL.Modificar(cliente); NuevoCliente.Balance += venta.TotalGeneral; NuevoCliente.LimiteCredito -= venta.TotalGeneral; ClientesBLL.Modificar(NuevoCliente); } } } else { if (venta.Tipo == "Credito") { NuevoCliente.Balance += venta.TotalGeneral; NuevoCliente.LimiteCredito -= venta.TotalGeneral; ClientesBLL.Modificar(NuevoCliente); } } } foreach (var item in ventaAnterior.VentasDetalle) { if (!venta.VentasDetalle.Exists(o => o.VentasDetalleId == item.VentasDetalleId)) { var producto = ProductosBLL.Buscar(item.ProductoId); producto.Inventario += item.Cantidad; producto.ValorInventario = producto.Inventario * producto.PrecioUnitario; ProductosBLL.Modificar(producto); contexto.Entry(item).State = EntityState.Deleted; } } foreach (var item in venta.VentasDetalle) { if (item.VentasDetalleId == 0) { contexto.Entry(item).State = EntityState.Added; var producto = ProductosBLL.Buscar(item.ProductoId); producto.Inventario -= item.Cantidad; producto.ValorInventario = producto.Inventario * producto.PrecioUnitario; ProductosBLL.Modificar(producto); } else { contexto.Entry(item).State = EntityState.Modified; var Producto = ProductosBLL.Buscar(item.ProductoId); Producto.ValorInventario = Producto.Inventario * Producto.PrecioUnitario; ProductosBLL.Modificar(Producto); } } contexto.Entry(venta).State = EntityState.Modified; paso = (contexto.SaveChanges() > 0); } catch (Exception) { throw; } finally { contexto.Dispose(); } return(paso); }