public static bool Guardar(EntradaArticulos entradaAriticulos) { bool paso = false; Contexto contexto = new Contexto(); try { if (contexto.EntradaArticulos.Add(entradaAriticulos) != null) { Articulos articulo = ArticulosBLL.Buscar(entradaAriticulos.ArticuloID); articulo.Vigencia += entradaAriticulos.Cantidad; articulo.PrecioCompra += entradaAriticulos.PrecioCompra; articulo.PrecioVenta += entradaAriticulos.PrecioVenta; articulo.Ganancia += entradaAriticulos.Ganancia; BLL.ArticulosBLL.Modificar(articulo); contexto.SaveChanges(); paso = true; } contexto.Dispose(); } catch (Exception) { throw; } return(paso); }
public static bool Eliminar(int id) { bool paso = false; Contexto contexto = new Contexto(); try { Facturacion facturacion = contexto.Facturacion.Find(id); if (facturacion != null) { foreach (var item in facturacion.Detalle) { Articulos Articulo = ArticulosBLL.Buscar(item.ArticuloID); Articulo.Vigencia += item.Cantidad; contexto.Entry(Articulo).State = EntityState.Modified; } int totalactual = Convert.ToInt32(facturacion.Total); int totalanterior = Convert.ToInt32(contexto.Cliente.Find(facturacion.ClienteID).Total); if (totalactual > totalanterior) { contexto.Cliente.Find(facturacion.ClienteID).Total = 0; } else { contexto.Cliente.Find(facturacion.ClienteID).Total -= facturacion.Total; } contexto.inversion.Find(facturacion.InversionID).Monto -= facturacion.Total; facturacion.Detalle.Count(); contexto.Facturacion.Remove(facturacion); } paso = contexto.SaveChanges() > 0; } catch (Exception) { throw; } finally { contexto.Dispose(); } return(paso); }
public static bool Guardar(Facturacion facturacion) { bool paso = false; Contexto contexto = new Contexto(); Cliente cliente = new Cliente(); try { if (contexto.Facturacion.Add(facturacion) != null) { foreach (var item in facturacion.Detalle) { Articulos Articulo = ArticulosBLL.Buscar(item.ArticuloID); Articulo.Vigencia -= item.Cantidad; contexto.Entry(Articulo).State = EntityState.Modified; } var inversion = contexto.inversion.Find(facturacion.InversionID); //Este bloque de codigo afecta la inversion de forma positiva cuando la facturacion es saldada en el mismo momento que se genera if (facturacion.Total == facturacion.Abono) { inversion.Monto += facturacion.Total; contexto.Entry(inversion).State = EntityState.Modified; } else { contexto.Cliente.Find(facturacion.ClienteID).Total += facturacion.Total; inversion.Monto -= facturacion.Total; } //SaveChanges retorna un entero que indica la cantidad de filas que han sido afectadas,es decir que si es mayor que cero todo salio bien. paso = contexto.SaveChanges() > 0; } contexto.Dispose(); } catch (Exception) { throw; } return(paso); }