private void categoriasToolStripMenuItem_Click(object sender, EventArgs e) { FCategorias f = new FCategorias(); f.StartPosition = FormStartPosition.CenterParent; f.Text = "Administración de categorías"; f.ShowDialog(); }
public override void Hacer() { try { FCategorias cat = new FCategorias(); cat.categoriasTree.Nodes.Clear(); CategoriaDAO dao = new CategoriaDAO(); IList <Categoria> categorias; categorias = dao.getCategorias(); if (categorias == null) { return; } List <Categoria> categoriasClone = new List <Categoria>(); categoriasClone.AddRange(categorias); idSet.clear(); foreach (Categoria categoria in categorias) { categoria.Changed += new ChangedEventHandler(CambioCategoria); idSet.registerId(categoria.Id); } cat.pIdSet = idSet; cat.Categorias = categorias; cat.fillTree(); cat.categoriasTree.ExpandAll(); cat.ShowDialog(); if (cat.DialogResult == DialogResult.OK) { foreach (Categoria categoria in categoriasClone) { if (!categorias.Contains(categoria)) { dao.Eliminar(categoria); } } foreach (Categoria categoria in categorias) { if (!categoriasClone.Contains(categoria)) { dao.Adicionar(categoria); } } if (categoriasCambiadas != null) { foreach (Categoria categoria in categoriasCambiadas) { if (categoriasClone.Contains(categoria) && (categorias.Contains(categoria))) { dao.Actualizar(categoria); } } } //guardar las nuevas categorias } } catch (Exception e) { mensajes = "No se pudieron editar las categorías \n" + e.Message; } }