//------------------------------------------------------------------------
        //en este caso mandamos un objeto de tipo user que contiene los datos para la clase Encapsular
        public void insertar_subir_descargar(E_subir_descargar subir_descargar)
        {
            DataTable usuarios = new DataTable();
            //NpgsqlConnection conection = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["MyConexion"].ConnectionString);
            SqlConnection conection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConexion2"].ConnectionString);

            try
            {
                //conexion y mandamos los parametros
                //NpgsqlDataAdapter dataAdapter = new NpgsqlDataAdapter("sp_insertar_subir_descargar", conection);
                SqlDataAdapter dataAdapter = new SqlDataAdapter("sp_insertar_subir_descargar", conection);
                dataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;

                /*
                 * dataAdapter.SelectCommand.Parameters.Add("_id_user", NpgsqlDbType.Integer).Value = subir_descargar.IdUser;
                 * dataAdapter.SelectCommand.Parameters.Add("_id_archivo", NpgsqlDbType.Integer).Value = subir_descargar.IdArchivo;
                 * dataAdapter.SelectCommand.Parameters.Add("_concepto", NpgsqlDbType.Varchar, 30).Value = subir_descargar.Concepto;
                 * dataAdapter.SelectCommand.Parameters.Add("_precio", NpgsqlDbType.Integer).Value = subir_descargar.Precio;
                 * dataAdapter.SelectCommand.Parameters.Add("_user_cambio", NpgsqlDbType.Integer).Value = subir_descargar.UserCambio;
                 */
                dataAdapter.SelectCommand.Parameters.Add("@id_user", SqlDbType.Int).Value          = subir_descargar.IdUser;
                dataAdapter.SelectCommand.Parameters.Add("@id_archivo", SqlDbType.Int).Value       = subir_descargar.IdArchivo;
                dataAdapter.SelectCommand.Parameters.Add("@concepto", SqlDbType.VarChar, 50).Value = subir_descargar.Concepto;
                dataAdapter.SelectCommand.Parameters.Add("@precio", SqlDbType.Int).Value           = subir_descargar.Precio;
                dataAdapter.SelectCommand.Parameters.Add("@user_cambio", SqlDbType.Int).Value      = subir_descargar.UserCambio;


                conection.Open();
                dataAdapter.Fill(usuarios);
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
            finally
            {
                if (conection != null)
                {
                    conection.Close();
                }
            }
            //return usuarios;
        }
        //----- subir archivo .....
        public U_Subir_archivos subir_archivo(string nombre, string anio, string sinopsis, string num_pag, string foto_archivo, string link_archivo,
                                              string id_user, String tags, string rol_user, string categoria, int cont_categoria, int cont_autor, string[] nom_autores,
                                              DataTable imagen_file, DataTable archivo_file, object Stags, object Sautor)
        {
            U_Subir_archivos info_2 = new U_Subir_archivos();
            //Dao_Subir_archivos operacion = new Dao_Subir_archivos();
            //DataTable informacion_archivo = operacion.consultar_archivo_nombre(nombre);

            List <sp_consulta_archivo_nombre_Result> datos = operacion_n.sp_consulta_archivo_nombre(nombre).ToList <sp_consulta_archivo_nombre_Result>();
            DataTable informacion_archivo = ToDataTable(datos);

            //asignamos la session en caso que no pase el if
            info_2.Session_fotos   = imagen_file;
            info_2.Session_archivo = archivo_file;

            //cuando el componente esta oculto no se puede utilizar para el rol 3
            if (int.Parse(rol_user) == 3)
            {
                categoria = "1";
            }
            else
            {
                cont_categoria = int.Parse(categoria);
            }

            //verificamos si la consulta trajo parametros
            if (informacion_archivo.Rows.Count == 0)
            {//datos no registrados usuario valido para insertar
             //--------------categorias_validaciones..............................................

                if (cont_categoria == 1)
                {
                    //Response.Write("<script type='text/javascript'>alert('Debe seleccionar una categoria');</script>");
                    info_2.Mensajes = "<script type='text/javascript'>alert('Debe seleccionar una categoria');</script>";
                    return(info_2);
                }

                //--------------imagen_validaciones..............................................

                //preguntamos si posee parametros
                if (imagen_file != null)
                {
                    foto_archivo = imagen_file.Rows[0][1].ToString();
                }
                else
                {
                    //cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('Debe ingresar la imagen de la portada');</script>");
                    info_2.Mensajes = "<script type='text/javascript'>alert('Debe ingresar la imagen de la portada');</script>";
                    return(info_2);
                }

                //--------------archivo_validaciones..............................................

                //preguntamos si posee parametros
                if (archivo_file != null)
                {
                    link_archivo = archivo_file.Rows[0][1].ToString();
                }
                else
                {
                    //cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('Debe ingresar el archivo');</script>");
                    info_2.Mensajes = "<script type='text/javascript'>alert('Debe ingresar el archivo');</script>";
                    return(info_2);
                }

                //--------------autores_validaciones..............................................

                //si la session es nula, no hay checklist seleccionados
                if (Sautor == null)
                {
                    //Response.Write("<script type='text/javascript'>alert('Debe seleccionar algun autor');</script>");
                    info_2.Mensajes = "<script type='text/javascript'>alert('Debe seleccionar algun autor');</script>";
                    return(info_2);
                }

                //--------------tags_validaciones..............................................

                //si la session es nula, no hay checklist seleccionados
                if (Stags == null)
                {
                    //Response.Write("<script type='text/javascript'>alert('Debe seleccionar tags');</script>");
                    info_2.Mensajes = "<script type='text/javascript'>alert('Debe seleccionar tags');</script>";
                    return(info_2);
                }


                //--------------insertar_archivo..............................................

                //Encapsulamos datos
                E_archivo datosArchivo = new E_archivo();

                datosArchivo.Nombre      = nombre;
                datosArchivo.Fecha       = anio;
                datosArchivo.Sinopsis    = sinopsis;
                datosArchivo.NumPag      = num_pag;
                datosArchivo.IdCategoria = categoria;
                datosArchivo.Foto        = foto_archivo;
                datosArchivo.Link        = link_archivo;
                datosArchivo.IdUser      = id_user;
                datosArchivo.Tags        = tags;
                datosArchivo.IdMod       = rol_user;
                datosArchivo.UserCambio  = id_user;

                //mandamos al metodo de agregar archivo
                try
                {
                    //operacion.insertar_archivo(datosArchivo);
                    operacion_n.sp_insertar_archivo(Int32.Parse(datosArchivo.IdMod), datosArchivo.Nombre, datosArchivo.Fecha, datosArchivo.Sinopsis,
                                                    Int32.Parse(datosArchivo.NumPag), datosArchivo.Foto, datosArchivo.Link, datosArchivo.Tags, Int32.Parse(datosArchivo.IdUser), Int32.Parse(datosArchivo.IdCategoria),
                                                    Int32.Parse(datosArchivo.UserCambio));
                }
                catch (Exception exc)
                {
                    throw exc;
                }

                //llamamos la clase encapsular
                E_archivo_autor archivo_autor = new E_archivo_autor();

                for (int i = 0; i < cont_autor; i++)
                {
                    //encapsulamos
                    archivo_autor.NombreAutor = nom_autores[i];
                    archivo_autor.UserCambio  = id_user;

                    try
                    {
                        //mandamos al metodo de agregar archivo_autor
                        //operacion.insertar_archivo_autor(archivo_autor);
                        operacion_n.sp_insertar_archivo_autor(archivo_autor.NombreAutor, Int32.Parse(archivo_autor.UserCambio));
                    }
                    catch (Exception exc)
                    {
                        throw exc;
                    }
                }

                //obtenemos los datos del ultimo archivo subido
                //DataTable info = operacion.mostrar_archivo();

                List <sp_mostrar_archivo_Result> datos3 = operacion_n.sp_mostrar_archivo().ToList <sp_mostrar_archivo_Result>();
                DataTable info = ToDataTable(datos3);

                //Encapsulamos datos
                E_subir_descargar subir_descargar = new E_subir_descargar();

                //obtenemos la posicion de la fila
                int contador = info.Rows.Count - 1;
                subir_descargar.IdUser     = id_user;
                subir_descargar.IdArchivo  = info.Rows[contador][0].ToString();
                subir_descargar.Concepto   = "Upload";
                subir_descargar.Precio     = "0";
                subir_descargar.UserCambio = id_user;

                try
                {
                    //mandamos al metodo de agregAR subir_descargar
                    //operacion.insertar_subir_descargar(subir_descargar);
                    operacion_n.sp_insertar_subir_descargar(Int32.Parse(subir_descargar.IdUser), Int32.Parse(subir_descargar.IdArchivo), subir_descargar.Concepto, Int32.Parse(subir_descargar.Precio), Int32.Parse(subir_descargar.UserCambio));

                    info_2.Mensajes        = "<script type='text/javascript'>alert('Archivo subido con exito, esperar a moderacion');window.location=\"inicio.aspx\"</script>";
                    info_2.Session_fotos   = null;
                    info_2.Session_archivo = null;

                    return(info_2);
                }
                catch (Exception exc)
                {
                    throw exc;
                }
            }//if
            else
            { //si trajo parametros el usuario esta en el sistema
                //Response.Write("<script type='text/javascript'>alert('El nombre(archivo) ya se encuentra registrado');</script>");
                info_2.Mensajes = "<script type='text/javascript'>alert('El nombre(archivo) ya se encuentra registrado');</script>";
                return(info_2);
            }
        }///////////////
Beispiel #3
0
        //----- descargar archivo .....
        public U_Descargar_archivo descargar_archivo(string user, string id_archivo, string idrol)
        {
            U_Descargar_archivo datos = new U_Descargar_archivo();
            //Dao_Descargar_archivo operacion = new Dao_Descargar_archivo();
            //DataTable info_user = operacion.consultar_usuario(user);
            //DataTable info_file = operacion.ver_archivo(id_archivo);

            List <sp_consulta_usuario_Result> datos2 = operacion_n.sp_consulta_usuario(user).ToList <sp_consulta_usuario_Result>();
            DataTable info_user = ToDataTable(datos2);
            List <sp_ver_archivo_Result> datos3 = operacion_n.sp_ver_archivo(Int32.Parse(id_archivo)).ToList <sp_ver_archivo_Result>();
            DataTable info_file = ToDataTable(datos3);

            int saldo  = int.Parse(info_user.Rows[0]["dinero_user"].ToString());
            int precio = int.Parse(info_file.Rows[0]["precio_categoria"].ToString());

            //asignamos session por si no pasa el if
            datos.Session_dinero = saldo;

            //preguntamos que el user tenga dinero en la cuenta
            if (saldo != 0)
            {//tiene dinero en la cuenta
                //preguntamos si tiene dinero suficiente para comprar el archivo
                if (saldo >= precio)
                {//permitir decarga
                    //--------------encapsulamos campos..............................................
                    E_subir_descargar subir_descargar = new E_subir_descargar();

                    subir_descargar.IdUser     = info_user.Rows[0]["id_usuario"].ToString();
                    subir_descargar.IdArchivo  = info_file.Rows[0]["id_archivo"].ToString();
                    subir_descargar.Concepto   = "Download";
                    subir_descargar.Precio     = precio.ToString();
                    subir_descargar.UserCambio = idrol;

                    E_descargar_archivo descargar = new E_descargar_archivo();

                    descargar.IdUser     = info_user.Rows[0]["id_usuario"].ToString();
                    descargar.Dinero     = precio.ToString();
                    descargar.UserCambio = idrol;


                    //--------------descargar_archivo..............................................
                    try
                    {
                        //operacion.insertar_descargar_archivo(descargar);
                        //operacion.insertar_subir_descargar(subir_descargar);
                        operacion_n.sp_descargar_archivo(Int32.Parse(descargar.IdUser), Int32.Parse(descargar.Dinero), Int32.Parse(descargar.UserCambio));
                        operacion_n.sp_insertar_subir_descargar(Int32.Parse(subir_descargar.IdUser), Int32.Parse(subir_descargar.IdArchivo), subir_descargar.Concepto, Int32.Parse(subir_descargar.Precio), Int32.Parse(subir_descargar.UserCambio));

                        //cambiamos el valor de la session
                        datos.Session_dinero = saldo - precio;

                        string ruta = info_file.Rows[0]["url"].ToString();
                        datos.Url_pag   = ruta;
                        datos.Descargar = true;

                        return(datos);
                    }
                    catch (Exception exc)
                    {
                        throw exc;
                    }
                }
                else
                {//no alcanza el dinero
                    datos.Descargar = false;
                    datos.Mensajes  = "<script type='text/javascript'>alert('Dinero insuficiente para descargar el archivo, para obtener dinero participe subiendo archivos');</script>";
                    return(datos);
                }
            }
            else
            {//el user se quedo sin dinero
                datos.Descargar = false;
                datos.Mensajes  = "<script type='text/javascript'>alert('No tiene dinero en su cuenta, para obtener dinero participe subiendo archivos');</script>";
                return(datos);
            }
        }