diff --git a/Controladora/ControladoraProductos.cs b/Controladora/ControladoraProductos.cs index b365ca8..3c4d8e9 100644 --- a/Controladora/ControladoraProductos.cs +++ b/Controladora/ControladoraProductos.cs @@ -38,6 +38,13 @@ namespace Controladora return RepositorioProductos.Instance.Listar(); } + public ReadOnlyCollection ListarProveedores(Producto producto) + { + Producto productoalistar = RepositorioProductos.Instance.Listar().First(x => x.Id == producto.Id); + if (productoalistar == null) return new ReadOnlyCollection(new List()); + return productoalistar.ListarProveedores(); + + } } } \ No newline at end of file diff --git a/Controladora/bin/Debug/net6.0/Controladora.dll b/Controladora/bin/Debug/net6.0/Controladora.dll index cb1676e..c7bcb7e 100644 Binary files a/Controladora/bin/Debug/net6.0/Controladora.dll and b/Controladora/bin/Debug/net6.0/Controladora.dll differ diff --git a/Controladora/bin/Debug/net6.0/Controladora.pdb b/Controladora/bin/Debug/net6.0/Controladora.pdb index 90eb3c2..0ca1666 100644 Binary files a/Controladora/bin/Debug/net6.0/Controladora.pdb and b/Controladora/bin/Debug/net6.0/Controladora.pdb differ diff --git a/Controladora/obj/Debug/net6.0/Controladora.dll b/Controladora/obj/Debug/net6.0/Controladora.dll index cb1676e..c7bcb7e 100644 Binary files a/Controladora/obj/Debug/net6.0/Controladora.dll and b/Controladora/obj/Debug/net6.0/Controladora.dll differ diff --git a/Controladora/obj/Debug/net6.0/Controladora.pdb b/Controladora/obj/Debug/net6.0/Controladora.pdb index 90eb3c2..0ca1666 100644 Binary files a/Controladora/obj/Debug/net6.0/Controladora.pdb and b/Controladora/obj/Debug/net6.0/Controladora.pdb differ diff --git a/Controladora/obj/Debug/net6.0/ref/Controladora.dll b/Controladora/obj/Debug/net6.0/ref/Controladora.dll index 344a73d..05d77fd 100644 Binary files a/Controladora/obj/Debug/net6.0/ref/Controladora.dll and b/Controladora/obj/Debug/net6.0/ref/Controladora.dll differ diff --git a/Controladora/obj/Debug/net6.0/refint/Controladora.dll b/Controladora/obj/Debug/net6.0/refint/Controladora.dll index 344a73d..05d77fd 100644 Binary files a/Controladora/obj/Debug/net6.0/refint/Controladora.dll and b/Controladora/obj/Debug/net6.0/refint/Controladora.dll differ diff --git a/Entidades/Producto.cs b/Entidades/Producto.cs index 946d5f3..b53b510 100644 --- a/Entidades/Producto.cs +++ b/Entidades/Producto.cs @@ -9,6 +9,23 @@ namespace Entidades public double Precio { get; set; } public bool Habilitado { get; set; } public Categoria Categoria { get; set; } + private List proveedores = new List(); + + public void AñadirProveedor(Proveedor proveedor) + { + if(proveedor == null) return; + proveedores.Add(proveedor); + } + public bool EliminarProveedor(Proveedor proveedor) + { + var pAEliminar = proveedores.FirstOrDefault(x => x.Cuit == proveedor.Cuit); + if (pAEliminar == null) return false; + return proveedores.Remove(pAEliminar); + } + public ReadOnlyCollection ListarProveedores() + { + return proveedores.AsReadOnly(); + } private List categorias = new List(); public void AñadirCategoria(Categoria cat) { diff --git a/Informes/bin/Debug/net6.0/Entidades.dll b/Informes/bin/Debug/net6.0/Entidades.dll index 770ba46..3263dee 100644 Binary files a/Informes/bin/Debug/net6.0/Entidades.dll and b/Informes/bin/Debug/net6.0/Entidades.dll differ diff --git a/Informes/bin/Debug/net6.0/Entidades.pdb b/Informes/bin/Debug/net6.0/Entidades.pdb index 7ce8350..239f15b 100644 Binary files a/Informes/bin/Debug/net6.0/Entidades.pdb and b/Informes/bin/Debug/net6.0/Entidades.pdb differ diff --git a/Informes/bin/Debug/net6.0/Informes.dll b/Informes/bin/Debug/net6.0/Informes.dll index 6ac96a3..ff1279d 100644 Binary files a/Informes/bin/Debug/net6.0/Informes.dll and b/Informes/bin/Debug/net6.0/Informes.dll differ diff --git a/Informes/bin/Debug/net6.0/Informes.pdb b/Informes/bin/Debug/net6.0/Informes.pdb index 4530cc8..f1759c4 100644 Binary files a/Informes/bin/Debug/net6.0/Informes.pdb and b/Informes/bin/Debug/net6.0/Informes.pdb differ diff --git a/Informes/obj/Debug/net6.0/Informes.csproj.AssemblyReference.cache b/Informes/obj/Debug/net6.0/Informes.csproj.AssemblyReference.cache index 014359a..fb1d625 100644 Binary files a/Informes/obj/Debug/net6.0/Informes.csproj.AssemblyReference.cache and b/Informes/obj/Debug/net6.0/Informes.csproj.AssemblyReference.cache differ diff --git a/Informes/obj/Debug/net6.0/Informes.dll b/Informes/obj/Debug/net6.0/Informes.dll index 6ac96a3..ff1279d 100644 Binary files a/Informes/obj/Debug/net6.0/Informes.dll and b/Informes/obj/Debug/net6.0/Informes.dll differ diff --git a/Informes/obj/Debug/net6.0/Informes.pdb b/Informes/obj/Debug/net6.0/Informes.pdb index 4530cc8..f1759c4 100644 Binary files a/Informes/obj/Debug/net6.0/Informes.pdb and b/Informes/obj/Debug/net6.0/Informes.pdb differ diff --git a/Vista/FrmProducto.Designer.cs b/Vista/FrmProducto.Designer.cs index 13db8d3..f53fcf0 100644 --- a/Vista/FrmProducto.Designer.cs +++ b/Vista/FrmProducto.Designer.cs @@ -40,8 +40,16 @@ comboBox1 = new ComboBox(); btnacept = new Button(); btncancel = new Button(); + label6 = new Label(); + label7 = new Label(); + dgvProveedorAñadido = new DataGridView(); + dgvProveedor = new DataGridView(); + btnaddProveedor = new Button(); + btnrmProveedor = new Button(); ((System.ComponentModel.ISupportInitialize)numericUpDown1).BeginInit(); ((System.ComponentModel.ISupportInitialize)numericUpDown2).BeginInit(); + ((System.ComponentModel.ISupportInitialize)dgvProveedorAñadido).BeginInit(); + ((System.ComponentModel.ISupportInitialize)dgvProveedor).BeginInit(); SuspendLayout(); // // label1 @@ -151,13 +159,80 @@ btncancel.UseVisualStyleBackColor = true; btncancel.Click += button2_Click; // + // label6 + // + label6.AutoSize = true; + label6.Location = new Point(230, 12); + label6.Name = "label6"; + label6.Size = new Size(123, 15); + label6.TabIndex = 12; + label6.Text = "Proveedores añadidos"; + // + // label7 + // + label7.AutoSize = true; + label7.Location = new Point(494, 9); + label7.Name = "label7"; + label7.Size = new Size(72, 15); + label7.TabIndex = 13; + label7.Text = "Proveedores"; + // + // dgvProveedorAñadido + // + dgvProveedorAñadido.AllowUserToAddRows = false; + dgvProveedorAñadido.AllowUserToDeleteRows = false; + dgvProveedorAñadido.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dgvProveedorAñadido.EditMode = DataGridViewEditMode.EditProgrammatically; + dgvProveedorAñadido.Location = new Point(230, 30); + dgvProveedorAñadido.Name = "dgvProveedorAñadido"; + dgvProveedorAñadido.RowTemplate.Height = 25; + dgvProveedorAñadido.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dgvProveedorAñadido.Size = new Size(240, 150); + dgvProveedorAñadido.TabIndex = 14; + // + // dgvProveedor + // + dgvProveedor.AllowUserToAddRows = false; + dgvProveedor.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dgvProveedor.Location = new Point(494, 30); + dgvProveedor.Name = "dgvProveedor"; + dgvProveedor.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dgvProveedor.Size = new Size(240, 150); + dgvProveedor.TabIndex = 15; + // + // btnaddProveedor + // + btnaddProveedor.Location = new Point(740, 30); + btnaddProveedor.Name = "btnaddProveedor"; + btnaddProveedor.Size = new Size(72, 21); + btnaddProveedor.TabIndex = 16; + btnaddProveedor.Text = "Añadir"; + btnaddProveedor.UseVisualStyleBackColor = true; + btnaddProveedor.Click += btnaddProveedor_Click; + // + // btnrmProveedor + // + btnrmProveedor.Location = new Point(740, 57); + btnrmProveedor.Name = "btnrmProveedor"; + btnrmProveedor.Size = new Size(72, 21); + btnrmProveedor.TabIndex = 17; + btnrmProveedor.Text = "Eliminar"; + btnrmProveedor.UseVisualStyleBackColor = true; + btnrmProveedor.Click += btnrmProveedor_Click; + // // FrmProducto // AcceptButton = btnacept; AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; CancelButton = btncancel; - ClientSize = new Size(210, 228); + ClientSize = new Size(877, 228); + Controls.Add(btnrmProveedor); + Controls.Add(btnaddProveedor); + Controls.Add(dgvProveedor); + Controls.Add(dgvProveedorAñadido); + Controls.Add(label7); + Controls.Add(label6); Controls.Add(btncancel); Controls.Add(btnacept); Controls.Add(comboBox1); @@ -174,6 +249,8 @@ Text = "Producto"; ((System.ComponentModel.ISupportInitialize)numericUpDown1).EndInit(); ((System.ComponentModel.ISupportInitialize)numericUpDown2).EndInit(); + ((System.ComponentModel.ISupportInitialize)dgvProveedorAñadido).EndInit(); + ((System.ComponentModel.ISupportInitialize)dgvProveedor).EndInit(); ResumeLayout(false); PerformLayout(); } @@ -192,5 +269,11 @@ private ComboBox comboBox1; private Button btnacept; private Button btncancel; + private Label label6; + private Label label7; + private DataGridView dgvProveedorAñadido; + private DataGridView dgvProveedor; + private Button btnaddProveedor; + private Button btnrmProveedor; } } \ No newline at end of file diff --git a/Vista/FrmProducto.cs b/Vista/FrmProducto.cs index ffdb1e7..a99e9e0 100644 --- a/Vista/FrmProducto.cs +++ b/Vista/FrmProducto.cs @@ -15,12 +15,20 @@ namespace Vista { public partial class FrmProducto : Form { + private Producto nuevoproducto = new Producto(); + public FrmProducto() { InitializeComponent(); CargarCategorias(); + CargarTabla(); } + private void CargarTabla() + { + dgvProveedor.DataSource = null; + dgvProveedor.DataSource = ControladoraProveedores.Instance.Listar(); + } private void CargarCategorias() { // Obtener la lista de categorías desde la controladora @@ -81,18 +89,16 @@ namespace Vista { if (ValidarDatos()) { - // Crear nuevo producto - var nuevoProducto = new Producto - { - Id = (int)numericUpDown1.Value, - Nombre = textBox1.Text, - Precio = (double)numericUpDown2.Value, - Habilitado = checkBox1.Checked, - Categoria = (Categoria)comboBox1.SelectedItem, // Asignar categoría seleccionada - }; + + nuevoproducto.Id = (int)numericUpDown1.Value; + nuevoproducto.Nombre = textBox1.Text; + nuevoproducto.Precio = (double)numericUpDown2.Value; + nuevoproducto.Habilitado = checkBox1.Checked; + nuevoproducto.Categoria = (Categoria)comboBox1.SelectedItem; + // Agregar el producto usando la controladora - string mensaje = ControladoraProductos.Instance.Añadir(nuevoProducto); + string mensaje = ControladoraProductos.Instance.Añadir(nuevoproducto); MessageBox.Show(mensaje, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); Close(); @@ -109,5 +115,51 @@ namespace Vista // Puedes usar este método para manejar cambios en el ComboBox si es necesario // No es necesario mantener una variable separada para la categoría seleccionada } + + private void btnaddProveedor_Click(object sender, EventArgs e) + { + try + { + if (dgvProveedor.SelectedRows.Count > 0) + { + foreach (DataGridViewRow selectedRow in dgvProveedor.SelectedRows) + { + Proveedor proveedor = (Proveedor)selectedRow.DataBoundItem; + nuevoproducto.AñadirProveedor(proveedor); + dgvProveedorAñadido.DataSource = null; + dgvProveedorAñadido.DataSource = nuevoproducto.ListarProveedores(); + + } + + } + else + { + MessageBox.Show("Por favor, selecciona una fila para eliminar Proveedor del producto."); + } + } + catch (Exception) { throw; } + } + + private void btnrmProveedor_Click(object sender, EventArgs e) + { + try + { + if (dgvProveedorAñadido.SelectedRows.Count > 0) + { + foreach (DataGridViewRow selectedRow in dgvProveedor.SelectedRows) + { + Proveedor proveedor = (Proveedor)selectedRow.DataBoundItem; + dgvProveedorAñadido.Rows.Remove(selectedRow); + Proveedor proveedoreliminar = nuevoproducto.ListarProveedores().First(x => x.Cuit == proveedor.Cuit); + nuevoproducto.EliminarProveedor(proveedoreliminar); + } + } + else + { + MessageBox.Show("Por favor, selecciona una fila para eliminar Proveedor del producto."); + } + } + catch (Exception) { throw; } + } } } diff --git a/Vista/FrmProductos.Designer.cs b/Vista/FrmProductos.Designer.cs index 45acc9d..8dbc618 100644 --- a/Vista/FrmProductos.Designer.cs +++ b/Vista/FrmProductos.Designer.cs @@ -29,30 +29,53 @@ private void InitializeComponent() { groupBox1 = new GroupBox(); + label3 = new Label(); + dgvProveedores = new DataGridView(); label2 = new Label(); - dataGridView1 = new DataGridView(); + dgvProductos = new DataGridView(); BtnAdd = new Button(); BtnEliminar = new Button(); button1 = new Button(); - dataGridView2 = new DataGridView(); + dgvCategorias = new DataGridView(); label1 = new Label(); groupBox1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit(); - ((System.ComponentModel.ISupportInitialize)dataGridView2).BeginInit(); + ((System.ComponentModel.ISupportInitialize)dgvProveedores).BeginInit(); + ((System.ComponentModel.ISupportInitialize)dgvProductos).BeginInit(); + ((System.ComponentModel.ISupportInitialize)dgvCategorias).BeginInit(); SuspendLayout(); // // groupBox1 // + groupBox1.Controls.Add(label3); + groupBox1.Controls.Add(dgvProveedores); groupBox1.Controls.Add(label2); - groupBox1.Controls.Add(dataGridView1); + groupBox1.Controls.Add(dgvProductos); groupBox1.Controls.Add(BtnAdd); groupBox1.Controls.Add(BtnEliminar); groupBox1.Location = new Point(12, 0); groupBox1.Name = "groupBox1"; - groupBox1.Size = new Size(776, 351); + groupBox1.Size = new Size(746, 305); groupBox1.TabIndex = 5; groupBox1.TabStop = false; // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(473, 9); + label3.Name = "label3"; + label3.Size = new Size(72, 15); + label3.TabIndex = 10; + label3.Text = "Proveedores"; + // + // dgvProveedores + // + dgvProveedores.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dgvProveedores.Location = new Point(473, 22); + dgvProveedores.Name = "dgvProveedores"; + dgvProveedores.RowTemplate.Height = 25; + dgvProveedores.Size = new Size(240, 235); + dgvProveedores.TabIndex = 9; + // // label2 // label2.AutoSize = true; @@ -62,21 +85,22 @@ label2.TabIndex = 8; label2.Text = "Productos"; // - // dataGridView1 + // dgvProductos // - dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; - dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically; - dataGridView1.Location = new Point(6, 22); - dataGridView1.Name = "dataGridView1"; - dataGridView1.RowTemplate.Height = 25; - dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; - dataGridView1.Size = new Size(690, 235); - dataGridView1.TabIndex = 3; + dgvProductos.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dgvProductos.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dgvProductos.EditMode = DataGridViewEditMode.EditProgrammatically; + dgvProductos.Location = new Point(6, 22); + dgvProductos.Name = "dgvProductos"; + dgvProductos.RowTemplate.Height = 25; + dgvProductos.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dgvProductos.Size = new Size(461, 235); + dgvProductos.TabIndex = 3; + dgvProductos.CellClick += dgvProductos_CellClick; // // BtnAdd // - BtnAdd.Location = new Point(6, 302); + BtnAdd.Location = new Point(6, 263); BtnAdd.Name = "BtnAdd"; BtnAdd.Size = new Size(75, 23); BtnAdd.TabIndex = 0; @@ -86,7 +110,7 @@ // // BtnEliminar // - BtnEliminar.Location = new Point(137, 302); + BtnEliminar.Location = new Point(87, 263); BtnEliminar.Name = "BtnEliminar"; BtnEliminar.Size = new Size(75, 23); BtnEliminar.TabIndex = 2; @@ -96,7 +120,7 @@ // // button1 // - button1.Location = new Point(794, 302); + button1.Location = new Point(794, 263); button1.Name = "button1"; button1.Size = new Size(128, 23); button1.TabIndex = 4; @@ -104,17 +128,17 @@ button1.UseVisualStyleBackColor = true; button1.Click += button1_Click; // - // dataGridView2 + // dgvCategorias // - dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; - dataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView2.EditMode = DataGridViewEditMode.EditProgrammatically; - dataGridView2.Location = new Point(794, 22); - dataGridView2.Name = "dataGridView2"; - dataGridView2.RowTemplate.Height = 25; - dataGridView2.SelectionMode = DataGridViewSelectionMode.FullRowSelect; - dataGridView2.Size = new Size(250, 235); - dataGridView2.TabIndex = 6; + dgvCategorias.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dgvCategorias.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dgvCategorias.EditMode = DataGridViewEditMode.EditProgrammatically; + dgvCategorias.Location = new Point(794, 22); + dgvCategorias.Name = "dgvCategorias"; + dgvCategorias.RowTemplate.Height = 25; + dgvCategorias.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dgvCategorias.Size = new Size(250, 235); + dgvCategorias.TabIndex = 6; // // label1 // @@ -129,18 +153,19 @@ // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(1071, 450); + ClientSize = new Size(1088, 515); Controls.Add(label1); Controls.Add(button1); - Controls.Add(dataGridView2); + Controls.Add(dgvCategorias); Controls.Add(groupBox1); Name = "FrmProductos"; Text = "Productos"; WindowState = FormWindowState.Maximized; groupBox1.ResumeLayout(false); groupBox1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit(); - ((System.ComponentModel.ISupportInitialize)dataGridView2).EndInit(); + ((System.ComponentModel.ISupportInitialize)dgvProveedores).EndInit(); + ((System.ComponentModel.ISupportInitialize)dgvProductos).EndInit(); + ((System.ComponentModel.ISupportInitialize)dgvCategorias).EndInit(); ResumeLayout(false); PerformLayout(); } @@ -148,12 +173,14 @@ #endregion private GroupBox groupBox1; - private DataGridView dataGridView1; + private DataGridView dgvProductos; private Button BtnAdd; private Button BtnEliminar; private Button button1; - private DataGridView dataGridView2; + private DataGridView dgvCategorias; private Label label2; private Label label1; + private DataGridView dgvProveedores; + private Label label3; } } \ No newline at end of file diff --git a/Vista/FrmProductos.cs b/Vista/FrmProductos.cs index 4d76c15..d1b9ec2 100644 --- a/Vista/FrmProductos.cs +++ b/Vista/FrmProductos.cs @@ -28,14 +28,14 @@ namespace Vista private void ConfigurarDataGridView() { - dataGridView1.AutoGenerateColumns = false; + dgvProductos.AutoGenerateColumns = false; // Crear una columna para el ID var colId = new DataGridViewTextBoxColumn { DataPropertyName = "Id", HeaderText = "ID", - Name = "colId" + Name = "Id" }; // Crear una columna para el nombre @@ -43,7 +43,7 @@ namespace Vista { DataPropertyName = "Nombre", HeaderText = "Nombre", - Name = "colNombre" + Name = "Nombre" }; // Crear una columna para el precio @@ -51,36 +51,45 @@ namespace Vista { DataPropertyName = "Precio", HeaderText = "Precio", - Name = "colPrecio" + Name = "Precio" }; var colHabilitado = new DataGridViewTextBoxColumn { DataPropertyName = "Habilitado", HeaderText = "Habilitado", - Name = "colHabilitado" + Name = "Habilitado" }; // Crear una columna para la categoría (mostrando la descripción) var colCategoria = new DataGridViewTextBoxColumn { DataPropertyName = "CategoriaDescripcion", HeaderText = "Categoría", - Name = "colCategoria" + Name = "Categoria" }; // Agregar las columnas al DataGridView - dataGridView1.Columns.Add(colId); - dataGridView1.Columns.Add(colNombre); - dataGridView1.Columns.Add(colPrecio); - dataGridView1.Columns.Add(colHabilitado); - dataGridView1.Columns.Add(colCategoria); + dgvProductos.Columns.Add(colId); + dgvProductos.Columns.Add(colNombre); + dgvProductos.Columns.Add(colPrecio); + dgvProductos.Columns.Add(colHabilitado); + dgvProductos.Columns.Add(colCategoria); } private void ActualizarGrilla() { - dataGridView1.DataSource = null; - dataGridView2.DataSource = null; + dgvProductos.DataSource = null; + dgvCategorias.DataSource = null; var categorias = ControladoraCategorias.Instance.Listar(); - dataGridView2.DataSource = categorias; + dgvCategorias.DataSource = categorias; + + if (dgvProductos.SelectedRows.Count > 0) + { + Producto producto = new Producto + { + Id = int.Parse(dgvProductos.SelectedRows[0].Cells["Id"].Value.ToString()), + }; + dgvProveedores.DataSource = ControladoraProductos.Instance.ListarProveedores(producto); + } // Obtener la lista de productos y proyectar los datos var productos = ControladoraProductos.Instance.Listar() @@ -94,7 +103,7 @@ namespace Vista }) .ToList(); - dataGridView1.DataSource = productos; + dgvProductos.DataSource = productos; } private void BtnAdd_Click(object sender, EventArgs e) @@ -115,14 +124,14 @@ namespace Vista private void BtnEliminar_Click(object sender, EventArgs e) { - if (dataGridView1.SelectedRows.Count == 0) + if (dgvProductos.SelectedRows.Count == 0) { MessageBox.Show("Seleccione una línea para eliminar"); return; } // Recorre las filas seleccionadas - foreach (DataGridViewRow fila in dataGridView1.SelectedRows) + foreach (DataGridViewRow fila in dgvProductos.SelectedRows) { try { @@ -154,7 +163,19 @@ namespace Vista } + private void dgvProductos_CellClick(object sender, DataGridViewCellEventArgs e) + { + if (dgvProductos.SelectedRows.Count == 0) return; + if (dgvProductos.SelectedRows.Count > 0) + { + Producto producto = new Producto + { + Id = Convert.ToInt32(dgvProductos.SelectedRows[0].Cells["Id"].Value.ToString()), + }; + dgvProveedores.DataSource = ControladoraProductos.Instance.ListarProveedores(producto); + } + } } } diff --git a/Vista/FrmProveedor.cs b/Vista/FrmProveedor.cs index 69bf238..7d5f231 100644 --- a/Vista/FrmProveedor.cs +++ b/Vista/FrmProveedor.cs @@ -85,6 +85,7 @@ namespace Vista proveedor.Direccion = txtDireccion.Text; proveedor.RazonSocial = txtSocial.Text; proveedor.Cuit = (Int64)numCuit.Value; + proveedor.Habilitado = checkBoxHabilitado.Checked; msg = ControladoraProveedores.Instance.Modificar(proveedor); } MessageBox.Show(msg, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); diff --git a/Vista/Program.cs b/Vista/Program.cs index 503aaf9..79c8758 100644 --- a/Vista/Program.cs +++ b/Vista/Program.cs @@ -20,16 +20,16 @@ namespace Vista private static void PrecargarDatos() { - - ControladoraProveedores.Instance.Añadir(new Proveedor + Proveedor proveedor = new Proveedor { Cuit = 157618923, Direccion = "La Rioja 6412", Nombre = "Outlet Riojano", Habilitado = true, RazonSocial = "Vende Ropa" - - }); + + }; + ControladoraProveedores.Instance.Añadir(proveedor); ControladoraClientes.Instance.Añadir(new Cliente{ Cuit = 23453659239, @@ -59,15 +59,17 @@ namespace Vista Id = 2, Descripcion = "Perfumeria" }); - - ControladoraProductos.Instance.Añadir(new Producto + Producto producto = new Producto { Id = 1, Categoria = ControladoraCategorias.Instance.Listar()[0], Habilitado = true, Nombre = "Pantalones Vaqueros", Precio = 2000.2 - }); + }; + producto.AñadirProveedor(proveedor); + ControladoraProductos.Instance.Añadir(producto); + } } } \ No newline at end of file