示例#1
0
        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();
        }
示例#2
0
        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;
            }
        }