GetEventosOperador( int Id_Operador, String Fecha_Inicio, String Fecha_Fin) { DateTime inicio = Convert.ToDateTime(Fecha_Inicio); DateTime fin = Convert.ToDateTime(Fecha_Fin); return(new JavaScriptSerializer().Serialize(LogsysDreamControllerHelper.GetEventosOperador(Id_Operador, inicio, fin))); }
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); } }
public String GetMonitor( //Este Método traera a todos los usuarios, sera invocado cuando todos sean nullos. int a1, //Id operador int a2, //Id operador int b1, //Semaforo int b2, //Semaforo int c1, //Actividad int c2, //Actividad int d1, //TipoDeOperador int d2, //TipoDeOperador int e1, //Grupo int e2, //Grupo String nombre ) { //JSonResponseMonitor response = new JSonResponseMonitor(); /*response.users = LogsysDreamControllerHelper.GetMonitor( * a1, //Id operador * a2, //Id operador * b1, //Semaforo * b2, //Semaforo * c1, //Actividad * c2, //Actividad * d1, //TipoDeOperador * d2,//TipoDeOperador * e1,//Grupo * e2,//Grupo * nombre * );*/ //response.porcentaje=LogsysDreamControllerHelper.getPorcentajeGeneral(response.users); return(new JavaScriptSerializer().Serialize(LogsysDreamControllerHelper.GetMonitor( a1, //Id operador a2, //Id operador b1, //Semaforo b2, //Semaforo c1, //Actividad c2, //Actividad d1, //TipoDeOperador d2, //TipoDeOperador e1, //Grupo e2, //Grupo nombre ))); }
public static List <Dreams> GetEventosActivos(List <Dreams> eventos, DateTime fecha_fin) { /** * Este metodo agregara los eventos * **/ List <Dreams> nueva = new List <Dreams>(); Dreams actual; Dreams siguiente; Dreams activo; //if(fecha_inicio_primero > fecha_fin ) omite el primer registro. for (int index = 0; index < eventos.Count; index++) { if (index == 0) { var primero = eventos.ElementAt(index); if (primero.fecha_inicio > fecha_fin) { } else { actual = eventos.ElementAt(index); LogsysDreamControllerHelper.GetDiferenciaFechas(actual); nueva.Add(actual); /** * A la nueva lista se le agrega el evento actual. * */ if (index + 1 < eventos.Count) { siguiente = eventos.ElementAt(index + 1);//Se obtiene el siguiente elemento. if (!actual.fecha_inicio.Equals(siguiente.fecha_fin)) { activo = new Dreams(); activo.tipo_actividad_id = (int)StatusActividad.ACTIVO; activo.actividad = "activo"; DateTime z = siguiente.fecha_fin ?? DateTime.Now; //activo.fecha_inicio = siguiente.fecha_fin; activo.fecha_inicio = z; activo.fecha_fin = actual.fecha_inicio; activo.usuario_id = actual.usuario_id; GetDiferenciaFechas(activo); nueva.Add(activo); } } } } else { actual = eventos.ElementAt(index); LogsysDreamControllerHelper.GetDiferenciaFechas(actual); nueva.Add(actual); /** * A la nueva lista se le agrega el evento actual. * */ if (index + 1 < eventos.Count) { siguiente = eventos.ElementAt(index + 1);//Se obtiene el siguiente elemento. if (!actual.fecha_inicio.Equals(siguiente.fecha_fin)) { activo = new Dreams(); activo.tipo_actividad_id = (int)StatusActividad.ACTIVO; activo.actividad = "activo"; DateTime s = siguiente.fecha_fin ?? DateTime.Now; //activo.fecha_inicio = siguiente.fecha_fin; activo.fecha_inicio = s; activo.fecha_fin = actual.fecha_inicio; activo.usuario_id = actual.usuario_id; GetDiferenciaFechas(activo); nueva.Add(activo); } } } } return(nueva); }