falta que se actualize numProducto y los infomes

This commit is contained in:
2024-08-11 18:26:09 -03:00
parent cff13f1e47
commit 4262d66025
42 changed files with 724 additions and 471 deletions

View File

@@ -1,4 +1,6 @@
using System;
using Controladora;
using Entidades;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
@@ -15,6 +17,76 @@ namespace Vista
public FrmRemito()
{
InitializeComponent();
ActualizarTablaOrdendeCompra();
}
private void ActualizarTablaOrdendeCompra()
{
dgvOrdenDeCompra.DataSource = null;
dgvOrdenDeCompra.DataSource = ControladoraRemito.Instance.ListarOrdenesSinEntregar();
foreach (DataGridViewColumn column in dgvOrdenDeCompra.Columns)
{
column.Visible = column.Name == "Id" || column.Name == "NombreProveedor"
|| column.Name == "MontoTotal";
}
numId.Value = (ControladoraRemito.Instance.Listar().Count) > 0 ?
ControladoraRemito.Instance.Listar().Max(x=> x.Id+1):
0;
}
private void dgvOrdenDeCompra_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dgvOrdenDeCompra.SelectedRows.Count == 0) return;
int ordenid = Convert.ToInt32(dgvOrdenDeCompra.SelectedRows[0].Cells["Id"].Value.ToString());
var orden = new OrdenDeCompra { Id = ordenid };
var detallesorden = ControladoraRemito.Instance.ListarDetallesOrdenesDeCompra(orden);
dgvDetalles.DataSource = null;
dgvDetalles.DataSource = detallesorden;
foreach (DataGridViewColumn column in dgvDetalles.Columns)
{
column.Visible = column.Name == "IdPresupuesto" || column.Name == "NombreProducto" || column.Name == "MontoCU"
|| column.Name == "Cantidad" || column.Name == "SubTotal";
}
}
private void BtnAdd_Click(object sender, EventArgs e)
{
if (dgvOrdenDeCompra.SelectedRows.Count <= 0) return;
var selectedRow = dgvOrdenDeCompra.SelectedRows[0];
var orden = new OrdenDeCompra
{
Id = Convert.ToInt32(selectedRow.Cells["Id"].Value.ToString()),
};
orden = ControladoraRemito.Instance.MostrarOrdenDeCompraPorId(orden);
orden.Entregado = true;
if (orden == null) return;
var remito = new Remito
{
Id = Convert.ToInt32(numId.Value),
Proveedor = orden.Proveedor
};
foreach (var detalle in orden.MostrarDetalles())
{
Lote lote = new Lote
{
Id = detalle.Id,
Cantidad = detalle.Cantidad,
Fecha = DateTime.Now,
Habilitado = true,
IdRemito = remito.Id,
Producto = detalle.Producto,
};
remito.AñadirLote(lote);
}
var msg = ControladoraRemito.Instance.Añadir(remito, orden);
MessageBox.Show(msg);
this.Close();
}
}
}