//-----------------------archivo-------------------------------- protected void B_cargar_file_Click(object sender, EventArgs e) { ClientScriptManager cm = this.ClientScript; //String nombreArchivo = System.IO.Path.GetFileName(FU_archivo_file.PostedFile.FileName); string nom = TB_archivo_nombre.Text.ToString(); string extension = System.IO.Path.GetExtension(FU_archivo_file.PostedFile.FileName); String nombreArchivo = nom + extension; string saveLocation = Server.MapPath("~\\Archivos"); //string ruta = "hola"; //DataTable archivo; L_Subir_archivos operacion = new L_Subir_archivos(); U_Subir_archivos datos = new U_Subir_archivos(); datos = operacion.seleccion_archivo(nombreArchivo, extension, saveLocation, Session["archivo"]); cm.RegisterClientScriptBlock(this.GetType(), "", datos.Mensajes); if (datos.Guardar == true) { try { FU_archivo_file.PostedFile.SaveAs(datos.Url_pag); Session["archivo"] = datos.Session_archivo; //cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('El archivo ha sido cargado');</script>"); Response.Write("<script type='text/javascript'>alert('El archivo ha sido cargado');</script>"); llenar_grillas(); } catch (Exception exc) { cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('Error: ');</script>"); return; throw exc; } } else { cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('Archivo no cargado');</script>"); } }
protected void Page_Load(object sender, EventArgs e) { Response.Cache.SetNoStore(); //llamamos la logica y el metodo L_Subir_archivos operacion = new L_Subir_archivos(); U_Subir_archivos datos = new U_Subir_archivos(); 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, 14); llenar_componentes(datos_idioma); } else if (Session["idioma"] != null) { //idioma seleccionado idioma = Int64.Parse(Session["idioma"].ToString()); datos_idioma = operacion.idioma(idioma, 14); llenar_componentes(datos_idioma); } if (!IsPostBack) { datos = operacion.verificar(Session["user"], Session["rolUser"]); //enviar desde la logica un codigo scrip Response.Write(datos.Url_pag); //muestra u oculta las herramientas de categoria L_archivo_categoria.Visible = datos.Guardar; TB_archivo_precio.Visible = datos.Guardar; DDL_archivo_categoria.Visible = datos.Guardar; //ponemos valores por defecto sobre las cajas de texto de la fecha TB_archivo_fecha.Text = DateTime.Now.ToString("yyyy,MM,dd"); llenar_grillas(); } }//page_load
//----- verificar sesion ..... public U_Subir_archivos verificar(object user, object rol) { U_Subir_archivos datos = new U_Subir_archivos(); if (user == null) { datos.Url_pag = "<script type='text/javascript'>window.location=\"inicio.aspx\"</script>"; } else { if (int.Parse((String)rol) != 1 && int.Parse((String)rol) != 2) { //lo utilizamos para definir la visibilidad de los componentes datos.Guardar = false; } else { datos.Guardar = true; } } return(datos); }
//----- verificar seleccion de foto ..... public U_Subir_archivos seleccion_foto(String nombreArchivo, string extension, string saveLocation, object Sfotos) { DataTable imagen = new DataTable(); U_Subir_archivos info = new U_Subir_archivos(); string ruta = "hola"; //validamos que se haya seleccionado un archivo if (nombreArchivo.Equals("") || extension.Equals("")) { //cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('Debe seleccionar una imagen');</script>"); info.Mensajes = "<script type='text/javascript'>alert('Debe seleccionar una imagen');</script>"; return(info); } else { if (Sfotos == null) { //imagen = new DataTable(); imagen.Columns.Add("nombre"); imagen.Columns.Add("ruta"); Sfotos = imagen; info.Session_fotos = imagen; } imagen = (DataTable)Sfotos; //validamos que no se hayan subido mas de 1 archivo if (imagen.Rows.Count == 1) { //cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('No puede subir mas de 1 archivo');</script>"); info.Mensajes = "<script type='text/javascript'>alert('No puede subir mas de 1 imagen');</script>"; info.Guardar = false; return(info); } else { //preguntamos al extension y damos la localizacion de la carpeta if (!(extension.Equals(".jpg") || extension.Equals(".JPG") || extension.Equals(".png") || extension.Equals(".PNG") || extension.Equals(".jpge") || extension.Equals(".bmp"))) { //cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('Tipo de archivo no valido - solo formatos(jpg, jpeg, png o bmp)');</script>"); info.Mensajes = "<script type='text/javascript'>alert('Tipo de archivo no valido - solo formatos(jpg, jpeg, png o bmp)');</script>"; info.Guardar = false; return(info); } else { //saveLocation = (Server.MapPath("~\\Imagenes\\Imagenes_Archivos") + "\\" + nombreArchivo); ruta = saveLocation + "\\" + nombreArchivo; //confirmamos que no exitas el archivo if (System.IO.File.Exists(ruta)) { //cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('Ya existe un archivo en el servidor con ese nombre');</script>"); info.Mensajes = "<script type='text/javascript'>alert('Ya existe una imagen en el servidor con ese nombre');</script>"; info.Guardar = false; return(info); } else { info.Url_pag = ruta; //llenamos el data table string[] celdas = new string[2]; celdas[0] = nombreArchivo; celdas[1] = "~\\Imagenes\\Imagenes_Archivos" + "\\" + nombreArchivo; imagen.Rows.Add(celdas); info.Session_fotos = imagen; info.Guardar = true; return(info); } } } }//else principal }
//----- 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); } }///////////////
//-----------------------boton-------------------------------- protected void B_archivo_subir_Click(object sender, EventArgs e) { ClientScriptManager cm = this.ClientScript; //reiniciamos session Session["tags"] = null; Session["autor"] = null; //obtenemos la variable de session de la imagen y archivo DataTable imagen_file = new DataTable(); imagen_file = (DataTable)Session["foto"]; DataTable archivo_file = new DataTable(); archivo_file = (DataTable)Session["archivo"]; //obetenmos las variables string nombre = TB_archivo_nombre.Text.ToString() +".pdf"; string anio = TB_archivo_fecha.Text.ToString(); string sinopsis = TB_archivo_sinopsis.Text.ToString(); string num_pag = TB_archivo_paginas.Text.ToString(); string foto_archivo = ""; string link_archivo = ""; string id_user = Session["rolID"].ToString(); String tags = ""; string rol_user = Session["rolUser"].ToString(); DataList dl_tags = DL_archivo_tags; DataList dl_autor = DL_archivo_autores; //asignamos contadores string categoria = DDL_archivo_categoria.SelectedValue.ToString(); int cont_categoria = 0; int cont_autor = 0; int val_autor = 0; //foreach es un ciclo, Sintaxis: (var objeto, in coleccion(componente)) //recorremos el datalist y guardamos // ---------------------------- obtenemos los tags ********************** foreach (DataListItem dl0 in dl_tags.Items) { //iniciamos ciclo y preguntamos si hay checklist seleccionados para guardar CheckBox cb0 = (CheckBox)(dl0.FindControl("CB_tags")); if (cb0.Checked == true) { if (Session["tags"] == null) { Session["tags"] = "hola"; } tags += cb0.Text + '-'; } } // ---------------------------- obtenemos los autores ********************** foreach (DataListItem dl in dl_autor.Items) { //iniciamos ciclo y preguntamos si hay checklist seleccionados para guardar CheckBox cb = (CheckBox)(dl.FindControl("CB_autores")); if (cb.Checked == true) { if (Session["autor"] == null) { Session["autor"] = "hola"; } cont_autor += 1; } } //creamos el array que contendra los nombres de los autores string[] nom_autores = new string[cont_autor]; foreach (DataListItem dl1 in DL_archivo_autores.Items) { //iniciamos ciclo y preguntamos si hay checklist seleccionados para guardar CheckBox cb1 = (CheckBox)(dl1.FindControl("CB_autores")); if (cb1.Checked == true) { //guardamos los nombres de cada autor nom_autores[val_autor] = cb1.Text.ToString(); val_autor += 1; }//if }//foreach // ---------------------------- llammamos logica y mandamos variables ********************** L_Subir_archivos operacion = new L_Subir_archivos(); U_Subir_archivos datos_registro = operacion.subir_archivo(nombre, anio, sinopsis, num_pag, foto_archivo, link_archivo, id_user, tags, rol_user, categoria, cont_categoria, cont_autor, nom_autores, imagen_file, archivo_file, Session["tags"], Session["autor"]); //reiniciamos session Session["foto"] = datos_registro.Session_fotos; Session["archivo"] = datos_registro.Session_archivo; Session["tags"] = null; Session["autor"] = null; llenar_grillas(); cm.RegisterClientScriptBlock(this.GetType(), "", datos_registro.Mensajes); }//boton