Ejemplo n.º 1
0
        public List <Recordatorio> ObtenerRecordatoriosActivos(bool?avisoPopup, bool?avisoEmail)
        {
            string sqlActivarRecordatorios = @"UPDATE Recordatorios SET IdEstadoRecordatorio = 2 WHERE FechaActivacion <= getdate() AND IdEstadoRecordatorio = 1 ";

            this.ActualizarSQL(sqlActivarRecordatorios);

            ISession session = NHibernateSessionSingleton.GetSession();

            string hql = @"select R
                        from Recordatorio R   
                        where R.Vigente = True 
                          and R.EstadoRecordatorio.Id = 2 ";

            if (avisoPopup.HasValue)
            {
                hql += " and R.AvisoPopup = :avisoPopup";
            }
            if (avisoEmail.HasValue)
            {
                hql += " and R.AvisoEmail = :avisoEmail";
            }

            IQuery query = session.CreateQuery(hql);

            if (avisoPopup.HasValue)
            {
                query.SetParameter("avisoPopup", avisoPopup.Value);
            }
            if (avisoEmail.HasValue)
            {
                query.SetParameter("avisoEmail", avisoEmail.Value);
            }

            return(query.List <Recordatorio>().ToList <Recordatorio>());
        }
Ejemplo n.º 2
0
        public T Obtener(object id)
        {
            session = NHibernateSessionSingleton.GetSession();
            T returnVal = session.Get <T>(id);

            return(returnVal);
        }
Ejemplo n.º 3
0
        public void Actualizar(T value)
        {
            ITransaction tx = null;

            try
            {
                session = NHibernateSessionSingleton.GetSession();
                tx      = session.BeginTransaction();
                session.SaveOrUpdate(value);
                session.Flush();
                tx.Commit();
            }
            catch
            {
                if (tx != null)
                {
                    tx.Rollback();
                }
                throw;
            }
            finally
            {
                NHibernateSessionSingleton.CloseSession();
            }
        }
Ejemplo n.º 4
0
        public void ActualizarSQL(string sqlUpdate)
        {
            ITransaction tx = null;

            try
            {
                session = NHibernateSessionSingleton.GetSession();
                tx      = session.BeginTransaction();
                int updatedEntities = session.CreateSQLQuery(sqlUpdate).ExecuteUpdate();
                session.Flush();
                tx.Commit();
            }
            catch
            {
                if (tx != null)
                {
                    tx.Rollback();
                }
                throw;
            }
            finally
            {
                NHibernateSessionSingleton.CloseSession();
            }
        }
Ejemplo n.º 5
0
        public IList <ItemChart> ObtenerDatosDocsEvaluadosMes()
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string sql = @" 
                            select	ROW_NUMBER() OVER(ORDER BY MONTH(de.Mes) ASC) AS Id,
		                            e.Descripcion as Descripcion,
		                            '' as Descripcion2,
		                            de.Mes as Valor,		
		                            count(*) as Valor2
		
                            from (select	MONTH(a.Fecha)  as Mes, 
				                            ad.IdDocumentoVersion,
				                            MAX(dve.IdVersionEstado) as ultimaVersionEstado
		                            from Actas a
			                            inner join ActaDocumentos ad on a.IdActa = ad.IdActa
			                            inner join DocumentoVersionEstados as dve on dve.IdDocumentoVersion = ad.IdDocumentoVersion 
		                            where YEAR(a.Fecha) = 2019
		                            group by MONTH(a.Fecha), ad.IdDocumentoVersion) as de 

		                            inner join DocumentoVersionEstados dve on dve.IdVersionEstado = de.ultimaVersionEstado 
		                            inner join EstadosDocumento as e on dve.IdEstadoDocumento = e.IdEstadoDocumento
                            group by de.Mes, e.Descripcion
                            order by de.Mes, e.Descripcion
                            ";

            IQuery query = session.CreateSQLQuery(sql)
                           .AddEntity(typeof(ItemChart));

            return(query.List <ItemChart>());
        }
Ejemplo n.º 6
0
        public T Obtener(ICriterion expresion)
        {
            session = NHibernateSessionSingleton.GetSession();
            ICriteria criteria = session.CreateCriteria(typeof(T)).
                                 Add(expresion);

            return(criteria.UniqueResult <T>());
        }
Ejemplo n.º 7
0
        public List <Recordatorio> BuscarRecordatorios(string tipoRecordatorio, string descripcion, string codigoEstudio, string estado)
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string sWhere = string.Empty;

            if (descripcion != string.Empty)
            {
                sWhere += " AND R.Descripcion LIKE :descripcion ";
            }
            if (tipoRecordatorio != string.Empty)
            {
                sWhere += " AND (TR.Descripcion LIKE :tipoRecordatorio) ";
            }
            if (codigoEstudio != string.Empty)
            {
                sWhere += " AND (E.Codigo LIKE :codigoEstudio) ";
            }
            if (estado != string.Empty)
            {
                sWhere += " AND (R.IdEstadoRecordatorio = :estado) ";
            }

            if (sWhere != string.Empty)
            {
                sWhere = " WHERE " + sWhere.Substring(5);
            }

            string sql = @"SELECT R.*
                        FROM Recordatorios AS R
                        INNER JOIN TiposRecordatorio AS TR ON R.IdTipoRecordatorio = TR.IdTipoRecordatorio
                        LEFT JOIN Estudios AS E ON E.IdEstudio = R.IdEstudio "
                         + sWhere;

            IQuery query = session.CreateSQLQuery(sql).AddEntity(typeof(Recordatorio));

            if (descripcion != string.Empty)
            {
                query.SetParameter("descripcion", string.Format("%{0}%", descripcion));
            }
            if (tipoRecordatorio != string.Empty)
            {
                query.SetParameter("tipoRecordatorio", string.Format("%{0}%", tipoRecordatorio));
            }
            if (codigoEstudio != string.Empty)
            {
                query.SetParameter("codigoEstudio", string.Format("%{0}%", codigoEstudio));
            }
            if (estado != string.Empty)
            {
                query.SetParameter("estado", string.Format("{0}", estado));
            }

            return(query.List <Recordatorio>().ToList <Recordatorio>());
        }
Ejemplo n.º 8
0
 public IList <T> ObtenerTodos(ICriterion expresion)
 {
     session = NHibernateSessionSingleton.GetSession();
     try
     {
         ICriteria criteria = session.CreateCriteria(typeof(T)).Add(expresion);
         return(criteria.List <T>());
     }
     catch
     {
         throw;
     }
 }
Ejemplo n.º 9
0
        public IList <ActaDocumento> ObtenerDocumentoTratadosXEstudio(int idEstudio)
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string hql = @"select ActaDocs
                        from ActaDocumento ActaDocs join ActaDocs.DocumentoVersion DV
                        where DV.Documento.IdEstudio = :idestudio";

            IList <ActaDocumento> listActas = session.CreateQuery(hql)
                                              .SetParameter("idestudio", idEstudio)
                                              .List <ActaDocumento>();

            return(listActas);
        }
Ejemplo n.º 10
0
 public IList <T> ObtenerTodos()
 {
     session = NHibernateSessionSingleton.GetSession();
     try
     {
         ICriteria criteria = session.CreateCriteria(typeof(T));
         return(criteria.List <T>());
     }
     catch
     {
         session.Flush();
         throw;
     }
 }
Ejemplo n.º 11
0
        /// <summary>
        /// Obtiene el listado de las notas tratadas en un Estudio
        /// </summary>
        /// <param name="idActa"></param>
        /// <returns></returns>
        public IList <Nota> ObtenerEstudioNotas(int idEstudio)
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string sql = @"select *
                        from Notas 
                        where IdEstudio = :idestudio";

            IQuery query = session.CreateSQLQuery(sql)
                           .AddEntity(typeof(Nota))
                           .SetParameter("idestudio", idEstudio);

            return(query.List <Nota>());
        }
Ejemplo n.º 12
0
        public List <Documento> ObtenerDocumentosAnulados(int idEstudio)
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string hql = @"select D
                        from Documento D   
                        where D.Vigente = False AND D.Estudio.Id = :idestudio";

            IList <Documento> listDocs = session.CreateQuery(hql)
                                         .SetParameter("idestudio", idEstudio)
                                         .List <Documento>();

            return(listDocs.ToList <Documento>());
        }
Ejemplo n.º 13
0
        public IList <ActaDTO> ListarActasDTO(bool?cerrada, string descripcion, int orden)
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string sWhere = string.Empty;

            string sql = @" select IdActa, Descripcion, Fecha, Hora, Cerrada 
                            from Actas ";

            if (cerrada.HasValue)
            {
                sWhere += " and Cerrada = :cerrada ";
            }

            if (descripcion.Trim().Length > 0)
            {
                sWhere += " and Descripcion like %:descripcion% ";
            }

            if (sWhere.Length > 0)
            {
                sql += " where " + sWhere.Substring(4);
            }

            if (orden == 2)
            {
                sql += " order by Fecha desc ";
            }
            else
            {
                sql += " order by Fecha asc ";
            }


            IQuery query = session.CreateSQLQuery(sql)
                           .AddEntity(typeof(ActaDTO));

            if (cerrada.HasValue)
            {
                query.SetParameter("cerrada", cerrada.Value);
            }

            if (descripcion.Trim().Length > 0)
            {
                query.SetParameter("Descripcion", descripcion);
            }

            return(query.List <ActaDTO>());
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Obtiene el listado de documentos tratados de un Acta
        /// </summary>
        /// <param name="idActa"></param>
        /// <returns></returns>
        public IList <ActaDocumento> ObtenerActaDocumentosTratados(int idActa)
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string sql = @"select *
                        from ActaDocumentos 
                        where IdActa = :idacta
                        order by OrdenEstudio, OrdenDocumento";

            IQuery query = session.CreateSQLQuery(sql)
                           .AddEntity(typeof(ActaDocumento))
                           .SetParameter("idacta", idActa);

            return(query.List <ActaDocumento>());
        }
Ejemplo n.º 15
0
        public List <Recordatorio> ObtenerRecordatoriosEstudio(int idEstudio, int idTipoRecordatorio)
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string hql = @"select R
                        from Recordatorio R   
                        where R.Vigente = True 
                          and R.Estudio.Id = :idestudio
                          and R.TipoRecordatorio.Id = :idTipoRecordatorio";

            IList <Recordatorio> list = session.CreateQuery(hql)
                                        .SetParameter("idestudio", idEstudio)
                                        .SetParameter("idTipoRecordatorio", idTipoRecordatorio)
                                        .List <Recordatorio>();

            return(list.ToList <Recordatorio>());
        }
Ejemplo n.º 16
0
        public void Sincronizar()
        {
            ITransaction tx = null;

            try
            {
                session = NHibernateSessionSingleton.GetSession();
                session.Flush();
            }
            catch
            {
                throw;
            }
            finally
            {
                NHibernateSessionSingleton.CloseSession();
            }
        }
Ejemplo n.º 17
0
        /// <summary>
        /// Obtener las Actas que estén en un determinado estudio
        /// </summary>
        /// <param name="idEstudio">IdEstudio del que se desea obtener las Actas donde se trató</param>
        /// <returns></returns>
        public IList <Acta> ObtenerActas(int idEstudio)
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string sql = @"SELECT * 
                        FROM Actas AS A
                        WHERE A.IdActa IN (SELECT AD.IdActa
				                FROM ActaDocumentos AS AD 
					              INNER JOIN DocumentoVersiones AS DV ON DV.IdDocumentoVersion = AD.IdDocumentoVersion 
					              INNER JOIN Documentos AS D ON D.IdDocumento = DV.IdDocumento
				                WHERE D.IdEstudio = :idestudio)
                            OR A.IdActa IN (SELECT N.IdActa FROM Notas AS N WHERE N.IdEstudio = :idestudio)";

            IQuery query = session.CreateSQLQuery(sql)
                           .AddEntity(typeof(Acta))
                           .SetParameter("idestudio", idEstudio);

            return(query.List <Acta>());
        }
Ejemplo n.º 18
0
        public IList <ItemChart> ObtenerDatosGraficoEstados()
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string sql = @" select  ROW_NUMBER() OVER(ORDER BY ee.Descripcion ASC) AS Id,
                                    ee.Descripcion as Descripcion, 
                                    '' as Descripcion2, 
                                    count(*) as Valor,
                                    -1 as Valor2
                            from Estudios e 
                                inner join EstadosEstudio ee on e.IdEstado = ee.IdEstadoEstudio
                            where not e.IdEstado in (3, 4)
                            group by ee.Descripcion
                            order by Count(*) desc";

            IQuery query = session.CreateSQLQuery(sql)
                           .AddEntity(typeof(ItemChart));

            return(query.List <ItemChart>());
        }
Ejemplo n.º 19
0
        public IList <ItemChart> ObtenerDatosGraficoSemaforo()
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string sql = @" select  ROW_NUMBER() OVER(ORDER BY e.EstadoSemaforo ASC) AS Id,
                                    case e.EstadoSemaforo
			                            when 1 then 'SIN REGISTROS'  
			                            when 2 then 'CON PENDIENTES'  
			                            when 3 then 'SIN PENDIENTES'  
		                            end as Descripcion, 
                                    '' as Descripcion2, 
                                    count(*) as Valor,
                                    -1 as Valor2
                            from Estudios e
                            where not e.IdEstado in (3, 4) and e.EstadoSemaforo > 0
                            group by e.EstadoSemaforo
                            order by e.EstadoSemaforo";

            IQuery query = session.CreateSQLQuery(sql)
                           .AddEntity(typeof(ItemChart));

            return(query.List <ItemChart>());
        }
Ejemplo n.º 20
0
        public ActaDTO ObtenerProximaActaDTO()
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            string sWhere = string.Empty;

            string sql = @" select top 1 IdActa, Descripcion, Fecha, Hora, Cerrada 
                            from Actas 
                            where Fecha > getdate() ";

            IQuery query = session.CreateSQLQuery(sql).AddEntity(typeof(ActaDTO));

            IList <ActaDTO> list = query.List <ActaDTO>();

            ActaDTO actaReturn = new ActaDTO();

            if (list.Count > 0)
            {
                actaReturn = list[0];
            }

            return(actaReturn);
        }