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