public static List<registros> obtenerTodos() 
        {
            List<registros> retorno = new List<registros>();

            SqlConnection cnx = conexion.crearConexion();

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnx;
            cmd.CommandText = "SELECT * from registros ORDER BY fecha DESC";
            cmd.CommandType = CommandType.Text;
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                registros registro = new registros();

                registro.fecha = (DateTime)dr["fecha"];
                registro.tipo = (string)dr["tipo"];
                registro.descripcion = (string)dr["descripcion"];
                registro.usuario = (string)dr["usuario"];

                retorno.Add(registro);
            }
            cnx.Close();
            return retorno;
        }
        public static void agregarRegistro(registros registro)
        {

            SqlConnection cnx = conexion.crearConexion();

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnx;
            cmd.CommandText = "INSERT INTO registros VALUES(@fecha, @tipo, @descripcion, @usuario)";

            cmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value=registro.fecha;
            cmd.Parameters.Add("@tipo", SqlDbType.VarChar).Value = registro.tipo;
            cmd.Parameters.Add("@descripcion", SqlDbType.VarChar).Value = registro.descripcion;
            cmd.Parameters.Add("@usuario", SqlDbType.VarChar).Value = registro.usuario;

            cmd.CommandType = CommandType.Text;
            cmd.ExecuteNonQuery();
            cnx.Close();
        }
        //-------------------------------------------------
        public ActionResult Guardar(FormCollection post)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                molinos molino = new molinos();
                molino.nombre = (string)post["nombre"];
                molino.planta = (string)post["planta"];
                molino.alarmaMedia = double.Parse(post["temperaturaMedia"].ToString());
                molino.alarmaAlta = double.Parse(post["temperaturaAlta"].ToString());
                molino.agregarMolino();

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo = "Creación de Molino";
                nuevo.descripcion = "El usuario " + nuevo.usuario
                    + " ha creado un nuevo molino con nombre " + molino.nombre + " en el sistema";

                registros.agregarRegistro(nuevo);

                flag = 2;//Agregado con éxito

                return RedirectToAction("todos");
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }
        public ActionResult Borrar(string id)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                if (!molinos.verificarEnSensores(id))
                {
                    molinos molino = new molinos();
                    molino.borrarmolino(id);

                    registros nuevo = new registros();
                    nuevo.fecha = DateTime.Now;
                    nuevo.usuario = Session["nombre"].ToString();
                    nuevo.tipo = "Eliminación de Molino";
                    nuevo.descripcion = "El usuario " + nuevo.usuario
                        + " ha eliminado el molino con nombre " + id + " del sistema";

                    registros.agregarRegistro(nuevo);

                    flag = 3;//Eliminado con éxito

                    return RedirectToAction("todos");
                }
                else 
                {
                    flag = 1;//Se usa
                    return RedirectToAction("todos");
                }
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }
        public ActionResult GuardarEditar(FormCollection form)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                molinos molino = new molinos();
                string id_old = form["nombreAnterior"];//old
                molino.borrarmolino(id_old);
                //Actualizar producto..            
                molino.nombre = (string)form["nombreMolino"];
                molino.planta = (string)form["planta"];
                molino.alarmaMedia = double.Parse(form["temperaturaMedia"].ToString());
                molino.alarmaAlta = double.Parse(form["temperaturaAlta"].ToString());
                molino.agregarMolino();
                molino.actualizarEnSensores(id_old);

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo = "Edición de Molino";
                nuevo.descripcion = "El usuario " + nuevo.usuario
                    + " ha editado el molino con nombre " + molino.nombre + " del sistema";

                registros.agregarRegistro(nuevo);

                flag = 4;//Modificado con éxito

                return RedirectToAction("todos");
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }
        public ActionResult agregarAlerta(FormCollection post, HttpPostedFileBase logo)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                infoAlertas nueva = new infoAlertas();

                nueva.nombre = post["nombre"];
                nueva.celular = post["celular"];
                nueva.correo = post["correo"];
                nueva.organizacion = post["organizacion"];
                                
                infoAlertas.agregarBD(nueva);

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo = "Creación de un receptor de alertas";
                nuevo.descripcion = "El usuario " + nuevo.usuario
                    + " ha creado un nuevo receptor de alertas para la organización " + nueva.organizacion
                    + " con correo " + nueva.correo;

                registros.agregarRegistro(nuevo);

                flag = 5;//Nueva alerta agregada con éxito

                return RedirectToAction("alertas", "Organizacion", new { organizacion = nueva.organizacion });
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult eliminar(string nombreUsuario)
        {
            if (Session["rol"] != null && Session["rol"].ToString().Equals("admin"))
            {
                usuarios.eliminarBD(nombreUsuario);

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo="Eliminación de usuario";
                nuevo.descripcion = "El usuario " + nuevo.usuario + " ha eliminado al usuario " + nombreUsuario + " del sistema";
                registros.agregarRegistro(nuevo);

                registros nuevo2 = new registros();
                nuevo2.fecha = DateTime.Now;
                nuevo2.usuario = nombreUsuario;
                nuevo2.tipo = "Eliminación de usuario";
                nuevo2.descripcion = "El usuario " + nombreUsuario 
                    + " ha sido eliminado del sistema por el usuario " + nuevo.usuario;
                registros.agregarRegistro(nuevo2);

                flag = 3;//Editado con éxito

                return RedirectToAction("Index", "Usuarios");
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult eliminar(string nombre)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                if (!plantas.existePlantaEnMolinos(nombre))
                {
                    plantas.eliminarBD(nombre);

                    registros nuevo = new registros();
                    nuevo.fecha = DateTime.Now;
                    nuevo.usuario = Session["nombre"].ToString();
                    nuevo.tipo = "Eliminación de planta";
                    nuevo.descripcion = "El usuario " + nuevo.usuario
                        + " ha eliminado la Planta con nombre " + nombre + " del sistema";

                    registros.agregarRegistro(nuevo);

                    flag = 3;//Eliminado con éxito
                }
                else flag = 1;//No se puede eliminar porque se está ocupando

                return RedirectToAction("Index");
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult agregarPlanta(FormCollection post)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                plantas nueva = new plantas();

                nueva.nombre = post["nombre"];
                nueva.organizacion = post["organizacion"];

                plantas.agregarBD(nueva);

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario=Session["nombre"].ToString();
                nuevo.tipo = "Creación de planta";
                nuevo.descripcion = "El usuario " + nuevo.usuario + " ha creado una nueva Planta con nombre " + nueva.nombre + " en el sistema";

                registros.agregarRegistro(nuevo);

                flag = 2;//Agregado con éxito

                return RedirectToAction("Index");
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult Borrar(string id)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                sensores sensor = new sensores().getSensor(id);

                if (sensores.obtenerMayorsensor(sensor.molino) == sensor.numero)
                {
                    sensor.borrarsensor(id);

                    registros nuevo = new registros();
                    nuevo.fecha = DateTime.Now;
                    nuevo.usuario = Session["nombre"].ToString();
                    nuevo.tipo = "Eliminación del Sensor";
                    nuevo.descripcion = "El usuario " + nuevo.usuario
                        + " ha eliminado el sensor con EPC: " + id + " del sistema";

                    registros.agregarRegistro(nuevo);

                    flag = 3;//Eliminado con éxito

                    return RedirectToAction("todos");
                }
                else 
                {
                    flag = 1;//Se usa

                    return RedirectToAction("todos");
                }
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }
        public ActionResult GuardarEditar(FormCollection form)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                sensores sensor = new sensores();
                string id_old = form["nombreAnterior"];//old
                sensor.borrarsensor(id_old);
                //Actualizar producto..            
                sensor.epc = (string)form["EPC"];
                sensor.molino = (string)form["molino"];
                sensor.numero = (int.Parse((string)form["numero"]));
                sensor.temperaturaAlta = (double.Parse((string)form["tMaxima"]));
                sensor.temperaturaMedia = (double.Parse((string)form["tMinima"]));
                sensor.agregarSensor();

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo = "Edición de Molino";
                nuevo.descripcion = "El usuario " + nuevo.usuario
                    + " ha editado el polo numero " + sensor.numero + " con el EPC: " + sensor.epc + " en el Sistema";

                registros.agregarRegistro(nuevo);

                flag = 4;//Modificado con éxito

                return RedirectToAction("todosMolino", "Sensor", new { molino = sensor.molino });
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }
        //-------------------------------------------------
        public ActionResult Guardar(FormCollection post)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                sensores sensor = new sensores();

                sensor.epc = (string)post["EPC"];
                sensor.molino = (string)post["molino"];
                sensor.numero = (int.Parse((string)post["numero"]));
                sensor.temperaturaAlta = (double.Parse((string)post["tMaxima"]));
                sensor.temperaturaMedia = (double.Parse((string)post["tMinima"]));
                sensor.agregarSensor();

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo = "Creación de Sensor";
                nuevo.descripcion = "El usuario " + nuevo.usuario
                    + " ha creado un nuevo sensor con el EPC: " + sensor.epc + " en el sistema";

                registros.agregarRegistro(nuevo);

                flag = 2;//Agregado con éxito


                return RedirectToAction("todosMolino", "Sensor", new { molino = sensor.molino});
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }
        public ActionResult eliminarAlerta(string correo, string organizacion)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                infoAlertas.eliminarBD(correo, organizacion);

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo = "Eliminación de Receptor de Alertas";
                nuevo.descripcion = "El usuario " + nuevo.usuario
                    + " ha eliminado al receptor de alertas de la organizacion " + organizacion 
                    + " que poseía el siguiente correo electrónico: " + correo;

                registros.agregarRegistro(nuevo);

                flag = 6;// Alerta eliminada con éxito

                return RedirectToAction("alertas", "Organizacion", new { organizacion = organizacion });
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult eliminar(string nombre)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                if (!organizaciones.existeOrganizacionEnPlantas(nombre))
                {
                    string logoEliminar = organizaciones.obtenerOrganizacion(nombre).logo;
                    eliminarArchivo(logoEliminar);
                    eliminarCarpeta("~/Document/" + nombre);

                    organizaciones.eliminarBD(nombre);

                    registros nuevo = new registros();
                    nuevo.fecha = DateTime.Now;
                    nuevo.usuario = Session["nombre"].ToString();
                    nuevo.tipo = "Eliminación de Organización";
                    nuevo.descripcion = "El usuario " + nuevo.usuario
                        + " ha eliminado la organización con nombre " + nombre + " del sistema";

                    registros.agregarRegistro(nuevo);

                    flag = 3;//Eliminado con éxito
                }
                else flag = 1;//No se puede eliminar porque se está ocupando

                return RedirectToAction("Todas");
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult MetodoEditarAlerta(FormCollection post, HttpPostedFileBase logo)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                infoAlertas editada = infoAlertas.obtenerInfoAlerta(post["correoAnterior"], post["organizacion"]);

                editada.nombre = post["nombre"];
                editada.celular = post["celular"];
                editada.correo = post["correo"];
                editada.organizacion = post["organizacion"];

                infoAlertas.editarBD(editada, post["correoAnterior"]);

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo = "Edición de Receptor de Alerta";
                nuevo.descripcion = "El usuario " + nuevo.usuario
                    + " ha editado la los datos del receptor de alertas con correo: " + editada.correo
                    + ", perteneciente a la organización: " + editada.organizacion;

                registros.agregarRegistro(nuevo);

                flag = 7;//Alerta modificada con éxito

                return RedirectToAction("alertas", "Organizacion", new { organizacion = editada.organizacion });
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult editarOrganizacion(FormCollection post, HttpPostedFileBase logo)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                organizaciones editada = organizaciones.obtenerOrganizacion(post["nombreAnterior"]);

                editada.nombre = post["nombre"];
                editada.contacto = post["contacto"];
                editada.correo = post["correo"];
                editada.telefono = post["celular"];

                if (logo != null && logo.ContentLength != 0)
                {
                    //Se elimina la imagen anterior:
                    eliminarArchivo(editada.logo);

                    //Se sube la imagen
                    crearCarpeta(editada.nombre);
                    editada.logo = subirImagen(logo, editada.nombre);
                }

                organizaciones.editarBD(editada, post["nombreAnterior"]);

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo = "Edición de Organización";
                nuevo.descripcion = "El usuario " + nuevo.usuario
                    + " ha editado la organización con nombre " + editada.nombre + " del sistema";

                registros.agregarRegistro(nuevo);

                flag = 4;//Modificado con éxito

                return RedirectToAction("Todas");
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult verificarLogin(FormCollection post)
        {
            if (post["nombre"] == null || post["nombre"].ToString().Equals("")) 
            {
                Session.RemoveAll();
                return RedirectToAction("login", "Home");
            }
            else if (usuarios.revisarUsuarioPassword(post["nombre"], post["password"]))
            {
                Session["nombre"] = post["nombre"];
                Session["rol"] = usuarios.obtenerRol(post["nombre"]);
                //La sesión dura 12 horas por defecto
                Session.Timeout = 720;

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.tipo = "Inicio de Sesión";
                nuevo.descripcion = "El usuario " + Session["nombre"] + " inició sesión en el sistema";
                nuevo.usuario = Session["nombre"].ToString();

                registros.agregarRegistro(nuevo);

                return RedirectToAction("Index", "Home");
            }

            flag = 4; //usuario y/o contraseña erróneos

            return RedirectToAction("Index");
        }
        public ActionResult metodoCambioPassword(FormCollection post)
        {
            if (usuarios.revisarUsuarioPassword(post["nombreUsuario"], post["passwordActual"]))
                {
                    if (post["passwordNuevo"].ToString().Equals(post["passwordNuevo2"].ToString()))
                    {
                        usuarios.cambiarContraseña(post["nombreUsuario"].ToString(), post["passwordNuevo"].ToString());
                        flag = 2;//contraseña cambiada correctamente

                        registros nuevo = new registros();
                        nuevo.fecha = DateTime.Now;
                        nuevo.tipo = "Cambio de contraseña";
                        nuevo.usuario = Session["nombre"].ToString();
                        nuevo.descripcion = "El usuario " + nuevo.usuario + " ha modificado su contraseña";

                        registros.agregarRegistro(nuevo);

                        Session.RemoveAll();                       

                    }                    
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    flag = 1;//Contraseña incorrecta
                    return RedirectToAction("cambiarContraseña");
                }
        }
        public ActionResult editarPlanta(FormCollection post)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                plantas editada = plantas.obtenerPlanta(post["nombreAnterior"]);

                editada.nombre = post["nombre"];
                editada.organizacion = post["organizacion"];

                plantas.editarBD(editada, post["nombreAnterior"]);

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo = "Edición de planta";
                nuevo.descripcion = "El usuario " + nuevo.usuario 
                    + " ha editado los datos de la Planta con nombre " + editada.nombre + " del sistema";

                registros.agregarRegistro(nuevo);

                flag = 4;//Modificado con éxito

                return RedirectToAction("Index");
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult aplicarSeleccionMolinos(FormCollection post)
        {
            if (Session["rol"] != null)
            {
                if (post["molino1"] != null && !post["molino1"].ToString().Equals("Seleccione una opción"))
                {
                    Session["molino1"] = post["molino1"].ToString();
                }
                if (post["molino2"] != null && !post["molino2"].ToString().Equals("Seleccione una opción"))
                {
                    Session["molino2"] = post["molino2"].ToString();
                }
                if (post["molino3"] != null && !post["molino3"].ToString().Equals("Seleccione una opción"))
                {
                    Session["molino3"] = post["molino3"].ToString();
                }
                if (post["molino4"] != null && !post["molino4"].ToString().Equals("Seleccione una opción"))
                {
                    Session["molino4"] = post["molino4"].ToString();
                }
                if (post["molino5"] != null && !post["molino5"].ToString().Equals("Seleccione una opción"))
                {
                    Session["molino5"] = post["molino5"].ToString();
                }
                if (post["molino6"] != null && !post["molino6"].ToString().Equals("Seleccione una opción"))
                {
                    Session["molino6"] = post["molino6"].ToString();
                }

                return RedirectToAction("Index", "Home");
            }
            else
            {
                return RedirectToAction("Login", "Home");
            }  

            if (usuarios.revisarUsuarioPassword(post["nombreUsuario"], post["passwordActual"]))
                {
                    if (post["passwordNuevo"].ToString().Equals(post["passwordNuevo2"].ToString()))
                    {
                        usuarios.cambiarContraseña(post["nombreUsuario"].ToString(), post["passwordNuevo"].ToString());
                        flag = 2;//contraseña cambiada correctamente

                        registros nuevo = new registros();
                        nuevo.fecha = DateTime.Now;
                        nuevo.tipo = "Cambio de contraseña";
                        nuevo.usuario = Session["nombre"].ToString();
                        nuevo.descripcion = "El usuario " + nuevo.usuario + " ha modificado su contraseña";

                        registros.agregarRegistro(nuevo);

                        Session.RemoveAll();                       

                    }                    
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    flag = 1;//Contraseña incorrecta
                    return RedirectToAction("cambiarContraseña");
                }
        }
        public ActionResult editarUsuario(FormCollection post)
        {
            if (Session["rol"] != null && Session["rol"].ToString().Equals("admin"))
            {
                usuarios editado = new usuarios();
                editado.nombreUsuario = post["nombreUsuario"];
                editado.nombreCompleto = post["nombreCompleto"];
                editado.correoElectronico = post["correo"];
                editado.celular = post["celular"];
                editado.rol = post["rol"];

                usuarios.editarBD(editado, post["password"], post["nombreAnterior"]);
                
                registros nuevoRegistro = new registros();
                nuevoRegistro.fecha = DateTime.Now;
                nuevoRegistro.tipo = "Edición de usuario";
                nuevoRegistro.usuario = Session["nombre"].ToString();
                nuevoRegistro.descripcion = "El usuario " + nuevoRegistro.usuario
                    + " ha editado los datos del usuario " + editado.nombreUsuario;
                registros.agregarRegistro(nuevoRegistro);

                registros nuevoRegistro2 = new registros();
                nuevoRegistro2.fecha = DateTime.Now;
                nuevoRegistro2.tipo = "Edición de usuario";
                nuevoRegistro2.usuario = editado.nombreUsuario;
                nuevoRegistro2.descripcion = "Los datos del usuario " + editado.nombreUsuario
                    + " han sido editados por el usuario " + Session["nombre"].ToString();
                registros.agregarRegistro(nuevoRegistro2);

                flag = 4;//Editado con éxito

                return RedirectToAction("Index", "Usuarios");
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult Marcar(string polo,string molino)
        {
            if (Session["nombre"] != null)
            {
                string epc = alertas.obtenerepc(molino,int.Parse(polo));
                    
                alertas.actualizarAlerta(epc, Session["nombre"].ToString());

                    registros nuevo = new registros();
                    nuevo.fecha = DateTime.Now;
                    nuevo.usuario = Session["nombre"].ToString();
                    nuevo.tipo = "Alarma leida";
                    nuevo.descripcion = "El usuario " + nuevo.usuario
                        + " ha marcado como 'leída' la alerta del polo " + polo + " en el molino " + molino;

                    registros.agregarRegistro(nuevo);
                
                    return RedirectToAction("Todas");
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }
        public ActionResult agregarUsuario(FormCollection post)
        {
            if (Session["rol"] != null && Session["rol"].ToString().Equals("admin"))
            {
                usuarios nuevo = new usuarios();
                nuevo.nombreUsuario = post["nombreUsuario"];
                nuevo.nombreCompleto = post["nombreCompleto"];
                nuevo.correoElectronico = post["correo"];
                nuevo.celular = post["celular"];
                nuevo.rol = post["rol"];

                usuarios.agregarBD(nuevo, post["password"]);

                registros nuevoRegistro = new registros();
                nuevoRegistro.fecha = DateTime.Now;
                nuevoRegistro.tipo = "Creación de usuario";
                nuevoRegistro.usuario = Session["nombre"].ToString();
                nuevoRegistro.descripcion = "El usuario " + nuevoRegistro.usuario 
                    + " ha agregado al usuario " + nuevo.nombreUsuario + " al sistema";
                registros.agregarRegistro(nuevoRegistro);

                registros nuevoRegistro2 = new registros();
                nuevoRegistro2.fecha = DateTime.Now;
                nuevoRegistro2.tipo = "Creación de usuario";
                nuevoRegistro2.usuario = nuevo.nombreUsuario;
                nuevoRegistro2.descripcion = "El usuario " + nuevo.nombreUsuario 
                    + " ha sido agregado al sistema por el usuario " + Session["nombre"].ToString();
                registros.agregarRegistro(nuevoRegistro2);

                flag = 2;//Agregado con éxito

                return RedirectToAction("Index", "Usuarios");
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }
        public ActionResult agregarOrganizacion(FormCollection post, HttpPostedFileBase logo)
        {
            if (Session["rol"] != null && (Session["rol"].ToString().Equals("analista") || Session["rol"].ToString().Equals("admin")))
            {
                organizaciones nueva = new organizaciones();

                nueva.nombre = post["nombre"];
                nueva.contacto = post["contacto"];
                nueva.correo = post["correo"];
                nueva.telefono = post["celular"];

                //Se sube la imagen
                crearCarpeta(nueva.nombre);
                nueva.logo = subirImagen(logo, nueva.nombre);

                organizaciones.agregarBD(nueva);

                registros nuevo = new registros();
                nuevo.fecha = DateTime.Now;
                nuevo.usuario = Session["nombre"].ToString();
                nuevo.tipo = "Creación de Organización";
                nuevo.descripcion = "El usuario " + nuevo.usuario 
                    + " ha creado una nueva organización con nombre " + nueva.nombre + " en el sistema";

                registros.agregarRegistro(nuevo);

                flag = 2;//Agregado con éxito

                return RedirectToAction("Todas");
            }
            else
            {
                return RedirectToAction("login", "Home");
            }
        }