54 lines
2.9 KiB
C#
54 lines
2.9 KiB
C#
using Sap.Data.Hana;
|
|||
|
|
using System.Data;
|
||
|
|
|
||
|
|
namespace Net.Data.HelperData.HelperProcesoPermitido
|
||
|
|
{
|
||
|
|
public class HelperProcesoPiciking
|
||
|
|
{
|
||
|
|
public static void Set(string Proceso, int IdEstado, int DocEntry, string CodMotivo, string Code)
|
||
|
|
{
|
||
|
|
using (HanaConnection con = new HanaConnection(LocalData.ConnectionString))
|
||
|
|
{
|
||
|
|
con.Open();
|
||
|
|
HanaCommand cmd = new HanaCommand();
|
||
|
|
// Parametrizado (antes interpolaba el string directo - SQL injection
|
||
|
|
// real, ver docs/PORTE_FUNCIONALIDAD_NUEVA.md hallazgo #6): Proceso y
|
||
|
|
// CodMotivo vienen del body del request HTTP sin validar.
|
||
|
|
cmd.CommandText = $"CALL \"{LocalData.Schema}\".\"ITCA_WMS_SAP_SetProcesoPicking\"(?, ?, ?, ?, ?, ?, ?)";
|
||
|
|
cmd.Parameters.Add("Proceso", HanaDbType.VarChar).Value = Proceso;
|
||
|
|
cmd.Parameters.Add("IdEstado", HanaDbType.Integer).Value = IdEstado;
|
||
|
|
cmd.Parameters.Add("DocEntry", HanaDbType.Integer).Value = DocEntry;
|
||
|
|
cmd.Parameters.Add("HoraInicio", HanaDbType.VarChar).Value = "";
|
||
|
|
cmd.Parameters.Add("HoraFin", HanaDbType.VarChar).Value = "";
|
||
|
|
cmd.Parameters.Add("CodMotivo", HanaDbType.VarChar).Value = CodMotivo;
|
||
|
|
cmd.Parameters.Add("Code", HanaDbType.VarChar).Value = Code;
|
||
|
|
cmd.CommandType = System.Data.CommandType.Text;
|
||
|
|
cmd.Connection = con;
|
||
|
|
cmd.ExecuteNonQuery();
|
||
|
|
con.Close();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public static void Set(string Proceso, int IdEstado, int DocEntry, int? HoraInicio, int? HoraFin, string CodMotivo, string Code)
|
||
|
|
{
|
||
|
|
using (HanaConnection con = new HanaConnection(LocalData.ConnectionString))
|
||
|
|
{
|
||
|
|
con.Open();
|
||
|
|
HanaCommand cmd = new HanaCommand();
|
||
|
|
// Ver nota de parametrizacion en la sobrecarga de arriba.
|
||
|
|
cmd.CommandText = $"CALL \"{LocalData.Schema}\".\"ITCA_WMS_SAP_SetProcesoPicking\"(?, ?, ?, ?, ?, ?, ?)";
|
||
|
|
cmd.Parameters.Add("Proceso", HanaDbType.VarChar).Value = Proceso;
|
||
|
|
cmd.Parameters.Add("IdEstado", HanaDbType.Integer).Value = IdEstado;
|
||
|
|
cmd.Parameters.Add("DocEntry", HanaDbType.Integer).Value = DocEntry;
|
||
|
|
cmd.Parameters.Add("HoraInicio", HanaDbType.VarChar).Value = HoraInicio?.ToString() ?? "";
|
||
|
|
cmd.Parameters.Add("HoraFin", HanaDbType.VarChar).Value = HoraFin?.ToString() ?? "";
|
||
|
|
cmd.Parameters.Add("CodMotivo", HanaDbType.VarChar).Value = CodMotivo;
|
||
|
|
cmd.Parameters.Add("Code", HanaDbType.VarChar).Value = Code;
|
||
|
|
cmd.CommandType = System.Data.CommandType.Text;
|
||
|
|
cmd.Connection = con;
|
||
|
|
cmd.ExecuteNonQuery();
|
||
|
|
con.Close();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|