public static List <Dreams> GetEventosOperador( int Id_Operador, DateTime Fecha_Inicio, DateTime Fecha_Fin) { using (ISession session = NHibernateSession.openSession()) { List <Dreams> eventos = new List <Dreams>(); try { eventos = session.QueryOver <Dreams>(). Where(x => x.usuario_id == Id_Operador) .Where(x => x.fecha_inicio >= Fecha_Inicio) .Where(x => x.fecha_fin <= Fecha_Fin || x.fecha_inicio <= Fecha_Fin) //.OrderBy(x => x.fecha_fin).Desc .OrderBy(x => x.fecha_inicio).Desc .List().ToList(); /** * Obtiene los eventos de Dream.Dreams. **/ HelperBitacora.getEventMonitor(eventos, Id_Operador, Fecha_Fin, false); eventos = LogsysDreamControllerHelper.GetEventosActivos(eventos, Fecha_Fin); /*** * Verifica si el evento que esta en Dream.Monitor ya se encuentra en * Dream.Dreams, en caso de que no se encuentre lo agrega * **/ } catch (Exception e) { eventos = null; } finally { session.Close(); /** * Se cierra la session. * **/ } return(eventos); } }
private JsonFormat getRegistro(double horas, int user_id, DateTime fecha) { JsonFormat format = new JsonFormat(); //List<Dreams> dreams=new List<Dreams>(); using (ISession session = NHibernateSession.openSession()) { try { using (ITransaction transaction = session.BeginTransaction()) { String f = fecha.ToString("yyyy-MM-dd HH:mm:ss"); DateTime b = Convert.ToDateTime(f); DateTime d = fecha.AddHours(-horas); var Dream = session.QueryOver <Dreams>(). Where(x => x.usuario_id == user_id). And(x => x.fecha_fin >= d). //d es la fecha menos 24 o menor 5:30 And(x => x.fecha_inicio <= b). //b es la fecha con que se llamo el servicio OrderBy(x => x.fecha_inicio). Asc.List().ToList(); /** * Se obtienen los eventos de la tabla Dream.Dreams, este query va a obtener todos los * eventos desde el rango de fechas especificado. * **/ HelperBitacora.getEventMonitor(Dream, user_id, fecha, true);//Verifica el evento que esta en Dream.Monitor. format = getFormato(Dream); var last = Dream.First <Dreams>(); DateTime a = last.fecha_fin ?? DateTime.Now; TimeSpan s = a - d; //TimeSpan s = last.fecha_fin - d; format.inactivo += s.TotalMinutes; if (horas == 24) { if (format.inactivo > 1400.00) { format.inactivo = 1400; } else if (format.inactivo < 0.0) { format.inactivo = 0.0; } else { } format.activo = (24 * 60) - format.inactivo; if (format.activo > 1400.00) { format.activo = 1400; } else if (format.activo < 0.0) { format.activo = 0.0; } else { } } else { if (format.inactivo > 330) { format.inactivo = 330; } else if (format.inactivo < 0.0) { format.inactivo = 0.0; } else { } format.activo = (5.5 * 60) - format.inactivo; if (format.activo > 330) { format.inactivo = 330; } else if (format.activo < 0.0) { format.activo = 0.0; } else { } } } // getSumaDeDiferencias(dreams); return(format); } catch (Exception e) { System.Console.WriteLine(e.ToString()); return(null); //errorLog.Error("Error:\n" + e); } finally { session.Close(); } } }