public static int Inserta(Articulo articulo, List<Pais> pais, int usuarioID) { SqlCommand cmdAgregarArticulo = new SqlCommand(); // Indicamos sus parametro de CommandTExt y la Conexion. del Objeto Command cmdAgregarArticulo.CommandText = SQLHelpers.ArticuloSQLHelper.INSERTA_ARTICULO; cmdAgregarArticulo.CommandType = CommandType.StoredProcedure; cmdAgregarArticulo.Connection = DBConnection.Open(); SqlParameter prmArticuloId = new SqlParameter(ArticuloSQLHelper.PARAMETRO_ARTICULOID, SqlDbType.Int); prmArticuloId.Direction = ParameterDirection.Output; cmdAgregarArticulo.Parameters.Add(prmArticuloId); //Declarando los Parametros SqlParameter[] parametros = new SqlParameter[9]; //Asignando Valores parametros[0] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_NOMBRE, SqlDbType.NVarChar, 100); parametros[0].Value = articulo.Nombre; parametros[1] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_DESCRIPCION, SqlDbType.NVarChar); parametros[1].Value = articulo.Descripcion; parametros[2] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_AUTOR, SqlDbType.NVarChar,150); parametros[2].Value = articulo.Autor; parametros[3] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_FECHA, SqlDbType.DateTime); parametros[3].Value = Convert.ToDateTime(articulo.Fecha); parametros[4] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_CATEGORIAID, SqlDbType.Int); parametros[4].Value = Convert.ToInt32(articulo.CategoriaId); parametros[5] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_FOTO, SqlDbType.VarBinary, 7000); parametros[5].Value = articulo.Foto; parametros[6] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_DOCUMENTO, SqlDbType.VarBinary, 7000); parametros[6].Value = articulo.Documento; parametros[7] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_PUBLICADO, SqlDbType.Int); parametros[7].Value = Convert.ToInt32(articulo.Publicado); parametros[8] = new SqlParameter(UsuarioSQLHelper.PARAMETRO_USUARIOID, SqlDbType.Int); parametros[8].Value = usuarioID; //Agregando nuestros parametros al command cmdAgregarArticulo.Parameters.AddRange(parametros); //Ejecutamos el NonQuery SqlDataReader dr = cmdAgregarArticulo.ExecuteReader(); int ArticID = int.Parse(cmdAgregarArticulo.Parameters[ArticuloSQLHelper.PARAMETRO_ARTICULOID].Value.ToString()); dr.Close(); DBConnection.Close(cmdAgregarArticulo.Connection); InsertaArticuloPais(ArticID, pais); // Cerramos la conexion return ArticID; }
public static List<Articulo> Consulta(int usuarioID, int rolID) { //Creamos un objeto SQLcommand SqlCommand cmdConsulta = new SqlCommand(ArticuloSQLHelper.CONSULTA_ARTICULO, DBConnection.Open()); cmdConsulta.CommandType = CommandType.StoredProcedure; SqlParameter[] parametros1 = new SqlParameter[2]; //Asignando Valores parametros1[0] = new SqlParameter(UsuarioSQLHelper.PARAMETRO_USUARIOID, SqlDbType.Int); parametros1[0].Value = usuarioID; parametros1[1] = new SqlParameter(UsuarioSQLHelper.PARAMETRO_ROL_ID, SqlDbType.Int); parametros1[1].Value = rolID; //Agregando nuestros parametros al command cmdConsulta.Parameters.AddRange(parametros1); SqlDataReader reader = cmdConsulta.ExecuteReader(); List<Articulo> itemsArticulos = new List<Articulo>(); Articulo articulo = null; while (reader.Read()) { articulo = new Articulo(); articulo.Nombre = reader["nombre"].ToString(); articulo.Publicado = int.Parse(reader["publicado"].ToString()); articulo.Id = int.Parse(reader["id"].ToString()); itemsArticulos.Add(articulo); } DBConnection.Close(cmdConsulta.Connection); return itemsArticulos; }
public bool ModificarArticulo(Articulo articulo, int[] paisesElegidos,int usuarioID, int rolID) { bool Exito = false; SqlCommand cmdModificar = new SqlCommand(); cmdModificar.CommandText = ArticuloSQLHelper.UPDATE_ARTICULO; cmdModificar.CommandType = CommandType.StoredProcedure; cmdModificar.Connection = DBConnection.Open(); SqlParameter[] parametros = new SqlParameter[9]; parametros[0] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_ARTICULOID, SqlDbType.Int); parametros[0].Value = articulo.Id; parametros[1] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_NOMBRE, SqlDbType.NVarChar, 100); parametros[1].Value = articulo.Nombre; parametros[2] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_DESCRIPCION, SqlDbType.NVarChar); parametros[2].Value = articulo.Descripcion; parametros[3] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_AUTOR, SqlDbType.NVarChar, 150); parametros[3].Value = articulo.Autor; //parametros[2].Value = Convert.ToDateTime("17/10/2012"); parametros[4] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_FECHA, SqlDbType.DateTime); parametros[4].Value = Convert.ToDateTime(articulo.Fecha); //parametros[3].Value = Convert.ToDateTime("20/10/2012"); parametros[5] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_CATEGORIAID, SqlDbType.Int); parametros[5].Value = Convert.ToInt32(articulo.CategoriaId); parametros[6] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_FOTO, SqlDbType.VarBinary, 7000); parametros[6].Value = articulo.Foto; parametros[7] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_DOCUMENTO, SqlDbType.VarBinary, 7000); parametros[7].Value = articulo.Documento; parametros[8] = new SqlParameter(ArticuloSQLHelper.PARAMETRO_PUBLICADO, SqlDbType.Int); parametros[8].Value = Convert.ToInt32(articulo.Publicado); cmdModificar.Parameters.AddRange(parametros); cmdModificar.ExecuteReader(); DBConnection.Close(cmdModificar.Connection); List<int> paisesActivos = ConsultaArticuloPais(articulo.Id,usuarioID, rolID); //paisesElegidos //checar los paises seleccionados vs los que tengo registrados //los que no esten en los seleccionados y en los registrados si a esos eliminarlos int[] arrpaisesActivos = new int[paisesActivos.ToArray().Length]; int contpa = 0; foreach (int pa in paisesActivos) { arrpaisesActivos[contpa] = pa; contpa++; } List<Pais> paisNuevo = new List<Pais>(); Pais paisagr = null; foreach (int eleg1 in paisesElegidos) { bool agrega = false; foreach (int act2 in arrpaisesActivos) { if (eleg1 == act2) { agrega = false; break; } else { agrega = true; } } if (agrega) { paisagr = new Pais(); paisagr.Id = eleg1; paisNuevo.Add(paisagr); } } ArticuloDAO.InsertaArticuloPais(articulo.Id, paisNuevo); foreach (int act in arrpaisesActivos) { bool elimina = false; foreach (int eleg in paisesElegidos) { if (eleg == act) { elimina = false; break; } else { elimina = true; } } if (elimina) { EliminarArticuloPais(act); } } Exito = true; return Exito; }
/*******************************************************************************************/ public Articulo ConsultarUnArticulo(int idArticulo) { Articulo articulo = new Articulo(); try { SqlCommand cmdConsulta = new SqlCommand(); cmdConsulta.CommandText = ArticuloSQLHelper.CONSULTA_UN_ARTICULO; cmdConsulta.CommandType = CommandType.StoredProcedure; cmdConsulta.Connection = DBConnection.Open(); SqlParameter parametro = new SqlParameter(); parametro = new SqlParameter(ArticuloSQLHelper.PARAMETRO_ARTICULOID, SqlDbType.Int); parametro.Value = idArticulo; cmdConsulta.Parameters.Add(parametro); SqlDataReader drConsulta = cmdConsulta.ExecuteReader(); while (drConsulta.Read()) { articulo.Id = drConsulta.GetInt32(0); articulo.Nombre = drConsulta.GetString(1); articulo.Descripcion = drConsulta.GetString(2); articulo.Autor = drConsulta.GetString(3); articulo.Fecha = drConsulta.GetString(4); articulo.CategoriaId = drConsulta.GetInt32(5); //articulo.Foto = drConsulta.GetString(6); //articulo.Documento = drConsulta.GetString(7); articulo.Publicado = drConsulta.GetInt32(8); } DBConnection.Close(cmdConsulta.Connection); } catch (Exception exc) { Console.Write(exc); } return articulo; }
protected void btnGuardar_Click(object sender, EventArgs e) { if (idArticulo != 0)//es modificacion { Articulo articulo = new Articulo(); //articulo.Foto = hiddenFoto.Value; //articulo.Documento = HiddenDoc.Value; // string ubicacionfoto = null; //string ubicaciondoc = null; bool fileOK = false; bool fileOK2 = false; //String path = Server.MapPath("~/FotosArticulo/"); //string rutafotos = "/FotosArticulo/"; // String path2 = Server.MapPath("~/DocArticulo/"); // string rutaDoc = "/DocArticulo/"; bool avanza = false; bool avanza2 = false; if (fileFoto.HasFile) { String fileExtension = System.IO.Path.GetExtension(fileFoto.FileName).ToLower(); String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg" }; for (int i = 0; i < allowedExtensions.Length; i++) { if (fileExtension == allowedExtensions[i]) { fileOK = true; } } } if (fileFoto2.HasFile) { String fileExtension2 = System.IO.Path.GetExtension(fileFoto2.FileName).ToLower(); String[] allowedExtensions2 = { ".pdf" }; for (int i = 0; i < allowedExtensions2.Length; i++) { if (fileExtension2 == allowedExtensions2[i]) { fileOK2 = true; } } } if (fileFoto.HasFile && fileOK) { //subir archivo //string nombreArchivo = DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto.FileName; //ubicacionfoto = path + nombreArchivo; //fileFoto.PostedFile.SaveAs(ubicacionfoto); //articulo.Foto = rutafotos + nombreArchivo; avanza = true; }else{ if (fileFoto.HasFile && !fileOK) { avanza = false; } else { avanza = true; } } if (fileFoto2.HasFile && fileOK2) { //subir archivo // string nombreArchivo2 = DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto2.FileName; //ubicaciondoc = path2 + nombreArchivo2; //fileFoto2.PostedFile.SaveAs(ubicaciondoc); //articulo.Documento = rutaDoc + nombreArchivo2; avanza2 = true; } else { if (fileFoto2.HasFile && !fileOK2) { avanza2 = false; } else { avanza2 = true; } } if (avanza && avanza2) { //proceder a hacer la modificacion articulo.Id = idArticulo; articulo.Nombre = txtNombre.Text; articulo.Descripcion = txtDescripcion.Text; articulo.Autor = txtAutor.Text; articulo.Fecha = txtFecha.Text; articulo.CategoriaId = int.Parse(DropDawnCategoria.SelectedValue); HttpPostedFile ImgFile = fileFoto.PostedFile; Byte[] byteImage = new Byte[fileFoto.PostedFile.ContentLength]; ImgFile.InputStream.Read(byteImage, 0, fileFoto.PostedFile.ContentLength); articulo.Foto = byteImage; HttpPostedFile PdfFile = fileFoto2.PostedFile; Byte[] bytePdf = new Byte[fileFoto2.PostedFile.ContentLength]; PdfFile.InputStream.Read(bytePdf, 0, fileFoto2.PostedFile.ContentLength); articulo.Documento = bytePdf; if (CheckPublicado.Checked) { articulo.Publicado = 1; } else { articulo.Publicado = 0; } this.lblMensaje.Visible = true; int[] listaPaises; int contador = 0; for (int i = 0; i < checkPaises.Items.Count; i++) { if (checkPaises.Items[i].Selected) { contador++; } } listaPaises = new int[contador]; contador = 0; int posicion = 0; for (int i = 0; i < checkPaises.Items.Count; i++) { if (checkPaises.Items[i].Selected) { // contador++; listaPaises[posicion] = int.Parse(checkPaises.Items[i].Value); posicion++; } } try { ArticuloDAO daoModifica = new ArticuloDAO(); if (daoModifica.ModificarArticulo(articulo, listaPaises, int.Parse(Session["id"].ToString()), int.Parse(Session["rol"].ToString()))) { this.lblMensaje.Text = "Se Modificó correctamente el Ártículo ID = " + idArticulo; } else this.lblMensaje.Text = "Ocurrió un error al tratar de modificar el Artículo"; } catch (Exception exc) { Response.Write("Ocurrió un error " + exc); } } else { if (!avanza) { Label1.Text = "No se aceptan archivos de este tipo"; } if (!avanza2) { Label2.Text = "No se aceptan archivos de este tipo"; } } } else { /** Verificamos que el usuario haya subido el archivo */ /*string ubicacionfoto = null; string ubicaciondoc = null;*/ Boolean fileOK = false; Boolean fileOK2 = false; /*String path = Server.MapPath("~/FotosArticulo/"); string rutafotos = "/FotosArticulo/"; String path2 = Server.MapPath("~/DocArticulo/"); string rutaDoc = "/DocArticulo/";*/ if (fileFoto.HasFile && fileFoto2.HasFile) { String fileExtension = System.IO.Path.GetExtension(fileFoto.FileName).ToLower(); String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg" }; for (int i = 0; i < allowedExtensions.Length; i++) { if (fileExtension == allowedExtensions[i]) { fileOK = true; } } String fileExtension2 = System.IO.Path.GetExtension(fileFoto2.FileName).ToLower(); String[] allowedExtensions2 = { ".pdf" }; for (int ii = 0; ii < allowedExtensions2.Length; ii++) { if (fileExtension2 == allowedExtensions2[ii]) { fileOK2 = true; } } } if (fileOK && fileOK2) { try { /* string nombreArchivofoto = DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto.FileName; ubicacionfoto = path + nombreArchivofoto; //ubicacion = path + DateTime.Now.ToString("ddMMyyyy") + fileFoto.FileName; fileFoto.PostedFile.SaveAs(ubicacionfoto); Label1.Text = "File uploaded!"; string nombreArchivoDoc = DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto.FileName; ubicaciondoc = path2 + nombreArchivoDoc; fileFoto2.PostedFile.SaveAs(ubicaciondoc); Label2.Text = "File uploaded!";*/ HttpPostedFile ImgFile = fileFoto.PostedFile; Byte[] byteImage = new Byte[fileFoto.PostedFile.ContentLength]; ImgFile.InputStream.Read(byteImage, 0, fileFoto.PostedFile.ContentLength); HttpPostedFile DocFile = fileFoto2.PostedFile; Byte[] bytePdf = new Byte[fileFoto2.PostedFile.ContentLength]; DocFile.InputStream.Read(bytePdf, 0, fileFoto2.PostedFile.ContentLength); Articulo articulo = new Articulo(); articulo.Nombre = txtNombre.Text; articulo.Descripcion = txtDescripcion.Text; articulo.Autor = txtAutor.Text; articulo.Fecha = txtFecha.Text; articulo.CategoriaId = int.Parse(DropDawnCategoria.SelectedValue); articulo.Foto = byteImage; articulo.Documento = bytePdf; if (CheckPublicado.Checked) { articulo.Publicado = 1; } else { articulo.Publicado = 0; } try { this.lblMensaje.Visible = true; List<Pais> listaPaises = new List<Pais>(); Pais listcheckPais = null; for (int i = 0; i < checkPaises.Items.Count; i++) { if (checkPaises.Items[i].Selected) { //lblMensaje.Text += checkPaises.Items[i].Text + "<br>"; listcheckPais = new Pais(); listcheckPais.Nombre = checkPaises.Items[i].Text; listcheckPais.Id = int.Parse(checkPaises.Items[i].Value); listaPaises.Add(listcheckPais); } } int articuloID = ArticuloDAO.Inserta(articulo, listaPaises, int.Parse(Session["id"].ToString())); this.lblMensaje.Text = "Se ingreso correctamente el Artículo ID = " + articuloID; this.resetControles(); //checkPaises.Items.Clear(); //this.cargaPaises(); } catch (Exception exe) { this.lblMensaje.Visible = true; this.lblMensaje.Text = "Error Mensaje:" + exe; } } catch (Exception ex) { Console.Write(ex); Label1.Text = "File could not be uploaded."; Label2.Text = "File could not be uploaded."; } } else { Label1.Text = "Cannot accept files of this type."; Label2.Text = "Cannot accept files of this type."; } /*Terminamos de verificar lo del archivo*/ } }