public void delete(DetalleDeEgresoEnt detalleDeEgreso)
 {
     SqlConnection sqlConnection = new SqlConnection(ConexionDal.connectionString);
     SqlCommand sqlCommand = sqlConnection.CreateCommand();
     sqlCommand.CommandType = CommandType.Text;
     sqlCommand.CommandText = "Update Detalle_De_Egreso Set Estado = 'ELIMINADO' Where Id = @Id";
     sqlCommand.Parameters.AddWithValue("@Id", detalleDeEgreso.ID);
     sqlConnection.Open();
     sqlCommand.ExecuteNonQuery();
     sqlConnection.Close();
 }
 public void update(DetalleDeEgresoEnt detalleDeEgreso)
 {
     SqlConnection sqlConnection = new SqlConnection(ConexionDal.connectionString);
     SqlCommand sqlCommand = sqlConnection.CreateCommand();
     sqlCommand.CommandType = CommandType.Text;
     sqlCommand.CommandText = "Update Detalle_De_Egreso Set Cantidad = @Cantidad, Precio_Unitario = @Precio_Unitario, "
         + "Monto_Total = @Monto_Total, Estado = @Estado Where Id = @Id";
     sqlCommand.Parameters.AddWithValue("@Cantidad", detalleDeEgreso.CANTIDAD);
     sqlCommand.Parameters.AddWithValue("@Precio_Unitario", detalleDeEgreso.PRECIO_UNITARIO);
     sqlCommand.Parameters.AddWithValue("@Monto_Total", detalleDeEgreso.MONTO_TOTAL);
     sqlCommand.Parameters.AddWithValue("@Estado", detalleDeEgreso.ESTADO);
     sqlCommand.Parameters.AddWithValue("@Id", detalleDeEgreso.ID);
     sqlConnection.Open();
     sqlCommand.ExecuteNonQuery();
     sqlConnection.Close();
 }
 public int add(DetalleDeEgresoEnt detalleDeEgreso)
 {
     SqlConnection sqlConnection = new SqlConnection(ConexionDal.connectionString);
     SqlCommand sqlCommand = sqlConnection.CreateCommand();
     sqlCommand.CommandType = CommandType.StoredProcedure;
     sqlCommand.CommandText = "insertarDetalleDeEgreso";
     sqlCommand.Parameters.AddWithValue("@Id_Egreso", detalleDeEgreso.ID_EGRESO);
     sqlCommand.Parameters.AddWithValue("@Id_Producto", detalleDeEgreso.ID_PRODUCTO);
     sqlCommand.Parameters.AddWithValue("@Cantidad", detalleDeEgreso.CANTIDAD);
     sqlCommand.Parameters.AddWithValue("@Precio_Unitario", detalleDeEgreso.PRECIO_UNITARIO);
     sqlCommand.Parameters.AddWithValue("@Monto_Total", detalleDeEgreso.MONTO_TOTAL);
     sqlCommand.Parameters.AddWithValue("@Estado", detalleDeEgreso.ESTADO);
     sqlConnection.Open();
     int id = Convert.ToInt32(sqlCommand.ExecuteScalar());
     sqlConnection.Close();
     return id;
 }
 public void update(DetalleDeEgresoEnt detalleDeEgreso)
 {
     objetoDetalleDeEgreso.update(detalleDeEgreso);
 }
 public void delete(DetalleDeEgresoEnt detalleDeEgreso)
 {
     objetoDetalleDeEgreso.delete(detalleDeEgreso);
 }
 public void cancel(DetalleDeEgresoEnt detalleDeEgreso)
 {
     objetoDetalleDeEgreso.cancel(detalleDeEgreso);
 }
 public int add(DetalleDeEgresoEnt detalleDeEgreso)
 {
     return objetoDetalleDeEgreso.add(detalleDeEgreso);
 }
 private void buttonGuardar_Click(object sender, EventArgs e)
 {
     if (checkForErrors())
     {
         if (Convert.ToDecimal(textBoxMontoTotal.Text) < 5)
         {
             egreso.TIPO = "VENTA MENOR";
             egreso.FACTURADO = false;
         }
         else if (checkBoxFacturaManual.Checked)
         {
             egreso.TIPO = "FACTURA MANUAL";
             egreso.FACTURADO = true;
         }
         else
         {
             egreso.TIPO = "FACTURA SISTEMA";
             egreso.FACTURADO = true;
         }
         egreso.METODO_DE_PAGO = "CONTADO";
         egreso.MONTO = Convert.ToDecimal(textBoxMontoTotal.Text);
         egreso.MONTO_PAGADO = Convert.ToDecimal(textBoxMontoPagado.Text);
         egreso.CAMBIO = Convert.ToDecimal(textBoxCambio.Text);
         egreso.OBSERVACIONES = "";
         egreso.ESTADO = "VIGENTE";
         objetoEgreso.update(egreso);
         foreach(DetalleDeEgresoEnt invoiceLine in invoiceLinesDeleted)
         {
             objetoDetalleDeEgreso.delete(invoiceLine);
         }
         for (int rowIndex = 0; rowIndex < dataGridViewDetalleDeVenta.Rows.Count; rowIndex++)
         {
             detalleDeEgreso = new DetalleDeEgresoEnt();
             detalleDeEgreso.ID = Convert.ToInt32(dataGridViewDetalleDeVenta["Id", rowIndex].Value);
             detalleDeEgreso.ID_EGRESO = egreso.ID;
             detalleDeEgreso.ID_PRODUCTO = Convert.ToInt32(dataGridViewDetalleDeVenta["Id_Producto", rowIndex].Value);
             detalleDeEgreso.CANTIDAD = Convert.ToDecimal(dataGridViewDetalleDeVenta["Cantidad", rowIndex].Value);
             detalleDeEgreso.PRECIO_UNITARIO = Convert.ToDecimal(dataGridViewDetalleDeVenta["Precio_Unitario", rowIndex].Value);
             detalleDeEgreso.MONTO_TOTAL = Convert.ToDecimal(dataGridViewDetalleDeVenta["Monto_Total", rowIndex].Value);
             detalleDeEgreso.ESTADO = "VIGENTE";
             if (detalleDeEgreso.ID == 0)
             {
                 objetoDetalleDeEgreso.add(detalleDeEgreso);
             }
             else
             {
                 objetoDetalleDeEgreso.update(detalleDeEgreso);
             }
         }
         if (objetoEgreso.isClosed(egreso) && egreso.MONTO != originalAmount)
         {
             DevolucionBss objetoDevolucion = new DevolucionBss();
             DevolucionEnt devolucion = new DevolucionEnt();
             devolucion.ID_USUARIO = SesionEnt.idUsuario;
             devolucion.ID_CAJA = SesionEnt.idCaja;
             devolucion.ID_APERTURA_DE_CAJA = aperturaDeCaja.ID;
             devolucion.ID_EGRESO = egreso.ID;
             devolucion.HORA = DateTime.Now.ToString("T");
             devolucion.MONTO = originalAmount - egreso.MONTO;
             objetoDevolucion.add(devolucion);
         }
         MessageBox.Show("Los datos fueron guardados correctamente", "Operación Exitosa", MessageBoxButtons.OK,
             MessageBoxIcon.Information);
         if (egreso.TIPO == "FACTURA SISTEMA")
         {
             dosificacion.ID_SUCURSAL = 1;
             DataTable dataTableDosificacion = objetoDosificacion.select(dosificacion);
             dosificacion.ID = Convert.ToInt32(dataTableDosificacion.Rows[0]["Id"]);
             dosificacion.NUMERO_DE_AUTORIZACION = dataTableDosificacion.Rows[0]["Numero_De_Autorizacion"].ToString();
             factura.LLAVE = @dataTableDosificacion.Rows[0]["Llave"].ToString();
             factura.ID_USUARIO = SesionEnt.idUsuario;
             factura.ID_CAJA = SesionEnt.idCaja;
             factura.ID_APERTURA_DE_CAJA = aperturaDeCaja.ID;
             factura.ID_EGRESO = egreso.ID;
             factura.ID_CLIENTE = egreso.ID_CLIENTE;
             factura.ID_DOSIFICACION = dosificacion.ID;
             factura.NUMERO_DE_AUTORIZACION = dosificacion.NUMERO_DE_AUTORIZACION;
             factura.NUMERO_DE_AUTORIZACION_AUXILIAR = dosificacion.NUMERO_DE_AUTORIZACION;
             factura.CI_O_NIT = textBoxCiONit.Text.Trim();
             factura.CI_O_NIT_AUXILIAR = factura.CI_O_NIT;
             factura.CLIENTE = textBoxCliente.Text.Trim().ToUpper();
             factura.FECHA = DateTime.Today.ToShortDateString();
             factura.FECHA_AUXILIAR = DateTime.Today.ToString("yyyyMMdd");
             factura.HORA = DateTime.Now.ToLongTimeString();
             factura.MONTO = egreso.MONTO;
             factura.MONTO_AUXILIAR = decimal.Round(factura.MONTO, 0).ToString();
             factura.MONTO_PAGADO = egreso.MONTO_PAGADO;
             factura.CAMBIO = egreso.CAMBIO;
             for (int rowIndex = 0; rowIndex < dataGridViewDetalleDeVenta.Rows.Count; rowIndex++)
             {
                 detalleDeFactura = new DetalleDeFacturaEnt();
                 detalleDeFactura.ID_PRODUCTO = Convert.ToInt32(dataGridViewDetalleDeVenta["Id_Producto", rowIndex].Value);
                 detalleDeFactura.DETALLE = dataGridViewDetalleDeVenta["Alias", rowIndex].Value.ToString();
                 detalleDeFactura.CANTIDAD = Convert.ToDecimal(dataGridViewDetalleDeVenta["Cantidad", rowIndex].Value);
                 detalleDeFactura.IMPORTE = Convert.ToDecimal(dataGridViewDetalleDeVenta["Monto_Total", rowIndex].Value);
                 objetoFactura.addDetalle(detalleDeFactura);
             }
             factura.ID = objetoFactura.add(factura);
             factura.NUMERO = objetoFactura.getNumber(factura);
             factura.NUMERO_AUXILIAR = factura.NUMERO.ToString();
             factura.CODIGO_DE_CONTROL = objetoFactura.getControlCode(factura);
             objetoFactura.updateControlCode(factura);
             objetoEgreso.updateFacturadoById(egreso);
             detalleDeFactura.ID_FACTURA = factura.ID;
             if (SesionEnt.printerEnabled)
             {
                 printInvoice(objetoFactura.getById(factura), objetoDetalleDeFactura.obtainById(detalleDeFactura));
             }
             else
             {
                 MessageBox.Show("La impresora se halla deshabilidada. No se imprimió la factura.", "Advertencia",
                     MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
         }
         this.Close();
     }
 }
 private void dataGridViewDetalleDeVenta_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
 {
     if (e.Row.Cells["Id"].Value.ToString() != "0")
     {
         detalleDeEgreso = new DetalleDeEgresoEnt();
         detalleDeEgreso.ID = Convert.ToInt32(e.Row.Cells["Id"].Value);
         invoiceLinesDeleted.Add(detalleDeEgreso);
     }
 }