/// <summary> /// Devuelve la pregunta anterior en el flujo de cada tema. /// </summary> /// <param name="codHogar">Codigo del hogar a buscar</param> /// <param name="idTema">Id del tema a buscar</param> /// <param name="idInstrumento">Id del Instrumento donde se va a buscar la siguiente pregunta</param> /// <param name="idPregunta">Id de la pregunta para saber el orden de ingreso </param> /// <param name="tipo">Tipo de flujo , para saber si es de CONSULTA O EDICION</param> /// <returns> List<gic_PreguntasxPersona> generada </returns> public List <gic_PreguntasxPersona> getPreguntaAnterior(string codHogar, int idTema, int idInstrumento, int idPregunta) { List <gic_PreguntasxPersona> preguntas = new List <gic_PreguntasxPersona>(); string stored = string.Empty; AccesoDatos.AccesoDatos datos = new AccesoDatos.AccesoDatos(); datos.Conexion = baseDatos.connStringCar; datos.MotorBasedatos = true; DataSet datoConsulta = new DataSet(); List <Parametros> param = new List <Parametros>(); IDataReader dataReader = null; stored = "GIC_N_CARACTERIZACION.SP_BUSCAR_ANTERIOR_PREGUNTA"; try { param.Add(baseDatos.asignarParametro("pHOG_CODIGO", 1, "System.String", codHogar)); param.Add(baseDatos.asignarParametro("pID_TEMA", 1, "System.Int32", idTema.ToString())); param.Add(baseDatos.asignarParametro("pINS_IDINSTRUMENTO", 1, "System.Int32", idInstrumento.ToString())); param.Add(baseDatos.asignarParametro("pID_PREGUNTA", 1, "System.Int32", idPregunta.ToString())); param.Add(baseDatos.asignarParametro("cur_OUT", 2, "Cursor", "")); datoConsulta = datos.ConsultarConProcedimientoAlmacenado(stored, ref param); #region DataReader using (dataReader = datoConsulta.Tables[0].CreateDataReader()) { while (dataReader.Read()) { gic_PreguntasxPersona pregunta = new gic_PreguntasxPersona(); if (!DBNull.Value.Equals(dataReader["PRE_IDPREGUNTA"])) { pregunta.pre_IdPregunta = int.Parse(dataReader["PRE_IDPREGUNTA"].ToString()); } if (!DBNull.Value.Equals(dataReader["PRE_PREGUNTA"])) { pregunta.pre_pregunta = dataReader["PRE_PREGUNTA"].ToString(); } if (!DBNull.Value.Equals(dataReader["PRE_TIPOPREGUNTA"])) { pregunta.pre_TipoPregunta = dataReader["PRE_TIPOPREGUNTA"].ToString(); } if (!DBNull.Value.Equals(dataReader["PRE_TIPOCAMPO"])) { pregunta.pre_TipoCampo = dataReader["PRE_TIPOCAMPO"].ToString(); } if (!DBNull.Value.Equals(dataReader["HOG_CODIGO"])) { pregunta.cod_Hogar = dataReader["HOG_CODIGO"].ToString(); } if (!DBNull.Value.Equals(dataReader["PER_IDPERSONA"])) { pregunta.per_IdPersona = int.Parse(dataReader["PER_IDPERSONA"].ToString()); } if (!DBNull.Value.Equals(dataReader["PER_PRIMERNOMBRE"])) { pregunta.per_PrimerNombre = dataReader["PER_PRIMERNOMBRE"].ToString(); } if (!DBNull.Value.Equals(dataReader["PER_SEGUNDONOMBRE"])) { pregunta.per_SegundoNombre = dataReader["PER_SEGUNDONOMBRE"].ToString(); } if (!DBNull.Value.Equals(dataReader["PER_PRIMERAPELLIDO"])) { pregunta.per_PrimerApellido = dataReader["PER_PRIMERAPELLIDO"].ToString(); } if (!DBNull.Value.Equals(dataReader["PER_SEGUNDOAPELLIDO"])) { pregunta.per_SegundoApellido = dataReader["PER_SEGUNDOAPELLIDO"].ToString(); } if (!DBNull.Value.Equals(dataReader["VALIDACION_PERSONA"])) { pregunta.validacion_Persona = int.Parse(dataReader["VALIDACION_PERSONA"].ToString()); } if (!DBNull.Value.Equals(dataReader["ORDENPRIORIDAD"])) { pregunta.ordenPrioridad = dataReader["ORDENPRIORIDAD"].ToString(); } if (!DBNull.Value.Equals(dataReader["IXP_ORDEN"])) { pregunta.ipx_Orden = int.Parse(dataReader["IXP_ORDEN"].ToString()); } if (!DBNull.Value.Equals(dataReader["PER_FECHANACIMIENTO"])) { pregunta.per_fechaNacimiento = DateTime.Parse(dataReader["PER_FECHANACIMIENTO"].ToString()); } if (!DBNull.Value.Equals(dataReader["PER_NUMERODOC"])) { pregunta.per_NumeroDoc = dataReader["PER_NUMERODOC"].ToString(); } preguntas.Add(pregunta); } dataReader.Close(); #endregion } return(preguntas); } catch (Exception e) { log.Error("gic_Pregunta / getPreguntaAnterior , Error: " + e.Message.ToString() + "/r" + e.StackTrace); return(null); } finally { datoConsulta.Dispose(); } }
/// <summary> /// Obtiene la siguiente pregunta del flujo de cada formulario. /// </summary> /// <param name="codHogar">Codigo del hogar de la encuesta</param> /// <param name="idTema">Id del tema donde se va a buscar la siguiente pregunta</param> /// <param name="idInstrumento">Id del Instrumento donde se va a buscar la siguiente pregunta</param> /// <param name="idPregunta">Id de la pregunta para saber el orden de ingreso </param> /// <param name="tipo">Tipo de flujo , para saber si es de CONSULTA O EDICION</param> /// <returns> List<gic_PreguntasxPersona> generada </returns> public List <gic_PreguntasxPersona> getPreguntaSiguiente(string codHogar, int idTema, int idInstrumento, int idPregunta /*, string tipo*/) { string stored = string.Empty; stored = "GIC_N_CARACTERIZACION.SP_BUSCAR_SIGUIENTE_PREGUNTA"; AccesoDatos.AccesoDatos datos = new AccesoDatos.AccesoDatos(); datos.Conexion = baseDatos.connStringCar; datos.MotorBasedatos = true; DataSet datoConsulta = null; List <Parametros> param = new List <Parametros>(); IDataReader dataReader = null; param.Add(baseDatos.asignarParametro("pHOG_CODIGO", 1, "System.String", codHogar)); param.Add(baseDatos.asignarParametro("pID_TEMA", 1, "System.Int32", idTema.ToString())); param.Add(baseDatos.asignarParametro("pINS_IDINSTRUMENTO", 1, "System.Int32", idInstrumento.ToString())); param.Add(baseDatos.asignarParametro("pID_PREGUNTA", 1, "System.Int32", idPregunta.ToString())); param.Add(baseDatos.asignarParametro("cur_OUT", 2, "Cursor", "")); datoConsulta = datos.ConsultarConProcedimientoAlmacenado(stored, ref param); List <gic_PreguntasxPersona> preguntas = new List <gic_PreguntasxPersona>(); try { #region DataReader using (dataReader = datoConsulta.Tables[0].CreateDataReader()) { while (dataReader.Read()) { gic_PreguntasxPersona pregunta = new gic_PreguntasxPersona(); if (!DBNull.Value.Equals(dataReader["PRE_IDPREGUNTA"])) { pregunta.pre_IdPregunta = int.Parse(dataReader["PRE_IDPREGUNTA"].ToString()); } if (!DBNull.Value.Equals(dataReader["PRE_PREGUNTA"])) { pregunta.pre_pregunta = dataReader["PRE_PREGUNTA"].ToString(); } if (!DBNull.Value.Equals(dataReader["PRE_TIPOPREGUNTA"])) { pregunta.pre_TipoPregunta = dataReader["PRE_TIPOPREGUNTA"].ToString(); } if (!DBNull.Value.Equals(dataReader["PRE_TIPOCAMPO"])) { pregunta.pre_TipoCampo = dataReader["PRE_TIPOCAMPO"].ToString(); } if (!DBNull.Value.Equals(dataReader["HOG_CODIGO"])) { pregunta.cod_Hogar = dataReader["HOG_CODIGO"].ToString(); } if (!DBNull.Value.Equals(dataReader["PER_IDPERSONA"])) { pregunta.per_IdPersona = int.Parse(dataReader["PER_IDPERSONA"].ToString()); } if (!DBNull.Value.Equals(dataReader["PER_PRIMERNOMBRE"])) { pregunta.per_PrimerNombre = dataReader["PER_PRIMERNOMBRE"].ToString(); } if (!DBNull.Value.Equals(dataReader["PER_SEGUNDONOMBRE"])) { pregunta.per_SegundoNombre = dataReader["PER_SEGUNDONOMBRE"].ToString(); } if (!DBNull.Value.Equals(dataReader["PER_PRIMERAPELLIDO"])) { pregunta.per_PrimerApellido = dataReader["PER_PRIMERAPELLIDO"].ToString(); } if (!DBNull.Value.Equals(dataReader["PER_SEGUNDOAPELLIDO"])) { pregunta.per_SegundoApellido = dataReader["PER_SEGUNDOAPELLIDO"].ToString(); } if (!DBNull.Value.Equals(dataReader["VALIDACION_PERSONA"])) { pregunta.validacion_Persona = int.Parse(dataReader["VALIDACION_PERSONA"].ToString()); } if (!DBNull.Value.Equals(dataReader["ORDENPRIORIDAD"])) { pregunta.ordenPrioridad = dataReader["ORDENPRIORIDAD"].ToString(); } if (!DBNull.Value.Equals(dataReader["IXP_ORDEN"])) { pregunta.ipx_Orden = int.Parse(dataReader["IXP_ORDEN"].ToString()); } if (!DBNull.Value.Equals(dataReader["PER_FECHANACIMIENTO"])) { // log.Info("gic_Pregunta / getPreguntaSiguiente , campo : PER_FECHANACIMIENTO --> " + dataReader["PER_FECHANACIMIENTO"].ToString()); //MODIFICACION JOSE VASQUEZ: FECHA 2015.NOV.26 //SE FORMATEA LA FECHA DESDE LA BASE DE DATOS A FTO: dd/MM/yyyy PARA PODERLA MANIPULAR DESDE CONTROLADOR //pregunta.per_fechaNacimiento = DateTime.Parse(dataReader["PER_FECHANACIMIENTO"].ToString()); pregunta.per_fechaNacimiento = (DateTime)dataReader["PER_FECHANACIMIENTO"]; //FIN MODIFICACION JOSE VASQUEZ: FECHA 2015.NOV.26 //log.Info("gic_Pregunta / getPreguntaSiguiente , campo : PER_FECHANACIMIENTO -->> PASO CORRECTAMENTE LA CONVERSION"); } if (!DBNull.Value.Equals(dataReader["PER_NUMERODOC"])) { pregunta.per_NumeroDoc = dataReader["PER_NUMERODOC"].ToString(); } preguntas.Add(pregunta); } dataReader.Close(); #endregion } return(preguntas); } catch (Exception e) { log.Error("gic_Pregunta / getPreguntaSiguiente , Error: " + e.Message.ToString() + "/r" + e.StackTrace); return(null); } finally { datoConsulta.Dispose(); ////datos.Dispose(); } }