private void button1_Click(object sender, EventArgs e) { InicializarTalleOperaciones(); List<Talle> listaTalles = new List<Talle>(); try { listaTalles = _top.ObtenerTodosLista(); foreach (ProdTalle pt in _listaProdTalles) { Talle t = pt.Talle(_conexion); if (listaTalles.Contains(t)) { listaTalles.Remove(t); } } FormElegirTalles fet = new FormElegirTalles(_conexion, tbProductoNombre.Text, listaTalles); if (fet.ShowDialog() == DialogResult.OK) { string talles = ""; foreach (Talle t in fet.TallesSeleccionados) { talles += t.Sigla + " - "; _listaProdTalles.Add(new ProdTalle() { TalleId = t.Id, PrecioVenta = fet.PrecioVenta, Renglon = dgvProdTalles.Rows.Count }); } talles = talles.Remove(talles.Length - 2); dgvProdTalles.Rows.Add(new object[] { talles, fet.PrecioVenta }); } } catch (ModeloOperacionesException exc) { MessageBox.Show(exc.Message); return; } }
private void botEditarProdTalle_Click(object sender, EventArgs e) { if (dgvProdTalles.SelectedRows.Count > 0) { try { //InicializarProdTalleOperaciones(); InicializarTalleOperaciones(); List<Talle> seleccionados = new List<Talle>(); int index = dgvProdTalles.SelectedRows[0].Index; foreach (ProdTalle pt in _listaProdTalles.FindAll(p => p.Renglon == index)) { seleccionados.Add(pt.Talle(_conexion));//No se, tal vez se conecte mucho } List<Talle> listaTalles = new List<Talle>(); listaTalles = _top.ObtenerTodosLista(); foreach (ProdTalle pt in _listaProdTalles) { Talle t = pt.Talle(_conexion); if (listaTalles.Contains(t)) { listaTalles.Remove(t); } } listaTalles.AddRange(seleccionados); FormElegirTalles fet = new FormElegirTalles(_conexion, tbProductoNombre.Text, listaTalles, seleccionados, (decimal)dgvProdTalles.SelectedRows[0].Cells[1].Value); if (fet.ShowDialog() == DialogResult.OK) { _listaProdTalles.RemoveAll(p => p.Renglon == index); string talles = ""; foreach (Talle t in fet.TallesSeleccionados) { talles += t.Sigla + " - "; _listaProdTalles.Add(new ProdTalle() { TalleId = t.Id, PrecioVenta = fet.PrecioVenta, Renglon = index }); } talles = talles.Remove(talles.Length - 2); dgvProdTalles.Rows[index].SetValues(talles, fet.PrecioVenta); } } catch (Exception exc) { MessageBox.Show(exc.Message +"\n\n"+exc.StackTrace); } } }