public static void CreateFactura(FacturaEncabezado oFacturaEncabezado) { List <SqlParameter> listaInsertar = new List <SqlParameter>(); SqlParameter paramId = new SqlParameter("@Identity", SqlDbType.Int) { Direction = ParameterDirection.Output }; SqlParameter IdClient = new SqlParameter("@P_IdCliente", oFacturaEncabezado.IdCliente); SqlParameter NumFac = new SqlParameter("@P_NumeroFactura", oFacturaEncabezado.NumeroFactura); SqlParameter CodigoCliente = new SqlParameter("@P_CodigoEmpresa", oFacturaEncabezado.CodigoEmpresa); SqlParameter CodigoEmpresa = new SqlParameter("@P_CodigoCliente", oFacturaEncabezado.CodigoCliente); SqlParameter Sub_Total = new SqlParameter("@P_Sub_Total", oFacturaEncabezado.Sub_Total); SqlParameter Impuesto = new SqlParameter("@P_Impuesto", oFacturaEncabezado.Impuesto); SqlParameter Total = new SqlParameter("@P_Total", oFacturaEncabezado.Total); SqlParameter FechaFactura = new SqlParameter("@P_FechaFactura", oFacturaEncabezado.FechaFactura); listaInsertar.Add(NumFac); listaInsertar.Add(IdClient); listaInsertar.Add(CodigoCliente); listaInsertar.Add(CodigoEmpresa); listaInsertar.Add(Sub_Total); listaInsertar.Add(Impuesto); listaInsertar.Add(Total); listaInsertar.Add(FechaFactura); listaInsertar.Add(paramId); Conexion.EjecutarOperacion("FacturaEncabezadoInsert", listaInsertar, CommandType.StoredProcedure); int idEncabezado = (int)paramId.Value; foreach (FacturaDetalle Linea in oFacturaEncabezado.Lineas) { List <SqlParameter> ListaDetalle = new List <SqlParameter>(); Linea.IdFacturaEncabezado = idEncabezado; SqlParameter IdFacDetalle = new SqlParameter("@P_Identity", SqlDbType.Int) { Direction = ParameterDirection.Output }; SqlParameter IdFacEnc = new SqlParameter("@P_IdFacturaEncabezado", Linea.IdFacturaEncabezado); SqlParameter IdProd = new SqlParameter("@P_IdProducto", Linea.IdProducto); SqlParameter CodigoProducto = new SqlParameter("@P_CodigoProducto", Linea.CodigoProducto); SqlParameter NombreProducto = new SqlParameter("@P_NombreProducto", Linea.NombreProducto); SqlParameter descuento = new SqlParameter("@P_Descuento", Linea.Descuento); SqlParameter cantidad = new SqlParameter("@P_cantidad", Linea.Cantidad); ListaDetalle.Add(IdFacEnc); ListaDetalle.Add(IdProd); ListaDetalle.Add(CodigoProducto); ListaDetalle.Add(NombreProducto); ListaDetalle.Add(descuento); ListaDetalle.Add(cantidad); ListaDetalle.Add(IdFacDetalle); // agrega el idDetalle Conexion.EjecutarOperacion("FacturaDetalleInsert", ListaDetalle, CommandType.StoredProcedure); int idDetalle = (int)IdFacDetalle.Value; } }
public Operacion ImprimirFactura(FacturaEncabezado facturaEncabezado) { return new Operacion { Codigo = 0, Resultado = ResultadoOperacionTipo.Exito, Mensaje = "Proces exitoso" }; }
public static void DeleteFactura(FacturaEncabezado ofacturaEncabezado) { List <SqlParameter> lista = new List <SqlParameter>(); SqlParameter codigo = new SqlParameter("@P_IdFacturaEncabezado", ofacturaEncabezado.IdEncabezado); lista.Add(codigo); Conexion.EjecutarOperacion("FacturaEncabezadoDelete", lista, CommandType.StoredProcedure); }
public static bool RegistrarFacturaVenta(FacturaEncabezado oFacturaVta) { try { FacturaPersistence.CreateFactura(oFacturaVta); return(true); } catch (Exception ex) { return(false); throw ex; } }
private void btnGuardar_Click(object sender, EventArgs e) { cboCliente.ValueMember = "IdCliente"; var _IdCliente = int.Parse(cboCliente.SelectedValue.ToString()); var _NumeroFactura = txtNroFactura.Text; cboCliente.ValueMember = "CodigoCliente"; var _CodigoEmpresa = cboCliente.SelectedValue.ToString(); var _CodigoCliente = cboCliente.SelectedValue.ToString(); var _Impuesto = decimal.Parse(txtImpuesto.Text); var _FechaFactura = DateTime.Parse(txtFechaFactura.Text); FacturaEncabezado oFactura = new FacturaEncabezado { IdCliente = _IdCliente, NumeroFactura = _NumeroFactura, CodigoEmpresa = _CodigoEmpresa, CodigoCliente = _CodigoCliente, Impuesto = _Impuesto, Total = Convert.ToDecimal(txtTotal.Text), Sub_Total = Convert.ToDecimal(txtSubTotal.Text), FechaFactura = _FechaFactura }; foreach (DataGridViewRow row in dgvDetalle.Rows) { FacturaDetalle FacturaLinea = new FacturaDetalle { IdProducto = Convert.ToInt16(row.Cells["IdProducto"].Value), CodigoProducto = Convert.ToString(row.Cells["CodigoProducto"].Value), NombreProducto = Convert.ToString(row.Cells["NombreProducto"].Value), Descuento = Convert.ToDecimal(row.Cells["Descuento"].Value), Cantidad = Convert.ToInt16(row.Cells["Cantidad"].Value), Precio = Convert.ToDecimal(row.Cells["Precio"].Value) }; oFactura.Lineas.Add(FacturaLinea); } Venta.RegistrarFacturaVenta(oFactura); LimpiarControles(false); }
public static void UpdateFactura(FacturaEncabezado oFacturaEncabezado) { List <SqlParameter> listaInsertar = new List <SqlParameter>(); SqlParameter IdFacturaEncabezado = new SqlParameter("@P_IdFacturaEncabezado", oFacturaEncabezado.IdEncabezado); SqlParameter NumFac = new SqlParameter("@P_IdProducto", oFacturaEncabezado.NumeroFactura); SqlParameter CodigoCliente = new SqlParameter("@P_CodigoEmpresa", oFacturaEncabezado.CodigoEmpresa); SqlParameter CodigoEmpresa = new SqlParameter("@P_CodigoClient", oFacturaEncabezado.CodigoCliente); SqlParameter Sub_Total = new SqlParameter("@P_Sub_Total", oFacturaEncabezado.Sub_Total); SqlParameter Impuesto = new SqlParameter("@P_Impuesto", oFacturaEncabezado.Impuesto); SqlParameter Total = new SqlParameter("@P_Total", oFacturaEncabezado.Total); SqlParameter FechaFactura = new SqlParameter("@P_FechaFactura", oFacturaEncabezado.FechaFactura); listaInsertar.Add(IdFacturaEncabezado); listaInsertar.Add(NumFac); listaInsertar.Add(CodigoCliente); listaInsertar.Add(CodigoEmpresa); listaInsertar.Add(Sub_Total); listaInsertar.Add(Impuesto); listaInsertar.Add(Total); listaInsertar.Add(FechaFactura); Conexion.EjecutarOperacion("FacturaEncabezadoUpdate", listaInsertar, CommandType.StoredProcedure); foreach (FacturaDetalle Linea in oFacturaEncabezado.Lineas) { List <SqlParameter> ListaDetalle = new List <SqlParameter>(); SqlParameter IdFacEnc = new SqlParameter("@P_IdFacturaEncabezado", Linea.IdFacturaEncabezado); SqlParameter IdProd = new SqlParameter("@P_IdProducto", Linea.IdProducto); SqlParameter CodigoProducto = new SqlParameter("@P_CodigoProducto", Linea.CodigoProducto); SqlParameter NombreProducto = new SqlParameter("@P_NombreProducto", Linea.NombreProducto); SqlParameter descuento = new SqlParameter("@P_Descuento", Linea.Descuento); SqlParameter cantidad = new SqlParameter("@P_cantidad", Linea.Cantidad); ListaDetalle.Add(IdFacEnc); ListaDetalle.Add(IdProd); ListaDetalle.Add(CodigoProducto); ListaDetalle.Add(NombreProducto); ListaDetalle.Add(descuento); ListaDetalle.Add(cantidad); Conexion.EjecutarOperacion("FacturaDetalleUpdate", listaInsertar, CommandType.StoredProcedure); } }
public Operacion ActualziarFacturaPostPicking(FacturaEncabezado facturaEncabezado) { try { BaseDeDatosServicio.BeginTransaction(); Operacion op; if (facturaEncabezado.INVOICE_ID < 0) { op = ObtenerNumeroFactura(facturaEncabezado.CDF_RESOLUCION, facturaEncabezado.CDF_SERIE); } else { op = new Operacion { Codigo = 0, Resultado = ResultadoOperacionTipo.Exito, Mensaje = "Proces exitoso", Dato = facturaEncabezado.INVOICE_ID }; } var sb = new StringBuilder(); sb.Append("UPDATE SONDA_POS_INVOICE_HEADER SET "); sb.AppendFormat("INVOICE_ID = {0}", op.ObtenerDato<string>()); sb.AppendFormat(" ,TOTAL_AMOUNT = {0}", facturaEncabezado.TOTAL_AMOUNT); sb.Append(" ,INVOICED_DATETIME = GETDATE()"); sb.AppendFormat(" ,CDF_INVOICENUM = {0}", op.ObtenerDato<string>()); sb.AppendFormat(" ,CDF_SERIE = '{0}'", facturaEncabezado.CDF_SERIE); sb.AppendFormat(" ,CDF_NIT = '{0}'", facturaEncabezado.CDF_NIT); sb.AppendFormat(" ,CDF_NOMBRECLIENTE = '{0}'", facturaEncabezado.CDF_NOMBRECLIENTE); sb.AppendFormat(" ,CDF_RESOLUCION = '{0}'", facturaEncabezado.CDF_RESOLUCION); sb.AppendFormat(" ,VOID_DATETIME = CONVERT(DATETIME,'{0}')", facturaEncabezado.VOID_DATETIME.ToString("yyyy-MM-dd")); sb.AppendFormat(" ,VOID_REASON = '{0}'", facturaEncabezado.VOID_REASON); sb.AppendFormat(" ,VOID_NOTES = '{0}'", facturaEncabezado.VOID_NOTES); sb.AppendFormat(" ,CLOSED_ROUTE_DATETIME = CONVERT(DATETIME, '{0}')", facturaEncabezado.CLOSED_ROUTE_DATETIME.ToString("yyyy-MM-dd")); sb.AppendFormat(" ,CLEARING_DATETIME = CONVERT(DATETIME, '{0}')", facturaEncabezado.CLEARING_DATETIME.ToString("yyyy-MM-dd")); sb.AppendFormat(" WHERE INVOICE_ID = {0}", facturaEncabezado.INVOICE_ID); BaseDeDatosServicio.ExecuteNonQuery(sb.ToString(), CommandType.Text); sb.Length = 0; foreach (FacturaDetalle itemFacturaDetalle in facturaEncabezado.Detalle) { sb.Append("UPDATE SONDA_POS_INVOICE_DETAIL SET "); sb.AppendFormat("INVOICE_ID = {0}", op.ObtenerDato<string>()); sb.AppendFormat(" ,INVOICE_SERIAL = '{0}'", facturaEncabezado.CDF_SERIE); sb.AppendFormat(" ,QTY = {0}", itemFacturaDetalle.QTY); sb.AppendFormat(" ,PRICE = {0}", itemFacturaDetalle.PRICE); sb.AppendFormat(" ,TOTAL_LINE = {0}", (itemFacturaDetalle.PRICE * itemFacturaDetalle.QTY)); sb.AppendFormat(" ,SERIE = '{0}'", itemFacturaDetalle.SERIE); sb.AppendFormat(" ,SERIE_2 = '{0}'", itemFacturaDetalle.SERIE_2); sb.AppendFormat(" ,REQUERIES_SERIE = '{0}'", itemFacturaDetalle.REQUERIES_SERIE); sb.AppendFormat(" ,INVOICE_RESOLUTION = '{0}'", facturaEncabezado.CDF_RESOLUCION); sb.AppendFormat(" WHERE INVOICE_ID = {0} AND LINE_SEQ = {1}", itemFacturaDetalle.INVOICE_ID, itemFacturaDetalle.LINE_SEQ); BaseDeDatosServicio.ExecuteNonQuery(sb.ToString(), CommandType.Text); sb.Length = 0; } BaseDeDatosServicio.Commit(); return new Operacion { Codigo = 0, Dato = ObtenerFactura(Convert.ToInt32(op.ObtenerDato<string>())), Mensaje = "Proceso Exitoso", Resultado = ResultadoOperacionTipo.Exito }; } catch (DbException e) { BaseDeDatosServicio.Rollback(); return new Operacion { Codigo = e.ErrorCode, Mensaje = e.HumanReadMessage(), Resultado = Tipos.ResultadoOperacionTipo.Error }; } catch (Exception ex) { BaseDeDatosServicio.Rollback(); return new Operacion { Codigo = -1, Mensaje = ex.Message, Resultado = Tipos.ResultadoOperacionTipo.Error }; } }