예제 #1
0
    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);
        }
    }
예제 #3
0
    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);
    }