/// <summary> /// Consulta a la base de datos por los asuntos que corresponden al dia de la fecha /// Fecha de creación : 07/06/2018 /// Autor : Maximiliano Leiva /// </summary> /// <returns></returns> public List <Entidades.Asunto> GetCurrentDayList(Entidades.Operador pOper) { // Generamos la lista a devolver List <Entidades.Asunto> lstAsuntoDiario = new List <Entidades.Asunto>(); // Generamos el objeto de conexión despachable using (SQLiteConnection c = new SQLiteConnection(Conexion.Cadena)) { // Abrimos la conexión c.Open(); // Creamos el comando despachable using (SQLiteCommand cmdConsultaAsuntosDia = new SQLiteCommand(_consultaAsuntosDiarios, c)) { // Cargamos el parametro de operador cmdConsultaAsuntosDia.Parameters.Agregar("@Operador", pOper.UserName); // Ejecutamos el lector de asuntos using (SQLiteDataReader rdrLectorAsunto = cmdConsultaAsuntosDia.ExecuteReader()) { // Leemos los resultados obtenidos del lector while (rdrLectorAsunto.Read()) { // Generamos una nueva entidad de asunto, donde almacenaremos los diferentes estados recolectados Entidades.Asunto entAsuntoDiario = new Entidades.Asunto(); // Almacenamos el número y el operador sobre el asunto entAsuntoDiario.Oper = pOper; entAsuntoDiario.Numero = rdrLectorAsunto["numero"].ToString(); // Traemos los estados del asunto recorrido entAsuntoDiario.Estados = EstadoAsunto.TraerListaEstadosPorAsunto(entAsuntoDiario); // Consultamos si el asunto es reportable using (SQLiteCommand cmdAsuntoReportable = new SQLiteCommand(_consultaReportable, c)) { cmdAsuntoReportable.Parameters.Agregar("@Numero", rdrLectorAsunto["numero"].ToString()); cmdAsuntoReportable.Parameters.Agregar("@Operador", pOper.UserName); // Ejecutamos el lector y averiguamos si es verdadera la consulta using (SQLiteDataReader rdrReportable = cmdAsuntoReportable.ExecuteReader()) { // Si devuelve respuesta se asigna verdadero a reportable if (rdrReportable.Read()) { entAsuntoDiario.Reportable = true; } } } lstAsuntoDiario.Add(entAsuntoDiario); } } } } // Devolvemos la lista procesada return(lstAsuntoDiario); }
/// <summary> /// Consulta a la base de datos si hay un asunto con los parametros que solicita /// Fecha de creación : 06/06/2018 /// Autor : Maximiliano Leiva /// </summary> /// <param name="pEntAsunto"></param> public Entidades.Asunto Get(Entidades.Asunto pEntAsunto) { // Generamos una entidad nueva que sera procesada Entidades.Asunto entAsunto = new Entidades.Asunto(); try { // Generamos un nuevo objeto de conexión using (SQLiteConnection c = new SQLiteConnection(Conexion.Cadena)) { // Abrimos la conexión c.Open(); String strConsultaAsunto = "SELECT descripcion_breve, grupo_derivado, reportable FROM asuntos where operador = @IdOperador and numero=@Numero"; using (SQLiteCommand cmdConsultaAsunto = new SQLiteCommand(strConsultaAsunto, c)) { cmdConsultaAsunto.Parameters.Agregar("@IdOperador", pEntAsunto.Oper.UserName); cmdConsultaAsunto.Parameters.Agregar("@Numero", pEntAsunto.Numero); using (SQLiteDataReader rdrConsultaAsunto = cmdConsultaAsunto.ExecuteReader()) { // Llemos los resultados obtenidos if (rdrConsultaAsunto.Read()) { if (!rdrConsultaAsunto.IsDBNull(1)) { entAsunto.GrupoDerivado.Id = rdrConsultaAsunto.GetInt32(1); } entAsunto.Numero = pEntAsunto.Numero; entAsunto.Oper = pEntAsunto.Oper; entAsunto.DescripcionBreve = rdrConsultaAsunto["descripcion_breve"].ToString(); entAsunto.Reportable = Convert.ToBoolean(rdrConsultaAsunto["reportable"]); entAsunto.Estados = EstadoAsunto.TraerListaEstadosPorAsunto(pEntAsunto); entAsunto.Actuacion = Actuacion.TraerActuaciones(entAsunto, c); } } } } } catch (Exception) { throw new Exception("Error en la recuperacion de información del asunto"); } // Devolvemos la entidad procesada return(entAsunto); }