Files
itca_api_sap_wms/Net.Data/HelperData/ProcesoPiciking/HelperProcesoPiciking.cs
T

54 lines
2.9 KiB
C#
Raw Normal View History

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();
}
}
}
}