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); }
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); }
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); }
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); }
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); }
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); }
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); }
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(); } }
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); }
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); }
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); }
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(); } }
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); }
/// <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); }