/// <summary> /// El valor booleano representa si es una compra (true) o venta (false) /// </summary> /// <param name="producto"></param> /// <param name="ban"></param> public void Transaccion(List <EProducto> Producto, bool ban) { var Total = getTotal(Producto, ban); try { //Si es una compra checkeo si el producto ya existe y hago un Update if (prodService.CheckIfExists(Producto.First().id)) { if (ban) { prodService.UpdateStock(Producto.First().id, Producto.First().Cantidad, ban); } else { foreach (EProducto producto in Producto) { prodService.UpdateStock(producto.id, producto.Cantidad, ban); } } } //Caso contrario Inserto el nuevo producto. else { prodService.Insert(Producto.First()); } //Dependiendo si es compra o venta mando determinada tabla al historico if (ban) { FillHistorico(Producto.First(), ban, Total); _historico.nOperacion = cajaService.GetNextVal("COMPRA_HISTORICO"); cajaService.GrabarHistorico(_historico, "COMPRA_HISTORICO"); } else { _historico.nOperacion = cajaService.GetNextVal("VENTA_HISTORICO"); foreach (EProducto producto in Producto) { FillHistorico(producto, ban, Total); cajaService.GrabarHistorico(_historico, "VENTA_HISTORICO"); } } } catch (Exception ex) { throw ex; } }