public static List<Producto> Consulta(int usuarioID, int rolID) { //Creamos un objeto SQLcommand SqlCommand cmdConsulta = new SqlCommand(ProductoSQLHelper.CONSULTA_PRODUCTO, 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<Producto> itemsProducto = new List<Producto>(); Producto producto = null; DBConnection.Open(); while (reader.Read()) { producto = new Producto(); producto.Nombre = reader["nombre"].ToString(); producto.Publicado = int.Parse(reader["publicado"].ToString()); producto.Id = int.Parse(reader["id"].ToString()); itemsProducto.Add(producto); } DBConnection.Close(cmdConsulta.Connection); return itemsProducto; }
public static int Inserta(Producto producto, List<Pais> pais, int usuarioID) { SqlCommand cmdAgregarProducto = new SqlCommand(); // Indicamos sus parametro de CommandTExt y la Conexion. del Objeto Command cmdAgregarProducto.CommandText = SQLHelpers.ProductoSQLHelper.INSERTA_PRODUCTO; cmdAgregarProducto.CommandType = CommandType.StoredProcedure; cmdAgregarProducto.Connection = DBConnection.Open(); SqlParameter prmProductoId = new SqlParameter(ProductoSQLHelper.PARAMETRO_ID, SqlDbType.Int); prmProductoId.Direction = ParameterDirection.Output; cmdAgregarProducto.Parameters.Add(prmProductoId); //Declarando los Parametros SqlParameter[] parametros = new SqlParameter[6]; //Asignando Valores parametros[0] = new SqlParameter(ProductoSQLHelper.PARAMETRO_NOMBRE, SqlDbType.NVarChar, 100); parametros[0].Value = producto.Nombre; parametros[1] = new SqlParameter(ProductoSQLHelper.PARAMETRO_DESCRIPCION, SqlDbType.NVarChar); parametros[1].Value = producto.Descripcion; parametros[2] = new SqlParameter(ProductoSQLHelper.PARAMETRO_PADECIMIENTO_ID, SqlDbType.Int); parametros[2].Value = Convert.ToInt32(producto.PadecimientoId); parametros[3] = new SqlParameter(ProductoSQLHelper.PARAMETRO_FOTO, SqlDbType.VarBinary, 7000); parametros[3].Value = producto.Foto; parametros[4] = new SqlParameter(ProductoSQLHelper.PARAMETRO_PUBLICADO, SqlDbType.Int); parametros[4].Value = Convert.ToInt32(producto.Publicado); parametros[5] = new SqlParameter(UsuarioSQLHelper.PARAMETRO_USUARIOID, SqlDbType.Int); parametros[5].Value = usuarioID; //Agregando nuestros parametros al command cmdAgregarProducto.Parameters.AddRange(parametros); //Ejecutamos el NonQuery SqlDataReader dr = cmdAgregarProducto.ExecuteReader(); int productID = int.Parse(cmdAgregarProducto.Parameters[ProductoSQLHelper.PARAMETRO_ID].Value.ToString()); dr.Close(); DBConnection.Close(cmdAgregarProducto.Connection); InsertaProductoPais(productID, pais); // Cerramos la conexion return productID; }
public bool ModificarProducto(Producto producto, int[] paisesElegidos, int usuarioID, int rolID) { bool Exito = false; SqlCommand cmdModificar = new SqlCommand(); cmdModificar.CommandText = ProductoSQLHelper.UPDATE_PRODUCTO; cmdModificar.CommandType = CommandType.StoredProcedure; cmdModificar.Connection = DBConnection.Open(); SqlParameter[] parametros = new SqlParameter[6]; parametros[0] = new SqlParameter(ProductoSQLHelper.PARAMETRO_ID, SqlDbType.Int); parametros[0].Value = producto.Id; parametros[1] = new SqlParameter(ProductoSQLHelper.PARAMETRO_NOMBRE, SqlDbType.NVarChar, 100); parametros[1].Value = producto.Nombre; parametros[2] = new SqlParameter(ProductoSQLHelper.PARAMETRO_DESCRIPCION, SqlDbType.NVarChar); parametros[2].Value = producto.Descripcion; parametros[3] = new SqlParameter(ProductoSQLHelper.PARAMETRO_PADECIMIENTO_ID, SqlDbType.Int); parametros[3].Value = Convert.ToInt32(producto.PadecimientoId); parametros[4] = new SqlParameter(ProductoSQLHelper.PARAMETRO_FOTO, SqlDbType.VarBinary, 7000); parametros[4].Value = producto.Foto; parametros[5] = new SqlParameter(ProductoSQLHelper.PARAMETRO_PUBLICADO, SqlDbType.Int); parametros[5].Value = Convert.ToInt32(producto.Publicado); cmdModificar.Parameters.AddRange(parametros); cmdModificar.ExecuteReader(); DBConnection.Close(cmdModificar.Connection); List<int> paisesActivos = ConsultaProductoPais(producto.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); } } ProductoDAO.InsertaProductoPais(producto.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) { EliminarProductoPais(act); } } Exito = true; return Exito; }
/*****************************************************************************************/ public Producto ConsultarUnProducto(int idProducto) { Producto producto = new Producto(); try { SqlCommand cmdConsulta = new SqlCommand(); cmdConsulta.CommandText = ProductoSQLHelper.CONSULTA_UN_PRODUCTO; cmdConsulta.CommandType = CommandType.StoredProcedure; cmdConsulta.Connection = DBConnection.Open(); SqlParameter parametro = new SqlParameter(); parametro = new SqlParameter(ProductoSQLHelper.PARAMETRO_ID, SqlDbType.Int); parametro.Value = idProducto; cmdConsulta.Parameters.Add(parametro); SqlDataReader drConsulta = cmdConsulta.ExecuteReader(); while (drConsulta.Read()) { producto.Id = drConsulta.GetInt32(0); producto.Nombre = drConsulta.GetString(1); producto.Descripcion = drConsulta.GetString(2); producto.PadecimientoId = drConsulta.GetInt32(3); //producto.Foto = drConsulta.GetString(4); producto.Publicado = drConsulta.GetInt32(5); } DBConnection.Close(cmdConsulta.Connection); } catch (Exception exc) { Console.Write(exc); } return producto; }
protected void btnGuardar_Click(object sender, EventArgs e) { if (idProducto != 0) { //Modificar Producto producto = new Producto(); //producto.Foto = hiddenFoto.Value; //string ubicacion = null; Boolean fileOK = false; //String path = Server.MapPath("~/FotosProducto/"); //string ruta = "/FotosProducto/"; bool avanza = 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 (fileFoto.HasFile && !fileOK) { //subio un archivo pero la extension es incorrecta Label1.Text = "No se aceptar archivos de este tipo"; avanza = false; } else { if (fileFoto.HasFile && fileOK) {//subir el archivo //string nombreArchivo = DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto.FileName; //ubicacion = path + nombreArchivo; ////ubicacion = path + DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto.FileName; //fileFoto.PostedFile.SaveAs(ubicacion); //producto.Foto = ruta + nombreArchivo; avanza = true; } else { avanza = true; } } if (avanza) { producto.Id = idProducto; producto.Nombre = txtNombre.Text; producto.Descripcion = txtDescripcion.Text; HttpPostedFile ImgFile = fileFoto.PostedFile; Byte[] byteImage = new Byte[fileFoto.PostedFile.ContentLength]; ImgFile.InputStream.Read(byteImage, 0, fileFoto.PostedFile.ContentLength); producto.Foto = byteImage; producto.PadecimientoId = int.Parse(DropDawnPadecimiento.SelectedValue); if (CheckPublicado.Checked) { producto.Publicado = 1; } else { producto.Publicado = 0; } 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++; } } ProductoDAO bdevento = new ProductoDAO(); if (bdevento.ModificarProducto(producto, listaPaises, int.Parse(Session["id"].ToString()), int.Parse(Session["rol"].ToString()))) { this.lblMensaje.Text = "Se modificó correctamente el Producto ID = " + producto.Id; } else this.lblMensaje.Text = "Ocurrió un error al tratar de modificar el Producto"; } } else { /** Verificamos que el usuario haya subido el archivo */ //string ubicacion = null; Boolean fileOK = false; //String path = Server.MapPath("~/FotosProducto/"); //string ruta = "/FotosProducto/"; 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 (fileOK) { try { //string nombreArchivo = DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto.FileName; //ubicacion = path + nombreArchivo; //ubicacion = path + DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto.FileName; //fileFoto.PostedFile.SaveAs(ubicacion); //Label1.Text = "File uploaded!"; Producto producto = new Producto(); producto.Nombre = txtNombre.Text; producto.Descripcion = txtDescripcion.Text; //producto.Foto = ruta + nombreArchivo; HttpPostedFile ImgFile = fileFoto.PostedFile; Byte[] byteImage = new Byte[fileFoto.PostedFile.ContentLength]; ImgFile.InputStream.Read(byteImage, 0, fileFoto.PostedFile.ContentLength); producto.Foto = byteImage; producto.PadecimientoId = int.Parse(DropDawnPadecimiento.SelectedValue); if (CheckPublicado.Checked) { producto.Publicado = 1; } else { producto.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 productoID = ProductoDAO.Inserta(producto, listaPaises,int.Parse(Session["id"].ToString())); this.lblMensaje.Text = "Se ingreso correctamente el Producto ID = " + productoID; this.resetControles(); } 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."; } } else { Label1.Text = "No se aceptan archivos de este tipo."; } /*Terminamos de verificar lo del archivo*/ } }