/// <summary> /// Metodo que evalua las selecciones de la lista, si estamos en categorias carga los articulos de esa categoria /// y si estamos en una categoria y clicamos un articulo abre una ventana para introducir las unidades o el peso y agrega ese articulo a la cesta /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Seleccion(object sender, MouseEventArgs e) { introducidoCantidad = false; if (listaCategoria) { ListView.SelectedIndexCollection seleccionado = listView1.SelectedIndices; foreach (int index in seleccionado) { DirectoryInfo dir = new DirectoryInfo(Constantes.PRODUCTOS_RUTA + "/" + listView1.Items[index].Text); lCategoria.Text = listView1.Items[index].Text.ToString(); int j = 0; listView1.Items.Clear(); imageList1.Images.Clear(); foreach (FileInfo file in dir.GetFiles()) { listView1.View = View.LargeIcon; imageList1.ImageSize = new Size(Constantes.TAMANO_IMAGENES, Constantes.TAMANO_IMAGENES); try { imageList1.Images.Add(System.Drawing.Image.FromFile(file.FullName)); listView1.Items.Add(new ListViewItem { ImageIndex = j, Text = file.Name.Substring(0, file.Name.Length - 4) }); j++; } catch { Console.WriteLine("No es un archivo de imagen"); } listView1.LargeImageList = imageList1; lFlecha.Visible = true; } } btAtrasVTienda.Visible = true; listaCategoria = false; } else { try { if (!introducidoCantidad) { Intro_Peso_UD panel1 = new Intro_Peso_UD(); panel1.MinimizeBox = false; panel1.MaximizeBox = false; panel1.ShowIcon = false; panel1.ShowInTaskbar = false; panel1.ShowDialog(); introducidoCantidad = true; } if (Constantes.PESO_UD_PRODUCTO != null && Convert.ToDouble(Constantes.PESO_UD_PRODUCTO) > 0 && Convert.ToDouble(Constantes.PESO_UD_PRODUCTO) > 0.000) { ListView.SelectedIndexCollection seleccionado = listView1.SelectedIndices; foreach (int index in seleccionado) { cesta.Rows.Add(1); cesta.Rows[cesta.RowCount - 1].Cells[0].Value = Resource1.bin; cesta.Rows[cesta.RowCount - 1].Cells[Constantes.COLUMNA_NOMBRE].Value = listView1.Items[index].Text; cesta.Rows[cesta.RowCount - 1].Cells[Constantes.COLUMNA_UNIDADES].Value = Constantes.PESO_UD_PRODUCTO; if (lCategoria.Text.Equals("Suplementos")) { cesta.Rows[cesta.RowCount - 1].Cells[Constantes.COLUMNA_PRECIO].Value = (float)Constantes.suplemento_TA.getPreSupleNombre(listView1.Items[index].Text); } else { cesta.Rows[cesta.RowCount - 1].Cells[Constantes.COLUMNA_PRECIO].Value = (float)Constantes.preciosMayor_TA.getPrecioMayor((int)Constantes.productos_TA.GetCodProducto(listView1.Items[index].Text)); } cesta.FirstDisplayedScrollingRowIndex = cesta.RowCount - 1; Total(); } Constantes.PESO_UD_PRODUCTO = "0.000"; } } catch (Exception ex) { } finally { foreach (ListViewItem item in listView1.SelectedItems) { item.Selected = false; } } } }
/// <summary> /// Metodo que evalua las selecciones de la lista, si estamos en categorias carga los articulos de esa categoria /// y si estamos en una categoria y clicamos un articulo abre una ventana para introducir las unidades o el peso y agrega ese articulo a la cesta /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Seleccion(object sender, MouseEventArgs e) { introducidoCantidad = false; //Establecemos que no hemos introducido la cantidad if (listaCategoria) //Si estamos en la lista de categoria carga los articulos referentes a la categoria seleccionada desde su directorio { ListView.SelectedIndexCollection seleccionado = listView1.SelectedIndices; foreach (int index in seleccionado) { DirectoryInfo dir = new DirectoryInfo(Constantes.PRODUCTOS_RUTA + "/" + listView1.Items[index].Text); lCategoria.Text = listView1.Items[index].Text.ToString(); int j = 0; listView1.Items.Clear(); //Eliminamos la lista actual para que no se queden las imagenes que habia imageList1.Images.Clear(); //Eliminamos la lista actual para que no se queden las imagenes que habia foreach (FileInfo file in dir.GetFiles()) //Agregamos las imagenes de los articulos de la categoria seleccionada { listView1.View = View.LargeIcon; imageList1.ImageSize = new Size(Constantes.TAMANO_IMAGENES, Constantes.TAMANO_IMAGENES); try { imageList1.Images.Add(System.Drawing.Image.FromFile(file.FullName)); listView1.Items.Add(new ListViewItem { ImageIndex = j, Text = file.Name.Substring(0, file.Name.Length - 4) }); j++; } catch { Console.WriteLine("No es un archivo de imagen"); } listView1.LargeImageList = imageList1; lFlecha.Visible = true;//Ponemos visible la flecha para indicar en que categoria estamos } } btAtrasVTienda.Visible = true; //Habilitamos el boton atras para volver a categorias listaCategoria = false; //Decimos que ya no estamos en la lista de categoria } else//Entramos en el else cuando estamos dentro de una categoria { try { if (!introducidoCantidad)//Si no hemos introducido la cantidad o el peso nos abre la ventana para introducirlo { Intro_Peso_UD panel1 = new Intro_Peso_UD(); panel1.MinimizeBox = false; panel1.MaximizeBox = false; panel1.ShowIcon = false; panel1.ShowInTaskbar = false; panel1.ShowDialog(); introducidoCantidad = true; //Decimos que ya hemos introducido la cantidad } if (Constantes.PESO_UD_PRODUCTO != null && Convert.ToDouble(Constantes.PESO_UD_PRODUCTO) > 0 && Convert.ToDouble(Constantes.PESO_UD_PRODUCTO) > 0.000) //Si el peso del producto no es nulo y es mayor que 0 sera que hemos introducido un peso y que no hemos cerrado la ventana porque no queriamos introducir ese articulo { ListView.SelectedIndexCollection seleccionado = listView1.SelectedIndices; //Cogemos el articulo seleccionado para agregarlo a la cesta foreach (int index in seleccionado) { cesta.Rows.Add(1); cesta.Rows[cesta.RowCount - 1].Cells[0].Value = Resource1.bin; cesta.Rows[cesta.RowCount - 1].Cells[Constantes.COLUMNA_NOMBRE].Value = listView1.Items[index].Text; cesta.Rows[cesta.RowCount - 1].Cells[Constantes.COLUMNA_UNIDADES].Value = Constantes.PESO_UD_PRODUCTO; if (lCategoria.Text.Equals("Suplementos"))//Evaluamos si la categoria en la que esstamos es suplementos ya que es una tabla diferente y tenemos que coger el precio con una consulta diferente { cesta.Rows[cesta.RowCount - 1].Cells[Constantes.COLUMNA_PRECIO].Value = (float)Constantes.suplemento_TA.getPreSupleNombre(listView1.Items[index].Text); } else { cesta.Rows[cesta.RowCount - 1].Cells[Constantes.COLUMNA_PRECIO].Value = (float)Constantes.preciosVenta_TA.GetPrecioVenta((int)Constantes.productos_TA.GetCodProducto(listView1.Items[index].Text)); } cesta.FirstDisplayedScrollingRowIndex = cesta.RowCount - 1;//Hacemos que el scroll de la cesta baje hasta el ultimo al introducir articulos si hay muchos Total(); } Constantes.PESO_UD_PRODUCTO = "0.000";//Ponemos a 0 el peso/unidades para asignar que no hemos introducido nada para los siguientes articulos que seleccionemos } }catch (Exception ex) { } finally { foreach (ListViewItem item in listView1.SelectedItems) { item.Selected = false;//Deseleccionamos los items de la lista para que no queden azules y para no tener problemas a la hora de volver a clicar en el mismo item } } } }