//----- verificar sesion ..... public U_Descargar_archivo verificar(object id_arch, object user) { U_Descargar_archivo datos = new U_Descargar_archivo(); //preguntamos si la session es nula para verficar que venga procedente de consultar archivo if (id_arch == null) { //si es nula se redirecciona a consultar archivo datos.Url_pag = "<script type='text/javascript'>window.location=\"Consultar_archivo.aspx\"</script>"; return(datos); } else { //preguntamos si es un usuario registrado o un visitante if (user == null) { //ocultamos componentes datos.Mostrar = false; return(datos); } else { //mostramos componentes datos.Mostrar = true; return(datos); } } }
//----- insertar Comentario ..... public U_Descargar_archivo comentar_archivo(string comentary, string idrol, string id_archivo) { //llamamos metodos //Dao_Descargar_archivo operacion = new Dao_Descargar_archivo(); U_Descargar_archivo datos = new U_Descargar_archivo(); E_comentario comentario = new E_comentario(); // encapsulamos campos comentario.IdUser = idrol; comentario.IdArchivo = id_archivo; comentario.Comentario = comentary; comentario.UserCambio = idrol; //--------------insertar_comentario.............................................. try { //operacion.insertar_comentario(comentario); operacion_n.sp_insertar_comentario(Int32.Parse(comentario.IdUser), Int32.Parse(comentario.IdArchivo), comentario.Comentario, Int32.Parse(comentario.UserCambio)); datos.Url_pag = "<script type='text/javascript'>window.location=\"Descargar_archivo.aspx\"</script>"; return(datos); } catch (Exception exc) { throw exc; } }
}//descargar protected void B_comentar_Click(object sender, EventArgs e) { //llamamos la logica y el metodo L_Descargar_archivo operacion = new L_Descargar_archivo(); U_Descargar_archivo datos = new U_Descargar_archivo(); //obtenemos los datos string comentary = TB_comentario.Text.ToString(); datos = operacion.comentar_archivo(comentary, Session["rolID"].ToString(), Session["archivoID"].ToString()); Response.Write(datos.Url_pag); }//comentar
protected void Page_Load(object sender, EventArgs e) { DataTable datos_idioma = new DataTable(); Response.Cache.SetNoStore(); //llamamos la logica y el metodo L_Descargar_archivo operacion = new L_Descargar_archivo(); U_Descargar_archivo datos = new U_Descargar_archivo(); Int64 idioma; //preguntamos si la session idioma viene vacio if (Session["idioma"] == null) { //idioma por defecto idioma = Int64.Parse("1"); datos_idioma = operacion.idioma(idioma, 18); llenar_componentes_idioma(datos_idioma); } else if (Session["idioma"] != null) { //idioma seleccionado idioma = Int64.Parse(Session["idioma"].ToString()); datos_idioma = operacion.idioma(idioma, 18); llenar_componentes_idioma(datos_idioma); } if (!IsPostBack) { datos = operacion.verificar(Session["archivoID"], Session["user"]); //enviar desde la logica un codigo scrip Response.Write(datos.Url_pag); //visualizamos componentes IB_descargar_archivo.Visible = datos.Mostrar; TB_comentario.Visible = datos.Mostrar; B_comentar.Visible = datos.Mostrar; //llenamos los componentes con valores del archivo llenar_componentes(); } }//page_load
}//llenar grillas protected void IB_descargar_archivo_Click(object sender, ImageClickEventArgs e) { //llamamos la logica y el metodo L_Descargar_archivo operacion = new L_Descargar_archivo(); U_Descargar_archivo datos = new U_Descargar_archivo(); datos = operacion.descargar_archivo(Session["user"].ToString(), Session["archivoID"].ToString(), Session["rolID"].ToString()); Session["dinero"] = datos.Session_dinero; Response.Write(datos.Mensajes); if(datos.Descargar == true) { //forma de descargar archivos utilizando la libreria Web.IO Response.ContentType = ContentType; Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(datos.Url_pag)); Response.WriteFile(datos.Url_pag); Response.End(); } }//descargar
//----- 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); } }