Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
 /// <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);
 }