public string insertardetalleremito(DatosDetalleRemito Detalle_Remito, ref SqlConnection sqlcon, ref SqlTransaction sqltra, string varnremito) { string rpta = ""; try { //asigno el procedimiento almacenado y la transaccion al sqlcmd SqlCommand sqlcmd = ProcAlmacenado.CrearProc(sqlcon, "SP_REMITO", sqltra); SqlParameter parcodsucursal = ProcAlmacenado.asignarParametros("@codsucursal", SqlDbType.Int, Detalle_Remito.codsucursal); sqlcmd.Parameters.Add(parcodsucursal); SqlParameter parremito = ProcAlmacenado.asignarParametros("@nremito", SqlDbType.NVarChar, varnremito); sqlcmd.Parameters.Add(parremito); SqlParameter paridproducto = ProcAlmacenado.asignarParametros("@idproducto", SqlDbType.Int, Detalle_Remito.idproducto); sqlcmd.Parameters.Add(paridproducto); SqlParameter pardetalle = ProcAlmacenado.asignarParametros("@detalle", SqlDbType.NVarChar, Detalle_Remito.detalle); sqlcmd.Parameters.Add(pardetalle); SqlParameter parcantidad = ProcAlmacenado.asignarParametros("@cantidad", SqlDbType.Int, Detalle_Remito.cantidad); sqlcmd.Parameters.Add(parcantidad); SqlParameter parmodo = ProcAlmacenado.asignarParametros("@modo", SqlDbType.NVarChar, "agregardetalleremito"); sqlcmd.Parameters.Add(parmodo); rpta = sqlcmd.ExecuteNonQuery() == 1 ? "OK" : "NO se ingreso el registro"; } catch (Exception ex) { rpta = ex.Message; } return(rpta); }
public string Insertarymodificar(DatosRetirodeMercaderia Ordenpedido, List <DatodetalleRetirodeMercaderia> Detalle, string agregaromodificar = "agregarorden", bool solomodificarestado = true) { string rpta = ""; SqlConnection sqlcon = new SqlConnection(); //DatosOrdenpedido objventa = new global::DatosOrdenpedido (); try { sqlcon.ConnectionString = Conexion.conexion; sqlcon.Open(); SqlTransaction sqltra = sqlcon.BeginTransaction(); SqlCommand sqlcmd = ProcAlmacenado.CrearProc(sqlcon, "SP_RETIRODEMERCADERIA", sqltra); SqlParameter parcodsucursal = ProcAlmacenado.asignarParametros("@codsucursal", SqlDbType.Int, 1); sqlcmd.Parameters.Add(parcodsucursal); if (agregaromodificar == "agregarorden") { SqlParameter parorden = ProcAlmacenado.asignarParametros("@nroorden", SqlDbType.Int); sqlcmd.Parameters.Add(parorden); SqlParameter parfecha = ProcAlmacenado.asignarParametros("@fecha", SqlDbType.DateTime, Ordenpedido.fecha); sqlcmd.Parameters.Add(parfecha); } if (agregaromodificar == "modificarestado") { SqlParameter parfecha = ProcAlmacenado.asignarParametros("@nroorden", SqlDbType.Int, Ordenpedido.norden); sqlcmd.Parameters.Add(parfecha); } SqlParameter parcodcliente = ProcAlmacenado.asignarParametros("@codcliente", SqlDbType.Int, Ordenpedido.codcliente); sqlcmd.Parameters.Add(parcodcliente); SqlParameter parcodbeneficiario = ProcAlmacenado.asignarParametros("@codbeneficiario", SqlDbType.Int, Ordenpedido.codbeneficiado); sqlcmd.Parameters.Add(parcodbeneficiario); SqlParameter paridusuario = ProcAlmacenado.asignarParametros("@idusuario", SqlDbType.Decimal, Ordenpedido.idusuario); sqlcmd.Parameters.Add(paridusuario); SqlParameter partipoorden = ProcAlmacenado.asignarParametros("@tipoorden", SqlDbType.NVarChar, Ordenpedido.tipoorden); sqlcmd.Parameters.Add(partipoorden); SqlParameter parestado = ProcAlmacenado.asignarParametros("@estado", SqlDbType.NVarChar, Ordenpedido.estado); sqlcmd.Parameters.Add(parestado); SqlParameter parobs = ProcAlmacenado.asignarParametros("@observacion", SqlDbType.NVarChar, Ordenpedido.observacion); sqlcmd.Parameters.Add(parobs); SqlParameter parcodventa = ProcAlmacenado.asignarParametros("@codventa", SqlDbType.Int, Ordenpedido.codventa); sqlcmd.Parameters.Add(parcodventa); SqlParameter partiporetiro = ProcAlmacenado.asignarParametros("@TipoRetiro", SqlDbType.Int, Ordenpedido.tiporetiro); sqlcmd.Parameters.Add(partiporetiro); SqlParameter parModo = ProcAlmacenado.asignarParametros("@modo", SqlDbType.NVarChar, agregaromodificar); sqlcmd.Parameters.Add(parModo); rpta = sqlcmd.ExecuteNonQuery() >= 1 ? "OK" : "No se ingreso el registro"; string mododetalleorden = ""; if (agregaromodificar == "modificarestado") { //elimina el detalle para volverlo a cargar mododetalleorden = "eliminar"; } if ((rpta.Equals("OK")) && (solomodificarestado == false || agregaromodificar == "agregarorden")) { Ordenpedido.norden = Convert.ToInt32(sqlcmd.Parameters["@nroorden"].Value); List <DatosDetalleRemito> Detalleremito = new List <DatosDetalleRemito>(); foreach (DatodetalleRetirodeMercaderia det in Detalle) { det.Norden = Ordenpedido.norden; rpta = det.insertaromodificar(det, ref sqlcon, ref sqltra, mododetalleorden == "eliminar" ? "modificar" : "agregar"); if (mododetalleorden == "eliminar") { mododetalleorden = "agregar"; } if (!rpta.Equals("OK")) { break; } if (det.Cantidadactual > 0) { DatosDetalleRemito remitodet = new Capa_Datos.DatosDetalleRemito(); remitodet.Idproducto = det.Idproducto; remitodet.Detalle = det.Detalle; remitodet.Cantidad = det.Cantidadactual; Detalleremito.Add(remitodet); } } if (agregaromodificar == "modificarestado") { DatosRemito objremito = new DatosRemito(1, DateTime.Now, Ordenpedido.codcliente, Ordenpedido.norden, "", true, Ordenpedido.tipoorden, "0001", Ordenpedido.codempresa); rpta = objremito.insertarremito(objremito, Detalleremito, ref sqlcon, ref sqltra, true); nroremito = objremito.Nremito; } } //ver if (rpta.Equals("ok") || rpta.Equals("OK")) { if (sqlcon.State == ConnectionState.Open) { sqltra.Commit(); } } else { if (sqlcon.State == ConnectionState.Open) { sqltra.Rollback(); } } } catch (Exception e) { rpta = e.Message; } finally { if (sqlcon.State == ConnectionState.Open) { sqlcon.Close(); } } return(rpta); }