コード例 #1
0
ファイル: TPrograma.cs プロジェクト: rafaelgr/falck-terminal
        public static void SetEstadoPrograma(TPrograma tp, SqlCeConnection conn)
        {
            int realizadas = 0;
            int totales    = 0;

            foreach (TRevision tr in GetTRevisionesEstado(tp, conn))
            {
                totales++;
                if (tr.Estado == "REALIZADA")
                {
                    realizadas++;
                }
            }
            if (realizadas == 0)
            {
                tp.Estado = "SIN COMENZAR";
            }
            else
            {
                if (realizadas < totales)
                {
                    tp.Estado = "EN CURSO";
                }
                else
                {
                    tp.Estado = "FINALIZADA";
                }
            }
            TSave(tp, conn);
        }
コード例 #2
0
ファイル: TPrograma.cs プロジェクト: rafaelgr/falck-terminal
        public static TPrograma GetTProgramaC(int id, SqlCeConnection conn)
        {
            TPrograma programa = null;

            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = String.Format("SELECT p.programa_id, p.fecha_programada, u.nombre, p.estado, p.comentarios, p.abm FROM Programa p LEFT JOIN usuario u on p.usuario_id = u.usuario_id WHERE programa_id = {0}", id);
                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    programa = new TPrograma()
                    {
                        ProgramaId  = dr.GetInt32(0),
                        NUsuario    = dr.GetString(2),
                        Estado      = dr.GetString(3),
                        Comentarios = dr.GetString(4),
                        Abm         = dr.GetByte(5)
                    };
                    if (dr[1] != DBNull.Value)
                    {
                        programa.FechaProgramada = dr.GetDateTime(1);
                    }
                }
                if (!dr.IsClosed)
                {
                    dr.Close();
                }
                // Ahora NO buscamos las revisiones asociadas para evitar bucles.
                // o reducir el tiempo de carga
            }
            return(programa);
        }
コード例 #3
0
ファイル: TPrograma.cs プロジェクト: rafaelgr/falck-terminal
        public static IList <TPrograma> GetTProgramasC(int gtId, SqlCeConnection conn)
        {
            IList <TPrograma> l   = new List <TPrograma>();
            string            sql = String.Format("SELECT DISTINCT p.programa_id, p.fecha_programada, u.nombre, p.estado, p.comentarios, i.nombre, p.abm  FROM programa p LEFT JOIN USUARIO u ON u.usuario_id = p.usuario_id LEFT JOIN Revision r ON p.programa_id = r.programa_id LEFT JOIN Dispositivo d ON r.dispositivo_id = d.dispositivo_id  LEFT JOIN Instalacion i ON d.instalacion = i.instalacion_id WHERE u.grupo_trabajo_id = {0} ORDER BY fecha_programada ASC", gtId);

            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sql;
                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    TPrograma tp = new TPrograma()
                    {
                        ProgramaId      = dr.GetInt32(0),
                        FechaProgramada = dr.GetDateTime(1),
                        NUsuario        = dr.GetString(2),
                        Estado          = dr.GetString(3),
                        Comentarios     = dr.GetString(4),
                        NInstalacion    = dr.GetString(5),
                        Abm             = dr.GetByte(6)
                    };
                    if (tp != null)
                    {
                        l.Add(tp);
                    }
                }
                if (!dr.IsClosed)
                {
                    dr.Close();
                }
            }
            return(l);
        }
コード例 #4
0
ファイル: TPrograma.cs プロジェクト: rafaelgr/falck-terminal
        public static TPrograma GetTPrograma(int id, SqlCeConnection conn)
        {
            TPrograma programa = null;

            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = String.Format("SELECT * FROM Programa WHERE programa_id = {0}", id);
                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    programa = new TPrograma()
                    {
                        ProgramaId      = dr.GetInt32(0),
                        FechaProgramada = dr.GetDateTime(1),
                        Usuario         = GetTUsuario(dr.GetInt32(2), conn),
                        Estado          = dr.GetString(3),
                        Comentarios     = dr.GetString(4),
                        Abm             = dr.GetByte(5)
                    };
                }
                if (!dr.IsClosed)
                {
                    dr.Close();
                }
            }
            return(programa);
        }
コード例 #5
0
ファイル: TRevision.cs プロジェクト: rafaelgr/falck-sci
        public static IList <TRevision> GetTRevisionesEstado(TPrograma programa, SqlCeConnection conn)
        {
            List <TRevision> revisiones = new List <TRevision>();

            if (programa == null)
            {
                return(revisiones);
            }
            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = String.Format("SELECT estado FROM Revision  WHERE programa_id = {0}",
                                                programa.ProgramaId);

                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    TRevision revision = new TRevision()
                    {
                        Estado = dr.GetString(0),
                    };
                    revisiones.Add(revision);
                }
                if (!dr.IsClosed)
                {
                    dr.Close();
                }
            }
            return(revisiones);
        }
コード例 #6
0
ファイル: TPrograma.cs プロジェクト: rafaelgr/falck-sci
        public static TPrograma GetTProgramaC(int id, SqlCeConnection conn)
        {
            TPrograma programa = null;

            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = String.Format("SELECT * FROM Programa WHERE programa_id = {0}", id);
                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    programa = new TPrograma()
                    {
                        ProgramaId      = dr.GetInt32(0),
                        FechaProgramada = dr.GetDateTime(1),
                        Usuario         = GetTUsuario(dr.GetInt32(2), conn),
                        Estado          = dr.GetString(3),
                        Comentarios     = dr.GetString(4)
                    };
                }
                if (!dr.IsClosed)
                {
                    dr.Close();
                }
                // Ahora NO buscamos las revisiones asociadas para evitar bucles.
                // o reducir el tiempo de carga
            }
            return(programa);
        }
コード例 #7
0
ファイル: TRevision.cs プロジェクト: rafaelgr/falck-sci
        public static IList <TRevision> GetTRevisionesC(TPrograma programa, SqlCeConnection conn)
        {
            List <TRevision> revisiones = new List <TRevision>();

            if (programa == null)
            {
                return(revisiones);
            }
            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = String.Format("SELECT * FROM Revision WHERE programa_id = {0} ORDER BY fecha_planificada DESC",
                                                programa.ProgramaId);

                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    TRevision revision = new TRevision()
                    {
                        RevisionId  = dr.GetInt32(0),
                        Usuario     = GetTUsuario(dr.GetInt32(2), conn),
                        Dispositivo = GetTDispositivo(dr.GetInt32(1), conn),
                        Resultado   = dr.GetString(6),
                        Comentario  = dr.GetString(7),
                        TPrograma   = GetTProgramaC(dr.GetInt32(8), conn),
                        Estado      = dr.GetString(9),
                        Plantilla   = dr.GetString(10),
                        Abm         = dr.GetByte(12)
                    };
                    // control de nulos en fechas.
                    if (dr[3] != DBNull.Value)
                    {
                        revision.FechaPlanificada = dr.GetDateTime(3);
                    }
                    if (dr[4] != DBNull.Value)
                    {
                        revision.FechaProgramada = dr.GetDateTime(4);
                    }
                    if (dr[5] != DBNull.Value)
                    {
                        revision.FechaRevision = dr.GetDateTime(5);
                    }
                    if (dr.GetInt32(11) == 0)
                    {
                        revision.TTipoAnomalia = null;
                    }
                    else
                    {
                        revision.TTipoAnomalia = GetTTipoAnomalia(dr.GetInt32(11), conn);
                    }
                    //revision.DatosRevision = GetTDatosRevision(revision, conn);
                    revisiones.Add(revision);
                }
                if (!dr.IsClosed)
                {
                    dr.Close();
                }
            }
            return(revisiones);
        }
コード例 #8
0
ファイル: TPrograma.cs プロジェクト: rafaelgr/falck-terminal
        public static void TSave(TPrograma tp, SqlCeConnection conn)
        {
            string sql = "";

            sql = @"UPDATE Programa SET estado='{1}, abm=3' WHERE programa_id={0}";

            sql = String.Format(sql, tp.ProgramaId, tp.Estado);
            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sql;
                int nrec = cmd.ExecuteNonQuery();
            }
        }
コード例 #9
0
        public static TPrograma GetTPrograma(int id, SqlCeConnection conn)
        {
            TPrograma programa = null;

            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = String.Format("SELECT * FROM Programa WHERE programa_id = {0}", id);
                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    programa = new TPrograma()
                    {
                        ProgramaId      = dr.GetInt32(0),
                        FechaProgramada = dr.GetDateTime(1),
                        Usuario         = GetTUsuario(dr.GetInt32(2), conn),
                        Estado          = dr.GetString(3),
                        Comentarios     = dr.GetString(4)
                    };
                }
                if (!dr.IsClosed)
                {
                    dr.Close();
                }
                if (programa != null)
                {
                    // Ahora buscamos las revisiones asociadas.
                    cmd.CommandText = String.Format("SELECT * FROM Revision WHERE programa_id = {0}", programa.ProgramaId);
                    dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        TRevision tr = CntSciTerminal.GetTRevision(dr.GetInt32(0), conn);
                        if (tr != null)
                        {
                            programa.Revisiones.Add(tr);
                        }
                    }
                    if (!dr.IsClosed)
                    {
                        dr.Close();
                    }
                }
            }
            return(programa);
        }
コード例 #10
0
ファイル: TRevision.cs プロジェクト: rafaelgr/falck-terminal
        public static IList <TRevision> GetTRevisiones(TPrograma programa, SqlCeConnection conn)
        {
            List <TRevision> revisiones = new List <TRevision>();

            if (programa == null)
            {
                return(revisiones);
            }
            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = String.Format("SELECT DISTINCT r.revision_id, r.fecha_planificada, d.nombre, r.estado, d.posicion, r.abm, d.nIndustria, d.dispositivo_id FROM Revision r INNER JOIN Dispositivo d ON d.dispositivo_id = r.dispositivo_id  WHERE programa_id = {0} ORDER BY fecha_planificada ASC",
                                                programa.ProgramaId);

                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    TRevision revision = new TRevision()
                    {
                        RevisionId   = dr.GetInt32(0),
                        NDispositivo = dr.GetString(2),
                        TPrograma    = programa,
                        Estado       = dr.GetString(3),
                        NInstalacion = programa.NInstalacion,
                        Posicion     = dr.GetString(4),
                        Abm          = dr.GetByte(5),
                        NIndustria   = dr.GetString(6),
                    };
                    revision.Dispositivo = new TDispositivo();
                    revision.Dispositivo.DispositivoId = dr.GetInt32(7);
                    // control de nulos en fechas.
                    if (dr[3] != DBNull.Value)
                    {
                        revision.FechaPlanificada = dr.GetDateTime(1);
                    }
                    revisiones.Add(revision);
                }
                if (!dr.IsClosed)
                {
                    dr.Close();
                }
            }
            return(revisiones);
        }
コード例 #11
0
ファイル: TPrograma.cs プロジェクト: rafaelgr/falck-sci
        public static IList <TPrograma> GetTProgramasC(SqlCeConnection conn)
        {
            IList <TPrograma> l   = new List <TPrograma>();
            string            sql = "SELECT * FROM Programa";

            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sql;
                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    TPrograma tp = GetTProgramaC(dr.GetInt32(0), conn);
                    if (tp != null)
                    {
                        l.Add(tp);
                    }
                }
            }
            return(l);
        }
コード例 #12
0
ファイル: TPrograma.cs プロジェクト: rafaelgr/falck-sci
        public static void TSave(TPrograma tp, SqlCeConnection conn)
        {
            string sql = "";
            // primero verificamos que si el elemento está
            TPrograma ttp = GetTPrograma(tp.ProgramaId, conn);

            if (ttp == null)
            {
                sql = @"INSERT INTO Programa(programa_id, usuario_id, estado, comentarios, fecha_programada) VALUES({0},{1},'{2}','{3}','{4:yyyy-MM-dd}')";
            }
            else
            {
                sql = @"UPDATE Programa SET usuario_id={1},estado='{2}',comentarios='{3}', fecha_programada='{4:yyyy-MM-dd}' WHERE programa_id={0}";
            }
            sql = String.Format(sql, tp.ProgramaId, tp.Usuario.UsuarioId, tp.Estado, tp.Comentarios, tp.FechaProgramada);
            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sql;
                int nrec = cmd.ExecuteNonQuery();
            }
        }
コード例 #13
0
ファイル: TPrograma.cs プロジェクト: rafaelgr/falck-terminal
        public static IList <TPrograma> GetTProgramasC(SqlCeConnection conn)
        {
            IList <TPrograma> l   = new List <TPrograma>();
            string            sql = "SELECT DISTINCT p.programa_id, p.fecha_programada, u.nombre, p.estado, p.comentarios, i.nombre, p.abm FROM Programa p LEFT JOIN usuario u on p.usuario_id = u.usuario_id LEFT JOIN Revision r ON p.programa_id = r.programa_id LEFT JOIN Dispositivo d ON r.dispositivo_id = d.dispositivo_id  LEFT JOIN Instalacion i ON d.instalacion = i.instalacion_id ORDER BY fecha_programada ASC";

            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sql;
                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    TPrograma tp = new TPrograma()
                    {
                        ProgramaId      = dr.GetInt32(0),
                        FechaProgramada = null, // dr.GetDateTime(1),
                        NUsuario        = dr.GetString(2),
                        Estado          = dr.GetString(3),
                        Comentarios     = dr.GetString(4),
                        NInstalacion    = dr.GetString(5),
                        Abm             = dr.GetByte(6)
                    };
                    if (dr[1] != DBNull.Value)
                    {
                        tp.FechaProgramada = dr.GetDateTime(1);
                    }
                    if (tp != null)
                    {
                        l.Add(tp);
                    }
                }
                if (!dr.IsClosed)
                {
                    dr.Close();
                }
            }
            return(l);
        }
コード例 #14
0
ファイル: TPrograma.cs プロジェクト: rafaelgr/falck-terminal
        /// <summary>
        /// Devuelve todos los programas que figuran en la base de datos
        /// </summary>
        /// <param name="conn">Conector a la base de datos</param>
        /// <returns></returns>
        public static IList <TPrograma> GetTProgramas(SqlCeConnection conn)
        {
            IList <TPrograma> l   = new List <TPrograma>();
            string            sql = "SELECT * FROM Programa ORDER BY fecha_programada ASC";

            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sql;
                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    TPrograma tp = GetTPrograma(dr.GetInt32(0), conn);
                    if (tp != null)
                    {
                        l.Add(tp);
                    }
                }
                if (!dr.IsClosed)
                {
                    dr.Close();
                }
            }
            return(l);
        }