public string Insertar1(DCompra Ingreso, List <DDetalleCompra> DetalleIngreso, DTransporte DetTransporte) { string rpta = ""; SqlConnection sqlCon = new SqlConnection(); try { sqlCon.ConnectionString = Conexion.cn; sqlCon.Open(); SqlTransaction sqlTran = sqlCon.BeginTransaction(); //Comandos SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = sqlCon; sqlCmd.Transaction = sqlTran; sqlCmd.CommandText = "sp_insertarCompra"; sqlCmd.CommandType = CommandType.StoredProcedure; SqlParameter ParIdIngreso = new SqlParameter(); ParIdIngreso.ParameterName = "@idIngreso"; ParIdIngreso.SqlDbType = SqlDbType.Int; ParIdIngreso.Direction = ParameterDirection.Output; sqlCmd.Parameters.Add(ParIdIngreso); SqlParameter ParIdUsuario = new SqlParameter(); ParIdUsuario.ParameterName = "@idUsuario"; ParIdUsuario.SqlDbType = SqlDbType.Int; ParIdUsuario.Value = Ingreso.IdUsuario; sqlCmd.Parameters.Add(ParIdUsuario); SqlParameter ParIdProveedor = new SqlParameter(); ParIdProveedor.ParameterName = "@idProveedor"; ParIdProveedor.SqlDbType = SqlDbType.Int; ParIdProveedor.Value = Ingreso.IdProveedor; sqlCmd.Parameters.Add(ParIdProveedor); SqlParameter ParFechaIngreso = new SqlParameter(); ParFechaIngreso.ParameterName = "@fechaIngreso"; ParFechaIngreso.SqlDbType = SqlDbType.Date; ParFechaIngreso.Value = Ingreso.FechaIngreso; sqlCmd.Parameters.Add(ParFechaIngreso); SqlParameter ParTipoCompr = new SqlParameter(); ParTipoCompr.ParameterName = "@tipoComprobante"; ParTipoCompr.SqlDbType = SqlDbType.VarChar; ParTipoCompr.Size = 20; ParTipoCompr.Value = Ingreso.TipoComprobante; sqlCmd.Parameters.Add(ParTipoCompr); SqlParameter ParSerie = new SqlParameter(); ParSerie.ParameterName = "@serie"; ParSerie.SqlDbType = SqlDbType.VarChar; ParSerie.Size = 4; ParSerie.Value = Ingreso.Serie; sqlCmd.Parameters.Add(ParSerie); SqlParameter ParCorrelativo = new SqlParameter(); ParCorrelativo.ParameterName = "@correlativo"; ParCorrelativo.SqlDbType = SqlDbType.VarChar; ParCorrelativo.Size = 7; ParCorrelativo.Value = Ingreso.Correlativo; sqlCmd.Parameters.Add(ParCorrelativo); SqlParameter ParIgv = new SqlParameter(); ParIgv.ParameterName = "@igv"; ParIgv.SqlDbType = SqlDbType.Decimal; ParIgv.Precision = 8; ParIgv.Scale = 2; ParIgv.Value = Ingreso.Igv; sqlCmd.Parameters.Add(ParIgv); SqlParameter ParFormaPago = new SqlParameter(); ParFormaPago.ParameterName = "@formaPago"; ParFormaPago.SqlDbType = SqlDbType.VarChar; ParFormaPago.Size = 20; ParFormaPago.Value = Ingreso.FormaPago; sqlCmd.Parameters.Add(ParFormaPago); SqlParameter ParTipoMoneda = new SqlParameter(); ParTipoMoneda.ParameterName = "@tipoMoneda"; ParTipoMoneda.SqlDbType = SqlDbType.VarChar; ParTipoMoneda.Size = 20; ParTipoMoneda.Value = Ingreso.TipoMoneda; sqlCmd.Parameters.Add(ParTipoMoneda); SqlParameter ParEstado = new SqlParameter(); ParEstado.ParameterName = "@estado"; ParEstado.SqlDbType = SqlDbType.VarChar; ParEstado.Size = 20; ParEstado.Value = Ingreso.Estado; sqlCmd.Parameters.Add(ParEstado); SqlParameter ParTotal = new SqlParameter(); ParTotal.ParameterName = "@total"; ParTotal.SqlDbType = SqlDbType.Decimal; ParTotal.Precision = 10; ParTotal.Scale = 2; ParTotal.Value = Ingreso.Total; sqlCmd.Parameters.Add(ParTotal); SqlParameter ParAdelanto = new SqlParameter(); ParAdelanto.ParameterName = "@adelanto"; ParAdelanto.SqlDbType = SqlDbType.Decimal; ParAdelanto.Precision = 8; ParAdelanto.Scale = 2; ParAdelanto.Value = Ingreso.Adelanto; sqlCmd.Parameters.Add(ParAdelanto); SqlParameter ParDcto = new SqlParameter(); ParDcto.ParameterName = "@descuento"; ParDcto.SqlDbType = SqlDbType.Decimal; ParDcto.Precision = 8; ParDcto.Scale = 2; ParDcto.Value = Ingreso.Descuento; sqlCmd.Parameters.Add(ParDcto); SqlParameter ParFlete = new SqlParameter(); ParFlete.ParameterName = "@flete"; ParFlete.SqlDbType = SqlDbType.Decimal; ParFlete.Precision = 8; ParFlete.Scale = 2; ParFlete.Value = Ingreso.Flete; sqlCmd.Parameters.Add(ParFlete); SqlParameter ParComisiones = new SqlParameter(); ParComisiones.ParameterName = "@comisiones"; ParComisiones.SqlDbType = SqlDbType.Decimal; ParComisiones.Precision = 8; ParComisiones.Scale = 2; ParComisiones.Value = Ingreso.Comisiones; sqlCmd.Parameters.Add(ParComisiones); SqlParameter ParLavadoJaba = new SqlParameter(); ParLavadoJaba.ParameterName = "@lavadoJaba"; ParLavadoJaba.SqlDbType = SqlDbType.Decimal; ParLavadoJaba.Precision = 8; ParLavadoJaba.Scale = 2; ParLavadoJaba.Value = Ingreso.LavadoJaba; sqlCmd.Parameters.Add(ParLavadoJaba); SqlParameter ParGastoCarga = new SqlParameter(); ParGastoCarga.ParameterName = "@gastoCarga"; ParGastoCarga.SqlDbType = SqlDbType.Decimal; ParGastoCarga.Precision = 8; ParGastoCarga.Scale = 2; ParGastoCarga.Value = Ingreso.GastoCarga; sqlCmd.Parameters.Add(ParGastoCarga); SqlParameter ParSaldo = new SqlParameter(); ParSaldo.ParameterName = "@saldo"; ParSaldo.SqlDbType = SqlDbType.Decimal; ParSaldo.Precision = 10; ParSaldo.Scale = 2; ParSaldo.Value = Ingreso.Saldo; sqlCmd.Parameters.Add(ParSaldo); SqlParameter ParMerma = new SqlParameter(); ParMerma.ParameterName = "@merma"; ParMerma.SqlDbType = SqlDbType.Decimal; ParMerma.Precision = 10; ParMerma.Scale = 2; ParMerma.Value = Ingreso.Merma; sqlCmd.Parameters.Add(ParMerma); rpta = sqlCmd.ExecuteNonQuery() == 1 ? "OK" : "No se ingresó el Registro"; if (rpta.Equals("OK")) { this.IdIngreso = Convert.ToInt32(sqlCmd.Parameters["@idIngreso"].Value); foreach (DDetalleCompra det in DetalleIngreso) { det.IdIngreso = this.IdIngreso; rpta = det.Insertar(det, ref sqlCon, ref sqlTran); if (!rpta.Equals("OK")) { break; } } DetTransporte.IdCompra = this.IdIngreso; rpta = DetTransporte.Insertar1(DetTransporte, ref sqlCon, ref sqlTran); } if (rpta.Equals("OK")) { sqlTran.Commit(); } else { sqlTran.Rollback(); } } catch (Exception ex) { rpta = ex.Message; } finally { if (sqlCon.State == ConnectionState.Open) { sqlCon.Close(); } } return(rpta); }
public string Insertar1(DTransporte Transporte, ref SqlConnection sqlCon, ref SqlTransaction sqlTran) { string rpta = ""; try { SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = sqlCon; sqlCmd.Transaction = sqlTran; //Comandos sqlCmd.CommandText = "sp_insertarTransporte"; sqlCmd.CommandType = CommandType.StoredProcedure; SqlParameter ParIdTransporte = new SqlParameter(); ParIdTransporte.ParameterName = "@idTransporte"; ParIdTransporte.SqlDbType = SqlDbType.Int; ParIdTransporte.Direction = ParameterDirection.Output; sqlCmd.Parameters.Add(ParIdTransporte); SqlParameter ParIdPersona = new SqlParameter(); ParIdPersona.ParameterName = "@idPersona"; ParIdPersona.SqlDbType = SqlDbType.Int; ParIdPersona.Value = Transporte.IdPersona; sqlCmd.Parameters.Add(ParIdPersona); SqlParameter ParFechaSalida = new SqlParameter(); ParFechaSalida.ParameterName = "@fechaSalida"; ParFechaSalida.SqlDbType = SqlDbType.Date; ParFechaSalida.Value = Transporte.FechaSalida; sqlCmd.Parameters.Add(ParFechaSalida); SqlParameter ParFechaLlegada = new SqlParameter(); ParFechaLlegada.ParameterName = "@fechaLlegada"; ParFechaLlegada.SqlDbType = SqlDbType.Date; ParFechaLlegada.Value = Transporte.FechaLlegada; sqlCmd.Parameters.Add(ParFechaLlegada); SqlParameter ParViaticos = new SqlParameter(); ParViaticos.ParameterName = "@viaticos"; ParViaticos.SqlDbType = SqlDbType.Decimal; ParViaticos.Precision = 8; ParViaticos.Scale = 2; ParViaticos.Value = Transporte.Viaticos; sqlCmd.Parameters.Add(ParViaticos); SqlParameter ParPeaje = new SqlParameter(); ParPeaje.ParameterName = "@peaje"; ParPeaje.SqlDbType = SqlDbType.Decimal; ParPeaje.Precision = 8; ParPeaje.Scale = 2; ParPeaje.Value = Transporte.Peaje; sqlCmd.Parameters.Add(ParPeaje); SqlParameter ParCombustible = new SqlParameter(); ParCombustible.ParameterName = "@combustible"; ParCombustible.SqlDbType = SqlDbType.Decimal; ParCombustible.Precision = 8; ParCombustible.Scale = 2; ParCombustible.Value = Transporte.Combustible; sqlCmd.Parameters.Add(ParCombustible); SqlParameter ParMantenimiento = new SqlParameter(); ParMantenimiento.ParameterName = "@mantenimiento"; ParMantenimiento.SqlDbType = SqlDbType.Decimal; ParMantenimiento.Precision = 8; ParMantenimiento.Scale = 2; ParMantenimiento.Value = Transporte.Mantenimiento; sqlCmd.Parameters.Add(ParMantenimiento); SqlParameter ParOtrosGastos = new SqlParameter(); ParOtrosGastos.ParameterName = "@otrosGastos"; ParOtrosGastos.SqlDbType = SqlDbType.Decimal; ParOtrosGastos.Precision = 8; ParOtrosGastos.Scale = 2; ParOtrosGastos.Value = Transporte.OtrosGastos; sqlCmd.Parameters.Add(ParOtrosGastos); SqlParameter ParFormaPago = new SqlParameter(); ParFormaPago.ParameterName = "@formaPago"; ParFormaPago.SqlDbType = SqlDbType.VarChar; ParFormaPago.Size = 20; ParFormaPago.Value = Transporte.FormaPago; sqlCmd.Parameters.Add(ParFormaPago); SqlParameter ParAdelanto = new SqlParameter(); ParAdelanto.ParameterName = "@adelanto"; ParAdelanto.SqlDbType = SqlDbType.Decimal; ParAdelanto.Precision = 8; ParAdelanto.Scale = 2; ParAdelanto.Value = Transporte.Adelanto; sqlCmd.Parameters.Add(ParAdelanto); SqlParameter ParSaldo = new SqlParameter(); ParSaldo.ParameterName = "@saldo"; ParSaldo.SqlDbType = SqlDbType.Decimal; ParSaldo.Precision = 8; ParSaldo.Scale = 2; ParSaldo.Value = Transporte.Saldo; sqlCmd.Parameters.Add(ParSaldo); SqlParameter ParEstado = new SqlParameter(); ParEstado.ParameterName = "@estado"; ParEstado.SqlDbType = SqlDbType.VarChar; ParEstado.Size = 25; ParEstado.Value = Transporte.Estado; sqlCmd.Parameters.Add(ParEstado); SqlParameter ParFlete = new SqlParameter(); ParFlete.ParameterName = "@flete"; ParFlete.SqlDbType = SqlDbType.Decimal; ParFlete.Precision = 10; ParFlete.Scale = 2; ParFlete.Value = Transporte.Flete; sqlCmd.Parameters.Add(ParFlete); SqlParameter ParIdCompra = new SqlParameter(); ParIdCompra.ParameterName = "@idCompra"; ParIdCompra.SqlDbType = SqlDbType.Int; ParIdCompra.Value = Transporte.IdCompra; sqlCmd.Parameters.Add(ParIdCompra); rpta = sqlCmd.ExecuteNonQuery() == 1 ? "OK" : "No se ingresó el Registro"; } catch (Exception ex) { rpta = ex.Message; } return(rpta); }