using Controladora; using Entidades; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Vista { public partial class CategoriaCreate : Form { private Categoria? categoria; public CategoriaCreate() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { this.Close(); } private void CargarDatos() { if (categoria != null) { textBox1.Text = categoria.Descripcion; numericUpDown1.Value = categoria.Id; } } private bool ValidarDatos() { string devolucion = ""; if (string.IsNullOrEmpty(textBox1.Text)) devolucion += "La descripción no puede ser nula o vacía\n"; else if (textBox1.Text.Length > 100) // Ajusta el límite según sea necesario devolucion += "La descripción no puede superar los 100 caracteres\n"; // Validar unicidad del ID solo si es una nueva categoría if (categoria == null && ControladoraCategorias.Instance.Listar().Any(c => c.Id == (int)numericUpDown1.Value)) { devolucion += "Ya existe una categoría con el mismo ID\n"; } if (devolucion == "") { return true; } else { MessageBox.Show(devolucion); return false; } } private void button1_Click(object sender, EventArgs e) { string msg; if (ValidarDatos()) { if (categoria == null) { categoria = new Categoria { Id = (int)numericUpDown1.Value, Descripcion = textBox1.Text }; msg = ControladoraCategorias.Instance.Añadir(categoria); } else { categoria.Descripcion = textBox1.Text; categoria.Id = (int)numericUpDown1.Value; // Solo si quieres permitir modificaciones del ID msg = ControladoraCategorias.Instance.Modificar(categoria); } MessageBox.Show(msg, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); Close(); } } } }