Пример #1
0
        /// <summary>
        /// Crea un objeto solicitud y se lo envía el método insertarSolicitud de la capa de Datos
        /// </summary>
        /// <param name="asunto"></param>
        /// <param name="descripcion"></param>
        /// <param name="login"></param>
        public bool crearSolicitud(String asunto, String descripcion, String login, String usuario)
        {
            Solicitud solicitud = new Solicitud();
            solicitud.Asunto = asunto;
            solicitud.Descripcion = descripcion;
            solicitud.PostBy = usuario;
            solicitud.Login = login;
            solicitud.Solicitante = _ldap.obtenerNombrePersona(login);

            return _manejoBD.insertarSolicitud(solicitud);
        }
Пример #2
0
        /// <summary>
        /// Recupera de la BD todas las solicitudes en estado "Pendiente"
        /// </summary>
        /// <returns>Lista con los datos de las solicitudes pendientes</returns>
        public List<Solicitud> recuperarSolicitudesPendientes()
        {
            List<Solicitud> resultado = new List<Solicitud>();

            SqlCommand buscar = new SqlCommand("SP_SOL_RecuperarSolicitudesPendientes", _conexion);
            buscar.CommandType = CommandType.StoredProcedure;

            if (_conexion.State == ConnectionState.Closed)
                _conexion.Open();

            try
            {
                SqlDataReader reader = buscar.ExecuteReader();
                while (reader.Read())
                {
                    Solicitud _solicitud = new Solicitud();
                    _solicitud.ID = reader.GetInt32(0);
                    _solicitud.FechaSolicitud = reader.GetDateTime(1);
                    _solicitud.Solicitante = reader.GetString(2);
                    _solicitud.Asunto = reader.GetString(3);
                    _solicitud.Descripcion = reader.GetString(4);
                    _solicitud.PostBy = reader.GetString(5);
                    resultado.Add(_solicitud);
                }
                _conexion.Close();
            }
            catch (Exception)
            {
                if (_conexion.State == ConnectionState.Open)
                    _conexion.Close();
            }

            return resultado;
        }
Пример #3
0
        /// <summary>
        /// Recupera de la BD todas las solicitudes no pendientes de un usuario
        /// </summary>
        /// <param name="usuario">login del usuario</param>
        /// <returns>Lista de solicitudes</returns>
        public List<Solicitud> recuperarSolicitudesUsuario(String usuario)
        {
            List<Solicitud> resultado = new List<Solicitud>();

            SqlCommand buscar = new SqlCommand("SP_SOL_RecuperarSolicitudesPorUsuario", _conexion);
            buscar.CommandType = CommandType.StoredProcedure;
            SqlParameter[] parametros = new SqlParameter[1];
            parametros[0] = new SqlParameter("@login", SqlDbType.VarChar);
            parametros[0].Value = usuario;
            buscar.Parameters.AddRange(parametros);

            if (_conexion.State == ConnectionState.Closed)
                _conexion.Open();

            try
            {
                SqlDataReader reader = buscar.ExecuteReader();
                while (reader.Read())
                {

                    Solicitud _solicitud = new Solicitud();
                    _solicitud.ID = reader.GetInt32(0);                 //ID de la solicitud
                    _solicitud.Asunto = reader.GetString(1);            //Asunto de la solicitud
                    _solicitud.Descripcion = reader.GetString(2);       //Descripción de la solicitud
                    _solicitud.FechaSolicitud = reader.GetDateTime(3);  //Fecha de la solicitud
                    _solicitud.PostBy = reader.GetString(4);            //Postby de la solicitud
                    _solicitud.Estado = reader.GetString(5);            //Estado de la solicitud
                    _solicitud.Responsable = reader.GetString(6);       //Responsable de la solicitud
                    resultado.Add(_solicitud);
                }
                _conexion.Close();
            }
            catch (Exception)
            {
                if (_conexion.State == ConnectionState.Open)
                    _conexion.Close();
            }

            return resultado;
        }
Пример #4
0
        /// <summary>
        /// Método que ejecuta el SP que agrega una solicitud a la BD   
        /// </summary>
        /// <param name="solicitud">Objeto solicitud </param>
        /// <returns>boolean que indica si la inserción fue exitosa o no</returns>
        /// 
        public Boolean insertarSolicitud(Solicitud solicitud)
        {
            Boolean resultado = false;

            SqlCommand agregar = new SqlCommand("SP_SOL_InsertarSolicitud", _conexion);
            agregar.CommandType = CommandType.StoredProcedure;
            SqlParameter[] parametros = new SqlParameter[5];
            parametros[0] = new SqlParameter("@solicitante", SqlDbType.VarChar);
            parametros[0].Value = solicitud.Solicitante;
            parametros[1] = new SqlParameter("@asunto", SqlDbType.VarChar);
            parametros[1].Value = solicitud.Asunto;
            parametros[2] = new SqlParameter("@descripcion", SqlDbType.NText);
            parametros[2].Value = solicitud.Descripcion;
            parametros[3] = new SqlParameter("@PostBy", SqlDbType.NText);
            parametros[3].Value = solicitud.PostBy;
            parametros[4] = new SqlParameter("@loginSolicitante", SqlDbType.VarChar);
            parametros[4].Value = solicitud.Login;
            agregar.Parameters.AddRange(parametros);

            if (_conexion.State == ConnectionState.Closed)
                _conexion.Open();
            try
            {
                SqlDataReader reader = agregar.ExecuteReader();
                reader.Read();
                resultado = !(reader.HasRows);
                _conexion.Close();
                resultado = true;
            }
            catch (Exception)
            {
                if (_conexion.State == ConnectionState.Open)
                    _conexion.Close();
                resultado = false;
            }

            return resultado;
        }