11 internal class ValidacionExistenciaStockInicial
13 #region Variables privadas 15 private readonly
string MENSAJE_USUARIO =
"Ya existe stock inicial en ejercicio destino del traspaso de datos. Se realizará un nuevo cálculo de stock inicial y " +
16 "se perderán las modificaciones que se hayan podido hacer de forma manual.";
18 private readonly
string MENSAJE_EJERCICIO =
"Para realizar el cálculo de stock inicial debe situarse en el ejercicio predeterminado. En el caso de continuar " +
19 "no se realizará el proceso de cálculo de stock inicial.";
22 private readonly
string _ejercicio =
string.Empty;
24 #endregion Variables privadas 26 #region Propiedades públicas 31 public bool Resultado {
get;
private set; } =
false;
35 public string Mensaje {
get;
private set; } =
string.Empty;
37 #endregion Propiedades públicas 44 private ValidacionExistenciaStockInicial() { }
50 public ValidacionExistenciaStockInicial(
string ejercicio)
52 _ejercicio = ejercicio;
55 #endregion Constructores 57 #region Métodos públicos 65 if (ExistenDatosPrevios())
68 Mensaje = MENSAJE_USUARIO;
75 public void ValidacionEjercicio()
77 Resultado = ValidacionEjercicioPredet();
78 Mensaje = MENSAJE_EJERCICIO;
82 #endregion Métodos públicos 84 #region Métodos privados 90 private bool ExistenDatosPrevios()
92 if (
string.IsNullOrWhiteSpace(_ejercicio))
95 var dtDatos =
new DataTable();
96 var datosPrevios =
false;
97 string lcSql = $
"SELECT COUNT(*) AS CONTA " +
98 $
"FROM [multiples_ejercicios].dbo.STOCKINI ";
102 if (DB.SQLExecEjer(lcSql, ref dtDatos,
new string[] { _ejercicio }) && dtDatos.Rows.Count > 0)
104 datosPrevios = (Convert.ToInt32(dtDatos.Rows[0][
"CONTA"]) > 0);
107 catch (Exception loEx)
109 DB.Registrar_Error(loEx);
120 private bool ValidacionEjercicioPredet()
122 string lcAny =
string.Empty;
123 DataTable ldtEjercicios =
new DataTable();
125 DB.SQLExec(
"SELECT [any] AS ejer, anterior FROM " + DB.SQLDatabase(
"COMUNES",
"EJERCICI") +
" WHERE predet = 1 ", ref ldtEjercicios);
126 if (ldtEjercicios.Rows.Count > 0)
128 lcAny = Convert.ToString(ldtEjercicios.Rows[0][
"ejer"]).Trim();
130 if (lcAny != Convert.ToString(EW_GLOBAL._GetVariable(
"wc_any")))
137 #endregion Métodos privados