public static int CrearTarea(int idActividad, String nombre, String descripcion, String categoria)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "INSERT INTO tarea(id_actividad, nombre, descripcion, categoria) " +
                    "OUTPUT Inserted.id_tarea VALUES(@id, @nombre, @descripcion, @categoria)", conn);

                var idP          = new SqlParameter("@id", SqlDbType.Int, 0);
                var nombreP      = new SqlParameter("@nombre", SqlDbType.VarChar, 20);
                var descripcionP = new SqlParameter("@descripcion", SqlDbType.VarChar, 200);
                var cateP        = new SqlParameter("@categoria", SqlDbType.VarChar, 2);

                idP.Value          = idActividad;
                nombreP.Value      = nombre;
                descripcionP.Value = descripcion;
                cateP.Value        = categoria;

                command.Parameters.Add(idP);
                command.Parameters.Add(nombreP);
                command.Parameters.Add(descripcionP);
                command.Parameters.Add(cateP);

                int res = (int)command.ExecuteScalar();

                conn.Close();

                return(res);
            }
        }
        public static Dictionary <String, dynamic> getTarea(int idTarea)
        {
            var dic = new Dictionary <String, dynamic>();

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "SELECT nombre, descripcion, id_actividad, categoria FROM tarea WHERE id_tarea = @id", conn);

                var idP = new SqlParameter("@id", SqlDbType.Int, 0);
                idP.Value = idTarea;

                command.Parameters.Add(idP);
                command.Prepare();

                using (var reader = command.ExecuteReader())
                {
                    if (reader.Read())
                    {
                        dic["nombre"]       = reader["nombre"].ToString();
                        dic["descripcion"]  = reader["descripcion"].ToString();
                        dic["id_actividad"] = (int)reader["id_actividad"];
                        dic["id_tarea"]     = idTarea;
                        dic["categoria"]    = reader["categoria"].ToString();
                    }
                }

                conn.Close();
            }

            return(dic);
        }
        public static List <Tuple <int, String> > getTareasDeActividad(int idActividad)
        {
            var lista = new List <Tuple <int, String> >();

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand("SELECT nombre, id_tarea FROM tarea WHERE id_actividad = @id", conn);
                var idP     = new SqlParameter("@id", SqlDbType.Int, 0);
                idP.Value = idActividad;
                command.Parameters.Add(idP);
                command.Prepare();

                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        lista.Add(new Tuple <int, string>((int)reader["id_tarea"], reader["nombre"].ToString()));
                    }
                }

                conn.Close();
            }

            return(lista);
        }
        public static void ModificarTarea(int idTarea, int idActividad, String nombre, String descripcion, String categoria)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand("UPDATE tarea SET id_actividad = @id_actividad, " +
                                             "nombre = @nombre, descripcion = @descripcion, categoria = @categoria WHERE id_tarea = @id_tarea", conn);

                var idA          = new SqlParameter("@id_actividad", SqlDbType.Int, 0);
                var idT          = new SqlParameter("@id_tarea", SqlDbType.Int, 0);
                var nombreP      = new SqlParameter("@nombre", SqlDbType.VarChar, 20);
                var descripcionP = new SqlParameter("@descripcion", SqlDbType.VarChar, 200);
                var cateP        = new SqlParameter("@categoria", SqlDbType.VarChar, 2);

                idA.Value          = idActividad;
                idT.Value          = idTarea;
                nombreP.Value      = nombre;
                descripcionP.Value = descripcion;
                cateP.Value        = categoria;

                command.Parameters.Add(idA);
                command.Parameters.Add(idT);
                command.Parameters.Add(nombreP);
                command.Parameters.Add(descripcionP);
                command.Parameters.Add(cateP);

                command.ExecuteNonQuery();

                conn.Close();
            }
        }
        public static List <String> getUsuariosString()
        {
            var res = new List <String>();

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand("SELECT nombre, identificador " +
                                             "FROM usuario", conn);

                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        String s = reader["nombre"].ToString() + " Id: " + reader["identificador"].ToString();
                        res.Add(s);
                    }
                }

                conn.Close();
            }

            return(res);
        }
示例#6
0
        private static void agregarAsistentesAProyecto(int id_proyecto, String[] asistentes)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                foreach (String s in asistentes)
                {
                    var command = new SqlCommand(
                        "INSERT INTO asistentes_por_proyecto(id_proyecto, id_asistente) " +
                        "VALUES(@idProy, @idAsis)", conn);

                    var idProy = new SqlParameter("@idProy", SqlDbType.Int, 0);
                    var idAsis = new SqlParameter("@idAsis", SqlDbType.VarChar, 20);

                    idProy.Value = id_proyecto;
                    idAsis.Value = s;

                    command.Parameters.Add(idAsis);
                    command.Parameters.Add(idProy);

                    command.Prepare();
                    command.ExecuteNonQuery();
                }

                conn.Close();
            }
        }
示例#7
0
        public static int Crear(String nombre, int idProyecto)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "INSERT INTO sujetos_de_prueba(nombre, id_proyecto) " +
                    "OUTPUT Inserted.id_sujeto VALUES(@nombre, @id)", conn);

                var idP = new SqlParameter("@id", SqlDbType.Int, 0)
                {
                    Value = idProyecto
                };
                var nomP = new SqlParameter("@nombre", SqlDbType.VarChar, 40)
                {
                    Value = nombre
                };

                command.Parameters.Add(idP);
                command.Parameters.Add(nomP);
                command.Prepare();

                var res = (int)command.ExecuteScalar();

                conn.Close();

                return(res);
            }
        }
        public static Boolean VerificarCredencialesLider(int idProy)
        {
            var usuario = obtenerUsuarioActivo();
            var lider   = false;

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var cmd = new SqlCommand(
                    "SELECT lider_id FROM proyecto WHERE id_proyecto = @id", conn);

                var par = new SqlParameter("@id", System.Data.SqlDbType.Int, 0)
                {
                    Value = idProy
                };

                cmd.Parameters.Add(par);
                cmd.Prepare();

                var liderObt = cmd.ExecuteScalar().ToString();
                lider = (liderObt.Equals(usuario));

                conn.Close();
            }

            return(lider);
        }
示例#9
0
        public static Dictionary <String, dynamic> GetSujeto(int idSujeto)
        {
            var dic = new Dictionary <String, dynamic>();

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "SELECT nombre, id_proyecto FROM sujetos_de_prueba WHERE id_sujeto = @id", conn);

                var idP = new SqlParameter("@id", SqlDbType.Int, 0)
                {
                    Value = idSujeto
                };

                command.Parameters.Add(idP);
                command.Prepare();

                using (var reader = command.ExecuteReader())
                {
                    if (reader.Read())
                    {
                        dic["nombre"]      = reader["nombre"].ToString();
                        dic["id_sujeto"]   = idSujeto;
                        dic["id_proyecto"] = (int)reader["id_proyecto"];
                    }
                }

                conn.Close();
            }

            return(dic);
        }
        public static Boolean eliminar(String id)
        {
            if (VerificarCredencialesAdmin() || obtenerUsuarioActivo().Equals(id))
            {
                using (var conn = ControladorGlobal.GetConn())
                {
                    conn.Open();

                    var command = new SqlCommand(
                        "DELETE FROM usuario WHERE identificador = @id", conn);

                    var idP = new SqlParameter("@id", System.Data.SqlDbType.VarChar, 20);
                    idP.Value = id;
                    command.Parameters.Add(idP);
                    command.Prepare();

                    var res = command.ExecuteNonQuery();

                    conn.Close();

                    return(res > 0);
                }
            }
            else
            {
                throw new Exception("No tiene los privilegios necesarios");
            }
        }
示例#11
0
        public static void Modificar(int idSujeto, String nombre, int idProyecto)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "UPDATE sujetos_de_prueba SET nombre = @nombre, id_proyecto = @id_proyecto " +
                    "WHERE id_sujeto = @id_sujeto", conn);

                var idP = new SqlParameter("@id_proyecto", SqlDbType.Int, 0)
                {
                    Value = idProyecto
                };
                var nomP = new SqlParameter("@nombre", SqlDbType.VarChar, 40)
                {
                    Value = nombre
                };
                var idS = new SqlParameter("@id_sujeto", SqlDbType.Int, 0)
                {
                    Value = idSujeto
                };

                command.Parameters.Add(idP);
                command.Parameters.Add(nomP);
                command.Parameters.Add(idS);
                command.Prepare();

                command.ExecuteNonQuery();

                conn.Close();
            }
        }
        public static void EliminarActividad(int idActividad)
        {
            //Primero elimina las tuplas relacionadas con la actividad

            //DatosTarea.EliminarDeActividad(idActividad);
            //DatosObservacion.EliminarDeActividad(idActividad);
            //DatosRonda.EliminarDeActividad(idActividad);
            EliminarUsuariosActividad(idActividad);

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "DELETE FROM actividad WHERE id_actividad = @id", conn);

                var idP = new SqlParameter("@id", SqlDbType.Int, 0);
                idP.Value = idActividad;

                command.Parameters.Add(idP);
                command.Prepare();

                command.ExecuteNonQuery();

                conn.Close();
            }
        }
        public static void AgregarUsuariosActividad(int idActividad, String[] usuarios)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                foreach (String idUsuario in usuarios)
                {
                    var command = new SqlCommand(
                        "INSERT INTO usuarios_por_actividad(id_actividad, id_usuario) " +
                        "VALUES(@id_actividad, @id_usuario)", conn);

                    var idA = new SqlParameter("@id_actividad", SqlDbType.Int, 0);
                    var idU = new SqlParameter("@id_usuario", SqlDbType.VarChar, 20);

                    idA.Value = idActividad;
                    idU.Value = idUsuario;

                    command.Parameters.Add(idA);
                    command.Parameters.Add(idU);

                    command.Prepare();
                    command.ExecuteNonQuery();
                }

                conn.Close();
            }
        }
示例#14
0
        public static int Crear(int idObservacion, TimeSpan hora, float humedad, float temperatura, String descripcion)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "INSERT INTO ronda_de_observacion(id_observacion, hora, humedad, temperatura, descripcion) " +
                    "OUTPUT Inserted.id_ronda VALUES(@id_observacion, @hora, @humedad, @temperatura, @descripcion)", conn);

                /*var idP = new SqlParameter("@id_observacion", SqlDbType.Int) { Value = idObservacion };
                 * var fechaP = new SqlParameter("@hora", SqlDbType.Time) { Value = hora };
                 * var humedadP = new SqlParameter("@humedad", SqlDbType.Float) { Value = (double)humedad };
                 * var temperaturaP = new SqlParameter("@temperatura", SqlDbType.Float) { Value = (double)temperatura };
                 * var descripcionP = new SqlParameter("@descripcion", SqlDbType.VarChar) { Value = descripcion };*/

                command.Parameters.AddWithValue("@id_observacion", idObservacion);
                command.Parameters.AddWithValue("@hora", hora);
                command.Parameters.AddWithValue("@humedad", humedad);
                command.Parameters.AddWithValue("@temperatura", temperatura);
                command.Parameters.AddWithValue("@descripcion", descripcion);

                //command.Prepare();

                var res = (int)command.ExecuteScalar();

                conn.Close();

                return(res);
            }
        }
        public static List <Tuple <String, String> > getUsuariosParaProyecto(int idProyecto)
        {
            var lista = new List <Tuple <String, String> >();

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "SELECT identificador, nombre " +
                    "FROM usuario AS u INNER JOIN asistentes_por_proyecto AS ap " +
                    "ON u.identificador = ap.id_asistente " +
                    "WHERE ap.id_proyecto = @id", conn);

                var idP = new SqlParameter("@id", SqlDbType.Int, 0);
                idP.Value = idProyecto;
                command.Parameters.Add(idP);
                command.Prepare();

                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        lista.Add(new Tuple <String, String>(reader["identificador"].ToString(),
                                                             reader["nombre"].ToString()));
                    }
                }

                conn.Close();
            }

            return(lista);
        }
        public static List <Tuple <String, String> > getUsuariosPorActividad(int idActividad)
        {
            var lista = new List <Tuple <String, String> >();

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "SELECT identificador, nombre FROM usuario AS u " +
                    "INNER JOIN usuarios_por_actividad AS up ON u.identificador = up.id_usuario " +
                    "WHERE up.id_actividad = @id", conn);

                var idA = new SqlParameter("@id", SqlDbType.Int, 0);
                idA.Value = idActividad;
                command.Parameters.Add(idA);
                command.Prepare();

                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        lista.Add(new Tuple <string, string>(
                                      reader["identificador"].ToString(), reader["nombre"].ToString()));
                    }
                }

                conn.Close();
            }

            return(lista);
        }
示例#17
0
        public static List <Tuple <int, String> > GetSujetosDeProyecto(int idProyecto)
        {
            var lista = new List <Tuple <int, String> >();

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "SELECT id_sujeto, nombre FROM sujetos_de_prueba WHERE id_proyecto = @id", conn);

                var idP = new SqlParameter("@id", SqlDbType.Int, 0)
                {
                    Value = idProyecto
                };

                command.Parameters.Add(idP);

                command.Prepare();
                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        lista.Add(new Tuple <int, string>((int)reader["id_sujeto"], reader["nombre"].ToString()));
                    }
                }

                conn.Close();
            }

            return(lista);
        }
        public static int CrearActividad(int idProyecto, String nombre, String descripcion, String[] usuarios)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "INSERT INTO actividad(nombre, descripcion, id_proyecto) OUTPUT Inserted.id_actividad " +
                    "VALUES(@nombre, @descripcion, @id_proyecto)", conn);

                var nombreP      = new SqlParameter("@nombre", SqlDbType.VarChar, 20);
                var descripcionP = new SqlParameter("@descripcion", SqlDbType.VarChar, 200);
                var idP          = new SqlParameter("@id_proyecto", SqlDbType.Int, 0);

                nombreP.Value      = nombre;
                descripcionP.Value = descripcion;
                idP.Value          = idProyecto;

                command.Parameters.Add(nombreP);
                command.Parameters.Add(descripcionP);
                command.Parameters.Add(idP);

                command.Prepare();
                var res = (int)command.ExecuteScalar();

                if (usuarios != null)
                {
                    AgregarUsuariosActividad(res, usuarios);
                }

                conn.Close();

                return(res);
            }
        }
        public static Boolean IsAdmin(String usuario)
        {
            bool admin = false;

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                SqlCommand command = new SqlCommand(
                    "SELECT administrador FROM usuario WHERE identificador = @usuario", conn);

                SqlParameter usuarioP = new SqlParameter("@usuario", System.Data.SqlDbType.VarChar, 20)
                {
                    Value = usuario
                };

                command.Parameters.Add(usuarioP);
                command.Prepare();

                var temp = command.ExecuteScalar();
                admin = bool.Parse(temp.ToString());

                conn.Close();
            }

            return(admin);
        }
        public static Dictionary <String, dynamic> getActividad(int idActividad)
        {
            var dic = new Dictionary <String, dynamic>();

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand("SELECT * FROM actividad WHERE id_actividad = @id", conn);

                var idP = new SqlParameter("@id", SqlDbType.Int, 0);
                idP.Value = idActividad;
                command.Parameters.Add(idP);
                command.Prepare();

                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        dic["nombre"]       = reader["nombre"].ToString();
                        dic["descripcion"]  = reader["descripcion"].ToString();
                        dic["id_actividad"] = (int)reader["id_actividad"];
                        dic["id_proyecto"]  = (int)reader["id_proyecto"];
                        dic["usuarios"]     = getUsuariosPorActividad(dic["id_actividad"]);
                    }
                }

                conn.Close();
            }

            return(dic);
        }
示例#21
0
        public static int Crear(int idActividad, String descripcion, DateTime dia)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "INSERT INTO observacion(id_actividad, descripcion, dia) " +
                    "OUTPUT Inserted.id_observacion VALUES(@id_actividad, @descripcion, @dia)", conn);

                var idA = new SqlParameter("@id_actividad", SqlDbType.Int, 0)
                {
                    Value = idActividad
                };
                var desc = new SqlParameter("@descripcion", SqlDbType.VarChar, 200)
                {
                    Value = descripcion
                };
                var diaP = new SqlParameter("@dia", SqlDbType.Date, 0)
                {
                    Value = dia
                };

                command.Parameters.Add(idA);
                command.Parameters.Add(desc);
                command.Parameters.Add(diaP);

                command.Prepare();
                var res = (int)command.ExecuteScalar();

                conn.Close();

                return(res);
            }
        }
示例#22
0
        public static List <Tuple <int, String> > GetProyectosString()
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand("SELECT * FROM proyecto", conn);
                command.Prepare();

                var lista = new List <Tuple <int, String> >();

                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var tempTuple = new Tuple <int, String>(
                            (int)reader["id_proyecto"], reader["nombre"].ToString());
                        lista.Add(tempTuple);
                    }
                }

                conn.Close();

                return(lista);
            }
        }
示例#23
0
        public static Dictionary <String, dynamic> GetProyecto(int id)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "SELECT * FROM proyecto WHERE id_proyecto = @id",
                    conn);
                var idP = new SqlParameter("@id", SqlDbType.Int, 0);
                idP.Value = id;
                command.Parameters.Add(idP);
                command.Prepare();

                var dic = new Dictionary <String, dynamic>();

                using (var reader = command.ExecuteReader())
                {
                    if (reader.Read())
                    {
                        dic["nombre"]                 = reader["nombre"].ToString();
                        dic["tiempo_muestreo"]        = (int)reader["tiempo_muestreo"];
                        dic["tamano_muestreo"]        = (int)reader["tamano_muestreo"];
                        dic["tiempo_entre_muestreos"] = (int)reader["tiempo_entre_muestreos"];
                        dic["fecha_inicio"]           = (DateTime)reader["fecha_inicio"];
                        dic["fecha_fin"]              = (DateTime)reader["fecha_fin"];
                        dic["lider_id"]               = reader["lider_id"].ToString();
                        dic["descripcion"]            = reader["descripcion"].ToString();
                        dic["id_proyecto"]            = id;
                    }
                }

                command = new SqlCommand(
                    "SELECT id_asistente FROM asistentes_por_proyecto WHERE id_proyecto = @id",
                    conn);

                idP       = new SqlParameter("@id", SqlDbType.Int, 0);
                idP.Value = id;
                command.Parameters.Add(idP);
                command.Prepare();

                List <String> asistentes = new List <String>();

                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        asistentes.Add(reader["id_asistente"].ToString());
                    }
                }

                dic["asistentes"] = asistentes;

                conn.Close();

                return(dic);
            }
        }
        public static List <Dictionary <String, dynamic> > GetObservacionTareaPorOperacion(int idOperacion)
        {
            var lista = new List <Dictionary <String, dynamic> >();

            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "SELECT ro.id_observacion, ro.id_ronda, temp_outer.categoria, temp_outer.nombre_sujeto, " +
                    "temp_outer.nombre_tarea, temp_outer.id_tarea, temp_outer.id_sujeto, temp_outer.id_observacion_tarea, temp_outer.id_actividad " +
                    "FROM ronda_de_observacion ro INNER JOIN " +
                    "( " +
                    "SELECT t.categoria, t.nombre AS nombre_tarea, temp.nombre_sujeto, temp.id_ronda, t.id_tarea, temp.id_sujeto, temp.id_observacion_tarea, t.id_actividad " +
                    "FROM tarea t INNER JOIN " +
                    "( " +
                    "SELECT s.id_sujeto, id_ronda, s.nombre AS nombre_sujeto, oa.id_tarea, oa.id_observacion_tarea FROM sujetos_de_prueba s " +
                    "INNER JOIN observacion_de_tarea oa " +
                    "ON s.id_sujeto = oa.id_sujeto " +
                    ") AS temp " +
                    "ON t.id_tarea = temp.id_tarea " +
                    ") AS temp_outer " +
                    "ON temp_outer.id_ronda = ro.id_ronda " +
                    "WHERE temp_outer.id_actividad = @id", conn);

                var idP = new SqlParameter("@id", SqlDbType.Int, 0)
                {
                    Value = idOperacion
                };
                command.Parameters.Add(idP);
                command.Prepare();

                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var dic = new Dictionary <String, dynamic>();
                        dic["id_actividad"]         = (int)reader["id_actividad"];
                        dic["id_observacion"]       = (int)reader["id_observacion"];
                        dic["ronda"]                = (int)reader["id_ronda"];
                        dic["categoria"]            = reader["categoria"].ToString();
                        dic["id_observacion_tarea"] = (int)reader["id_observacion_tarea"];
                        dic["id_sujeto"]            = (int)reader["id_sujeto"];
                        dic["nombre_sujeto"]        = reader["nombre_sujeto"].ToString();
                        dic["id_tarea"]             = (int)reader["id_tarea"];
                        dic["nombre_tarea"]         = reader["nombre_tarea"].ToString();
                        lista.Add(dic);
                    }
                }

                conn.Close();
            }

            return(lista);
        }
示例#25
0
        public static void Crear(String nombre, int tiempoObs, DateTime inicio, DateTime final,
                                 int tamano, int tiempoEntreObservaciones, String idLider, String descripcion, String[] asistentes)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var stmn = new SqlCommand(
                    "INSERT INTO proyecto(nombre, tiempo_muestreo, tamano_muestreo, tiempo_entre_muestreos, " +
                    "fecha_inicio, fecha_fin, lider_id, descripcion, tipo_muestreo) OUTPUT Inserted.id_proyecto " +
                    "VALUES (@nom, @tiempo_muestreo, " +
                    "@tamano_muestreo, @tiempo_entre_muestreos, @fecha_inicio, @fecha_fin, @lider_id, @descripcion, @tipo)",
                    conn);

                var nom                    = new SqlParameter("@nom", SqlDbType.VarChar, 50);
                var tiempo_muestreo        = new SqlParameter("@tiempo_muestreo", SqlDbType.Int, 0);
                var tamano_muestreo        = new SqlParameter("@tamano_muestreo", SqlDbType.Int, 0);
                var tiempo_entre_muestreos = new SqlParameter("@tiempo_entre_muestreos", SqlDbType.Int, 0);
                var fecha_inicio           = new SqlParameter("@fecha_inicio", SqlDbType.Date, 0);
                var fecha_final            = new SqlParameter("@fecha_fin", SqlDbType.Date, 0);
                var lider                  = new SqlParameter("@lider_id", SqlDbType.VarChar, 40);
                var desc                   = new SqlParameter("@descripcion", SqlDbType.VarChar, 1000);
                var tipo                   = new SqlParameter("@tipo", SqlDbType.VarChar, 2);

                nom.Value                    = nombre;
                tiempo_muestreo.Value        = tiempoObs;
                tiempo_entre_muestreos.Value = tiempoEntreObservaciones;
                tamano_muestreo.Value        = tamano;
                fecha_final.Value            = final;
                fecha_inicio.Value           = inicio;
                desc.Value                   = descripcion;
                lider.Value                  = idLider;
                tipo.Value                   = "MP";

                stmn.Parameters.Add(nom);
                stmn.Parameters.Add(tiempo_muestreo);
                stmn.Parameters.Add(tamano_muestreo);
                stmn.Parameters.Add(tiempo_entre_muestreos);
                stmn.Parameters.Add(fecha_inicio);
                stmn.Parameters.Add(fecha_final);
                stmn.Parameters.Add(lider);
                stmn.Parameters.Add(desc);
                stmn.Parameters.Add(tipo);

                stmn.Prepare();
                var idProy = (int)stmn.ExecuteScalar();

                if (asistentes != null)
                {
                    agregarAsistentesAProyecto(idProy, asistentes);
                }

                conn.Close();
            }
        }
        public static void agregarUsuario(String usuario, String nombre, String pass, bool tipo)
        {
            if (VerificarCredencialesAdmin())
            {
                using (var conn = ControladorGlobal.GetConn())
                {
                    conn.Open();

                    var stmn = new SqlCommand("INSERT INTO usuario(identificador, nombre, administrador, sal, pass_hash) " +
                                              "VALUES(@id, @nom, @tipo, @sal, @pass)", conn);

                    var id      = new SqlParameter("@id", System.Data.SqlDbType.VarChar, 20);
                    var nombreP = new SqlParameter("@nom", System.Data.SqlDbType.VarChar, 40);
                    var sal     = new SqlParameter("@sal", System.Data.SqlDbType.Binary, 32);
                    var passP   = new SqlParameter("@pass", System.Data.SqlDbType.Binary, 64);
                    var tipoP   = new SqlParameter("@tipo", System.Data.SqlDbType.Bit, 0);

                    id.Value      = usuario;
                    nombreP.Value = nombre;
                    tipoP.Value   = tipo;

                    // Genera una sal de 32 bits y genera un hash para el pass junto con la sal
                    using (var random = new RNGCryptoServiceProvider())
                    {
                        var salTemp = new byte[32];
                        random.GetNonZeroBytes(salTemp);

                        byte[] passB  = (Encoding.UTF8.GetBytes(pass));
                        byte[] salted = new Byte[passB.Length + salTemp.Length];
                        passB.CopyTo(salted, 0);
                        salTemp.CopyTo(salted, passB.Length);

                        byte[] passTemp = new SHA256Managed().ComputeHash(salted);

                        sal.Value   = salTemp;
                        passP.Value = passTemp;
                    }

                    stmn.Parameters.Add(id);
                    stmn.Parameters.Add(nombreP);
                    stmn.Parameters.Add(sal);
                    stmn.Parameters.Add(passP);
                    stmn.Parameters.Add(tipoP);

                    stmn.Prepare();
                    stmn.ExecuteNonQuery();

                    conn.Close();
                }
            }
            else
            {
                throw new Exception("No tiene los privilegios necesarios");
            }
        }
示例#27
0
        public static void Modificar(int id, String nombre, int tiempoObs, DateTime inicio, DateTime final,
                                     int tamano, int tiempoEntreObservaciones, String idLider, String descripcion, String[] asistentes)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var stmn = new SqlCommand(
                    "UPDATE proyecto SET nombre = @nom, tiempo_muestreo = @tiempo_muestreo, tamano_muestreo = @tamano_muestreo, " +
                    "tiempo_entre_muestreos = @tiempo_entre_muestreos, fecha_inicio = @fecha_inicio, fecha_fin = @fecha_fin, " +
                    "lider_id = @lider_id, descripcion = @descripcion WHERE id_proyecto = @id", conn);

                var nom                    = new SqlParameter("@nom", SqlDbType.VarChar, 50);
                var tiempo_muestreo        = new SqlParameter("@tiempo_muestreo", SqlDbType.Int, 0);
                var tamano_muestreo        = new SqlParameter("@tamano_muestreo", SqlDbType.Int, 0);
                var tiempo_entre_muestreos = new SqlParameter("@tiempo_entre_muestreos", SqlDbType.Int, 0);
                var fecha_inicio           = new SqlParameter("@fecha_inicio", SqlDbType.Date, 0);
                var fecha_final            = new SqlParameter("@fecha_fin", SqlDbType.Date, 0);
                var lider                  = new SqlParameter("@lider_id", SqlDbType.VarChar, 40);
                var desc                   = new SqlParameter("@descripcion", SqlDbType.VarChar, 1000);
                var idP                    = new SqlParameter("@id", SqlDbType.Int, 0);

                nom.Value                    = nombre;
                tiempo_muestreo.Value        = tiempoObs;
                tiempo_entre_muestreos.Value = tiempoEntreObservaciones;
                tamano_muestreo.Value        = tamano;
                fecha_final.Value            = final;
                fecha_inicio.Value           = inicio;
                desc.Value                   = descripcion;
                lider.Value                  = idLider;
                idP.Value                    = id;

                stmn.Parameters.Add(nom);
                stmn.Parameters.Add(tiempo_muestreo);
                stmn.Parameters.Add(tamano_muestreo);
                stmn.Parameters.Add(tiempo_entre_muestreos);
                stmn.Parameters.Add(fecha_inicio);
                stmn.Parameters.Add(fecha_final);
                stmn.Parameters.Add(lider);
                stmn.Parameters.Add(desc);
                stmn.Parameters.Add(idP);

                stmn.Prepare();
                stmn.ExecuteNonQuery();

                if (asistentes != null)
                {
                    modificarAsistentesEnProyecto(id, asistentes);
                }

                conn.Close();
            }
        }
        public static Boolean VerificarCredencialesOperacion(int idOperacion)
        {
            try
            {
                bool credenciales = false;
                var  usuario      = obtenerUsuarioActivo();

                using (var conn = ControladorGlobal.GetConn())
                {
                    conn.Open();

                    var command = new SqlCommand(
                        "SELECT ua.id_actividad, a.nombre " +
                        "FROM usuarios_por_actividad AS ua " +
                        "INNER JOIN actividad AS a" +
                        "ON ua.id_actividad = a.id_actividad" +
                        "WHERE ua.id_usuario = @usuario " +
                        "AND ua.id_actividad = @operacion", conn);

                    var parUsuario = new SqlParameter("@usuario", System.Data.SqlDbType.VarChar, 20)
                    {
                        Value = usuario
                    };

                    var parActividad = new SqlParameter("@operacion", System.Data.SqlDbType.Int, 0)
                    {
                        Value = idOperacion
                    };

                    command.Parameters.Add(parUsuario);
                    command.Parameters.Add(parActividad);

                    command.Prepare();

                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            credenciales = true;
                            break;
                        }
                    }

                    conn.Close();
                }

                return(credenciales);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#29
0
 public static void Eliminar(int idRonda)
 {
     using (var conn = ControladorGlobal.GetConn())
     {
         var command = new SqlCommand("DELETE FROM ronda_de_observacion WHERE id_ronda = @id", conn);
         var idP     = new SqlParameter("@id", SqlDbType.Int, 0)
         {
             Value = idRonda
         };
         command.Parameters.Add(idP);
         command.Prepare();
         command.ExecuteNonQuery();
     }
 }
示例#30
0
        public static void Modificar(int idRonda, int idObservacion, DateTime fecha,
                                     float humedad, float temperatura, String descripcion)
        {
            using (var conn = ControladorGlobal.GetConn())
            {
                conn.Open();

                var command = new SqlCommand(
                    "UPDATE ronda_de_observacion SET id_observacion = @id_observacion, fecha_hora = @fecha, " +
                    "descripcion = @descripcion, humedad = @humedad, temperatura = @temperatura WHERE id_ronda = @id", conn);

                var idP = new SqlParameter("@id_observacion", SqlDbType.Int, 0)
                {
                    Value = idObservacion
                };
                var fechaP = new SqlParameter("@fecha", SqlDbType.DateTime, 0)
                {
                    Value = fecha
                };
                var humedadP = new SqlParameter("@humedad", SqlDbType.Float, 0)
                {
                    Value = humedad
                };
                var temperaturaP = new SqlParameter("@temperatura", SqlDbType.Float, 0)
                {
                    Value = temperatura
                };
                var descripcionP = new SqlParameter("@descripcion", SqlDbType.VarChar, 200)
                {
                    Value = descripcion
                };
                var idR = new SqlParameter("@id", SqlDbType.Int, 0)
                {
                    Value = idRonda
                };

                command.Parameters.Add(idP);
                command.Parameters.Add(idR);
                command.Parameters.Add(fechaP);
                command.Parameters.Add(humedadP);
                command.Parameters.Add(temperaturaP);
                command.Parameters.Add(descripcionP);

                command.Prepare();

                command.ExecuteNonQuery();

                conn.Close();
            }
        }