private Resultado validarRegistro(ref Registro registro) { bool omitir = false; bool error = false; try { // Validacion general foreach (CL_Layout_Campos campo in layout.CamposDeLayout) { if (campo.ColumnaReferencia == registro.Campo) { // ERRORES // Exigir coincidencia de nombre del campo (Archivo VS Configuracion) if (campo.ExigirCoincidenciaNombre) { if (registro.NombreCampo != campo.NombreCampoReferencia) { error = true; registro.Observaciones += ((registro.Observaciones == string.Empty) ? "" : "|") + "C" + registro.Campo + "[E]: Nombre de campo difiere del establecido; se esperaba '" + campo.NombreCampoReferencia + "'"; } } // OMISIONES break; } } // Validacion particular // Modulo de validaciones (por definir) // Validaciones (ref omitir, ref error); // Devuelve resultado if (error) { return Resultado.Erroneo; } else { if (omitir) { return Resultado.Omitido; } else { return Resultado.Correcto; } } } catch (Exception Error) { registro.Observaciones += ((registro.Observaciones == string.Empty) ? "" : "|") + "C" + registro.Campo + "[E]: " + Error.Message.Replace(",",";"); return Resultado.Erroneo; } }
private void obtenerRegistro(ref ArrayList contenedor,int columna, long fila, string valor) { Registro registro = new Registro(); if (encabezados != null) // Encabezado { if ((encabezados[columna - 1] != "") && (encabezados[columna - 1] != string.Empty)) { registro.NombreCampo = encabezados[columna - 1]; } } registro.Campo = columna; // Columna registro.NumeroRegistro = fila; // Fila registro.Valor = valor.Trim(); // Valor switch (validarRegistro(ref registro)) // Resultado de validación { case Resultado.Correcto: registro.Correcto = true; break; case Resultado.Omitido: registro.Omitido = true; break; case Resultado.Erroneo: registro.Erroneo = true; break; default: break; } contenedor.Add(registro); evaluarResultado(registro); }
private void registraCampoEnBD(Registro registro) { try { // Actualiza en base de datos db.Connection_Check(); System.Data.OleDb.OleDbParameter[] parametros = new System.Data.OleDb.OleDbParameter[9]; for (int i = 0; i < 9; i++) { parametros[i] = new System.Data.OleDb.OleDbParameter(); } parametros[0].ParameterName = "P_ID_BITACORA"; parametros[0].OleDbType = System.Data.OleDb.OleDbType.BigInt; parametros[0].Value = this.lngIdBitacora; parametros[1].ParameterName = "P_NOM_CAMPO"; parametros[1].OleDbType = System.Data.OleDb.OleDbType.VarChar; parametros[1].Value = registro.NombreCampo; parametros[2].ParameterName = "P_NUM_CAMPO"; parametros[2].OleDbType = System.Data.OleDb.OleDbType.Integer; parametros[2].Value = registro.Campo; parametros[3].ParameterName = "P_NUM_REGISTRO"; parametros[3].OleDbType = System.Data.OleDb.OleDbType.BigInt; parametros[3].Value = registro.NumeroRegistro; parametros[4].ParameterName = "P_VALOR"; parametros[4].OleDbType = System.Data.OleDb.OleDbType.VarChar; parametros[4].Value = registro.Valor; parametros[5].ParameterName = "P_REG_OK"; parametros[5].OleDbType = System.Data.OleDb.OleDbType.SmallInt; parametros[5].Value = ((registro.Correcto) ? 1 : 0); parametros[6].ParameterName = "P_REG_OM"; parametros[6].OleDbType = System.Data.OleDb.OleDbType.SmallInt; parametros[6].Value = ((registro.Omitido) ? 1 : 0); parametros[7].ParameterName = "P_REG_ER"; parametros[7].OleDbType = System.Data.OleDb.OleDbType.SmallInt; parametros[7].Value = ((registro.Erroneo) ? 1 : 0); parametros[8].ParameterName = "P_OBS"; parametros[8].OleDbType = System.Data.OleDb.OleDbType.VarChar; parametros[8].Value = registro.Observaciones; db.ExecutaProcedureNonQuery("INS_REGISTRO_IMPORTACION", parametros); } catch (Exception Error) { string msgMsgError = Error.Message; this.Observaciones = this.Observaciones + ((this.Observaciones == "") ? "" : "|") + "#Error - " + msgMsgError; } }
private void evaluarResultado(Registro registro) { try { // Comprueba existencia de registro DataRow[] rowFind = resultados.Select("NUM_REGISTRO = " + registro.NumeroRegistro); if ((rowFind != null) && (rowFind.Length > 0)) { foreach (DataRow row in rowFind) { bool omitir = bool.Parse(row["RES_ROM"].ToString()); bool error = bool.Parse(row["RES_RER"].ToString()); // Actualiza registro if ((registro.Correcto) && (!omitir && !error)) row["RES_ROK"] = true; if ((registro.Omitido) && (!error)) { row["RES_ROM"] = true; row["RES_ROK"] = false; } if (registro.Erroneo) { row["RES_ROK"] = false; row["RES_ROM"] = false; row["RES_RER"] = true; } if ((registro.Observaciones != string.Empty) && (registro.Observaciones != "")) row["OBSERVACIONES"] = ((row["OBSERVACIONES"].ToString() != "") ? "|" : "") + registro.Observaciones; } } else { // Crea registro DataRow rowNew = resultados.NewRow(); rowNew["NUM_REGISTRO"] = registro.NumeroRegistro; if (registro.Correcto) rowNew["RES_ROK"] = true; if (registro.Omitido) rowNew["RES_ROM"] = true; if (registro.Erroneo) rowNew["RES_RER"] = true; if ((registro.Observaciones != string.Empty) && (registro.Observaciones != "")) rowNew["OBSERVACIONES"] = ((rowNew["OBSERVACIONES"].ToString() != "") ? "|" : "") + registro.Observaciones; resultados.Rows.Add(rowNew); } } catch (Exception Error) { string strMsgError = Error.Message; } }