public string anular(DatosMovStock detalleMovStock) { //modo 3 para DB SqlConnection cn = new SqlConnection(Conexion.conexion); string respuesta = ""; try { cn.Open(); //abro conexion SqlCommand comando = ProcAlmacenado.CrearProc(cn, "SP_MOVSTOCK"); //MODO 3 ELIMINAR SqlParameter parModo = ProcAlmacenado.asignarParametros("@modo", SqlDbType.Int, 2); comando.Parameters.Add(parModo); SqlParameter parIdMovStock = ProcAlmacenado.asignarParametros("@idmov_stock", SqlDbType.Int, detalleMovStock.idmovStock); //le paso al sqlcommand los parametros asignados comando.Parameters.Add(parIdMovStock); if (comando.ExecuteNonQuery() == 1) { respuesta = "ok"; } else { respuesta = "error: no se ha podido anular"; } cn.Close(); } catch (Exception ex) { cn.Close(); respuesta = "error conexion: " + ex.Message; } return(respuesta); }
//Metodo public string Insertar(Dventa Venta, List <DDetalle_Venta> Detalle, bool distock = false) { string rpta = ""; SqlConnection sqlcon = new SqlConnection(); DatosMovStock objstock = new Capa_Datos.DatosMovStock(); try { sqlcon.ConnectionString = Conexion.conexion; sqlcon.Open(); SqlTransaction sqltra = sqlcon.BeginTransaction(); SqlCommand sqlcmd = ProcAlmacenado.CrearProc(sqlcon, "SP_VENTA", sqltra); SqlParameter paridventa = ProcAlmacenado.asignarParametros("@idventa", SqlDbType.Int); sqlcmd.Parameters.Add(paridventa); SqlParameter paridcliente = ProcAlmacenado.asignarParametros("@idcliente", SqlDbType.Int, Venta.idcliente); sqlcmd.Parameters.Add(paridcliente); SqlParameter parfecha = ProcAlmacenado.asignarParametros("@fecha", SqlDbType.DateTime, Venta.fecha); sqlcmd.Parameters.Add(parfecha); SqlParameter partipocomprobante = ProcAlmacenado.asignarParametros("@tipo_comprobante", SqlDbType.VarChar, Venta.tipo_comprobante); sqlcmd.Parameters.Add(partipocomprobante); SqlParameter pariva = ProcAlmacenado.asignarParametros("@iva", SqlDbType.Decimal, Venta.iva); sqlcmd.Parameters.Add(pariva); SqlParameter parconcaja = ProcAlmacenado.asignarParametros("@concaja", SqlDbType.Bit, Venta.concaja); sqlcmd.Parameters.Add(parconcaja); SqlParameter parconstock = ProcAlmacenado.asignarParametros("@constock", SqlDbType.Bit, distock); sqlcmd.Parameters.Add(parconstock); SqlParameter parModo = ProcAlmacenado.asignarParametros("@modo", SqlDbType.Int, 1); sqlcmd.Parameters.Add(parModo); SqlParameter parUsuario = ProcAlmacenado.asignarParametros("@usuario", SqlDbType.NVarChar, Venta.Usuario); sqlcmd.Parameters.Add(parUsuario); SqlParameter parDescuento = ProcAlmacenado.asignarParametros("@descuento", SqlDbType.Decimal, Venta.descuento); sqlcmd.Parameters.Add(parDescuento); SqlParameter parTotal = ProcAlmacenado.asignarParametros("@total", SqlDbType.Decimal, Venta.total); sqlcmd.Parameters.Add(parTotal); SqlParameter parSubtotal = ProcAlmacenado.asignarParametros("@subtotal", SqlDbType.Decimal, Venta.subtotal); sqlcmd.Parameters.Add(parSubtotal); SqlParameter parEstado = ProcAlmacenado.asignarParametros("@estado", SqlDbType.Char, Venta.estado); sqlcmd.Parameters.Add(parEstado); SqlParameter parNroterminal = ProcAlmacenado.asignarParametros("@nroterminal", SqlDbType.Int, Venta.nroterminal); sqlcmd.Parameters.Add(parNroterminal); SqlParameter parCodtarjeta = ProcAlmacenado.asignarParametros("@Codigotarjeta", SqlDbType.Int, Venta.codtarjeta); sqlcmd.Parameters.Add(parCodtarjeta); SqlParameter parCupon = ProcAlmacenado.asignarParametros("@cupon", SqlDbType.NVarChar, Venta.cupon); sqlcmd.Parameters.Add(parCupon); SqlParameter parLote = ProcAlmacenado.asignarParametros("@lote", SqlDbType.NVarChar, Venta.lote); sqlcmd.Parameters.Add(parLote); SqlParameter parImportecuota = ProcAlmacenado.asignarParametros("@importe", SqlDbType.Decimal, Venta.importe); sqlcmd.Parameters.Add(parImportecuota); SqlParameter parCuota = ProcAlmacenado.asignarParametros("@cuota", SqlDbType.Int, Venta.cuotas); sqlcmd.Parameters.Add(parCuota); SqlParameter parFormapago = ProcAlmacenado.asignarParametros("@codformapago", SqlDbType.Int, Venta.codformapago); sqlcmd.Parameters.Add(parFormapago); SqlParameter parNrocomprobante = ProcAlmacenado.asignarParametros("@nrocomprobante", SqlDbType.NVarChar, Venta.nrocomprobante); sqlcmd.Parameters.Add(parNrocomprobante); SqlParameter parTotalneto = ProcAlmacenado.asignarParametros("@totalneto", SqlDbType.Decimal, Venta.totalneto); sqlcmd.Parameters.Add(parTotalneto); SqlParameter parPrecioiva = ProcAlmacenado.asignarParametros("@precioiva", SqlDbType.Decimal, Venta.precioiva); sqlcmd.Parameters.Add(parPrecioiva); SqlParameter parcae = ProcAlmacenado.asignarParametros("@cae", SqlDbType.NVarChar, Venta.cae); sqlcmd.Parameters.Add(parcae); SqlParameter parcaefechavto = ProcAlmacenado.asignarParametros("@caefechavencimiento", SqlDbType.NVarChar, Venta.caevencimiento); sqlcmd.Parameters.Add(parcaefechavto); SqlParameter partipofactura = ProcAlmacenado.asignarParametros("@tipofactura", SqlDbType.NVarChar, Venta.numerotipofactura); sqlcmd.Parameters.Add(partipofactura); SqlParameter parpuntoventa = ProcAlmacenado.asignarParametros("@puntoventa", SqlDbType.NVarChar, Venta.puntoventa); sqlcmd.Parameters.Add(parpuntoventa); SqlParameter parneto105 = ProcAlmacenado.asignarParametros("@totalneto105", SqlDbType.Decimal, Venta.Totalneto105); sqlcmd.Parameters.Add(parneto105); SqlParameter pariva105 = ProcAlmacenado.asignarParametros("@precioiva105", SqlDbType.Decimal, Venta.Precioiva105); sqlcmd.Parameters.Add(pariva105); rpta = sqlcmd.ExecuteNonQuery() >= 1 ? "OK" : "No se ingreso el registro"; if (rpta.Equals("OK")) { Venta.Idventa = Convert.ToInt32(sqlcmd.Parameters["@idventa"].Value); foreach (DDetalle_Venta det in Detalle) { det.Idventa = Venta.idventa; rpta = det.Insertar(det, ref sqlcon, ref sqltra); if (!rpta.Equals("OK")) { break; } else { //actualizamos el stock if (distock == true && det.Idarticulo != 0) { rpta = objstock.Modificarstock(det.Idarticulo, det.Cantidad, ref sqlcon, ref sqltra, "egreso"); } if (!rpta.Equals("OK") && !rpta.Equals("ok")) { break; } } } if (Venta.codformapago == 3) { DatosCliente objcliente = new DatosCliente(ref sqlcon, ref sqltra, Venta.idcliente, Venta.idventa, Venta.total, Venta.total, 0, "pendiente", "ingresarctacte"); objcliente.agregaromodificarctacte(objcliente, "ingresarctacte"); } } if (rpta.Equals("OK") || rpta.Equals("ok")) { sqltra.Commit(); } else { sqltra.Rollback(); } } catch (Exception e) { rpta = e.Message; } finally { if (sqlcon.State == ConnectionState.Open) { sqlcon.Close(); } } return(rpta); }
public string agregar(DatosMovStock movStock, List <DatosDetalleMovStock> detalleMovStock, List <DatosArticulo> listaArticulos) { //modo 1 para DB SqlConnection cn = new SqlConnection(Conexion.conexion); string respuesta = ""; string respuesta2 = ""; try { cn.Open(); //abro conexion //una unica transaccion por ingreso, y sus detalles de ingreso SqlTransaction transaccion = cn.BeginTransaction(); SqlCommand comando = ProcAlmacenado.CrearProc(cn, "SP_MOVSTOCK", transaccion); SqlParameter parModo = ProcAlmacenado.asignarParametros("@modo", SqlDbType.Int, 1); comando.Parameters.Add(parModo); SqlParameter parIdMovStock = ProcAlmacenado.asignarParametros("@idmov_stock", SqlDbType.Int); //le paso al sqlcommand los parametros asignados comando.Parameters.Add(parIdMovStock); SqlParameter parFecha = ProcAlmacenado.asignarParametros("@fecha", SqlDbType.Date, movStock.fecha); //le paso al sqlcommand los parametros asignados comando.Parameters.Add(parFecha); SqlParameter parIdProveedor = ProcAlmacenado.asignarParametros("@idproveedor", SqlDbType.Int, movStock.idProveedor); comando.Parameters.Add(parIdProveedor); SqlParameter parTipoComprobante = ProcAlmacenado.asignarParametros("@tipo_comprobante", SqlDbType.VarChar, movStock.tipoComprobante, 7); comando.Parameters.Add(parTipoComprobante); SqlParameter parIva = ProcAlmacenado.asignarParametros("@iva", SqlDbType.Decimal, movStock.iva); comando.Parameters.Add(parIva); SqlParameter parSerie = ProcAlmacenado.asignarParametros("@serie", SqlDbType.VarChar, movStock.serie, 4); comando.Parameters.Add(parSerie); SqlParameter parCorrelativa = ProcAlmacenado.asignarParametros("@correlativa", SqlDbType.VarChar, movStock.correlativa, 8); comando.Parameters.Add(parCorrelativa); SqlParameter parEstado = ProcAlmacenado.asignarParametros("@estado", SqlDbType.VarChar, movStock.estado, 7); comando.Parameters.Add(parEstado); //cambiar movimiento!!! SqlParameter parMovimiento = ProcAlmacenado.asignarParametros("@movimiento", SqlDbType.VarChar, movStock.Movimiento, 7); comando.Parameters.Add(parMovimiento); if (comando.ExecuteNonQuery() == 1) { respuesta = "ok"; movStock.IdmovStock = Convert.ToInt32(comando.Parameters["@idmov_stock"].Value); //agrego los detalle de movstock foreach (DatosDetalleMovStock detalle in detalleMovStock) { detalle.IdMovStock = movStock.idmovStock; respuesta = detalle.agregar(detalle, ref cn, ref transaccion); if (!respuesta.Equals("ok")) { break; } } //actualizo los datos de los productos foreach (DatosArticulo articulos in listaArticulos) { //le paso el string de movimiento realizado para diferencia entre egreso y egreso //respuesta2 = articulos.actualizarPrecioStock(articulos,ref cn,ref transaccion,movStock.Movimiento); respuesta = Modificarstock(articulos.IdArticulo, articulos.StockActual, ref cn, ref transaccion, movStock.movimiento); if (!respuesta.Equals("ok")) { break; } } //si ocurrio algun error hace un rollback //o sino confirma la trasaccion con un commit if (respuesta.Equals("ok")) { transaccion.Commit(); } else { transaccion.Rollback(); } } else { respuesta = "error al intentar agregar detalles de movStock"; } } catch (Exception ex) { respuesta = "error conexion: " + ex.Message; cn.Close(); } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(respuesta); }