más cambios ahora funciona el tema de las facturas pero no el emailer
This commit is contained in:
@@ -30,37 +30,25 @@ namespace Vista
|
||||
dgvProductos.DataSource = null;
|
||||
dgvProductos.DataSource = ControladoraFacturas.Instance.ListarProductos();
|
||||
|
||||
dgvDetalles.AutoGenerateColumns = false;
|
||||
dgvClientes.DataSource = null;
|
||||
dgvClientes.DataSource = ControladoraFacturas.Instance.ListarClientes();
|
||||
|
||||
// Definir las columnas manualmente
|
||||
dgvDetalles.Columns.Add(new DataGridViewTextBoxColumn
|
||||
|
||||
foreach (DataGridViewColumn column in dgvDetalles.Columns)
|
||||
{
|
||||
DataPropertyName = "Id", // Usa la propiedad NombreProducto
|
||||
HeaderText = "Id",
|
||||
Name = "Id"
|
||||
});
|
||||
dgvDetalles.Columns.Add(new DataGridViewTextBoxColumn
|
||||
column.Visible = column.Name == "Id" || column.Name == "Producto" || column.Name == "Cantidad"
|
||||
|| column.Name == "PrecioUnitario" || column.Name == "Subtotal";
|
||||
}
|
||||
|
||||
foreach (DataGridViewColumn column in dgvClientes.Columns)
|
||||
{
|
||||
DataPropertyName = "Producto", // Usa la propiedad NombreProducto
|
||||
HeaderText = "Producto",
|
||||
Name = "Producto"
|
||||
});
|
||||
dgvDetalles.Columns.Add(new DataGridViewTextBoxColumn
|
||||
column.Visible = column.Name == "Cuit" || column.Name == "NombreCompleto" || column.Name == "Correo";
|
||||
}
|
||||
|
||||
foreach (DataGridViewColumn column in dgvProductos.Columns)
|
||||
{
|
||||
DataPropertyName = "CantidadDeProductos",
|
||||
HeaderText = "Cantidad",
|
||||
Name = "CantidadDeProductos"
|
||||
});
|
||||
dgvDetalles.Columns.Add(new DataGridViewTextBoxColumn
|
||||
{
|
||||
DataPropertyName = "PrecioUnitario",
|
||||
HeaderText = "PrecioUnitario"
|
||||
});
|
||||
dgvDetalles.Columns.Add(new DataGridViewTextBoxColumn
|
||||
{
|
||||
DataPropertyName = "Subtotal",
|
||||
HeaderText = "Subtotal"
|
||||
});
|
||||
column.Visible = column.Name == "Id" || column.Name == "Nombre" || column.Name == "Precio";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -100,7 +88,7 @@ namespace Vista
|
||||
string devolucion = "";
|
||||
|
||||
if (string.IsNullOrEmpty(numid.Text)) devolucion += "El ID no puede ser nulo o vacío\n";
|
||||
//if (cmbCliente.SelectedIndex == -1) devolucion += "Debe seleccionar un cliente\n";
|
||||
//if (dgvClientes.Enabled == true) devolucion += "Debe seleccionar un cliente\n";
|
||||
|
||||
if (devolucion == "")
|
||||
{
|
||||
@@ -120,8 +108,7 @@ namespace Vista
|
||||
{
|
||||
factura.Total = Convert.ToDouble(numtotal.Value);
|
||||
factura.Fecha = datepick.Value;
|
||||
factura.Id = Convert.ToInt32(numid.Value);
|
||||
|
||||
factura.Cliente = new Cliente { Cuit = (long)dgvClientes.SelectedRows[0].Cells["Cuit"].Value };
|
||||
|
||||
string mensaje = ControladoraFacturas.Instance.Añadir(factura);
|
||||
MessageBox.Show(mensaje, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
@@ -131,7 +118,10 @@ namespace Vista
|
||||
|
||||
private void btnAddDetalle_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Validar los datos antes de crear el detalle
|
||||
|
||||
// No quiero que cambien de cliente una vez que ya empezaron a armar la factura
|
||||
dgvClientes.Enabled = false;
|
||||
|
||||
if (ValidarDatosdetalle()) return;
|
||||
if (dgvProductos.SelectedRows.Count > 0)
|
||||
{
|
||||
@@ -147,9 +137,8 @@ namespace Vista
|
||||
|
||||
factura.AñadirDetalle(new DetalleFactura
|
||||
{
|
||||
Id = int.Parse(detalleid++.ToString()),
|
||||
|
||||
Cantidad = (int)numCantidad.Value,
|
||||
IdFactura = factura.Id,
|
||||
Producto = ControladoraProductos.Instance.Listar().First(x => x.Id == producto.Id),
|
||||
});
|
||||
ActualizarGrillaDetalles();
|
||||
|
||||
@@ -10,73 +10,48 @@ namespace Vista
|
||||
public FrmFacturas()
|
||||
{
|
||||
InitializeComponent();
|
||||
ConfigurarDataGridViewDetalle();
|
||||
ActualizarGrilla();
|
||||
|
||||
ActualizarGrillas();
|
||||
}
|
||||
private void ActualizarGrilla()
|
||||
private void ActualizarGrillas()
|
||||
{
|
||||
dgvFacturas.DataSource = null;
|
||||
dgvFacturas.DataSource = ControladoraFacturas.Instance.Listar();
|
||||
|
||||
foreach (DataGridViewColumn column in dgvFacturas.Columns)
|
||||
{
|
||||
column.Visible = column.Name == "Total" || column.Name == "Fecha"
|
||||
|| column.Name == "NombreCliente" || column.Name == "Cuit";
|
||||
}
|
||||
|
||||
}
|
||||
private void BtnAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
var form = new FrmFactura();
|
||||
form.ShowDialog();
|
||||
ActualizarGrilla();
|
||||
ActualizarGrillas();
|
||||
}
|
||||
|
||||
private void ConfigurarDataGridViewDetalle()
|
||||
{
|
||||
dgvDetalles.AutoGenerateColumns = false;
|
||||
dgvDetalles.Columns.Add(new DataGridViewTextBoxColumn
|
||||
{
|
||||
DataPropertyName = "Producto",
|
||||
HeaderText = "Producto",
|
||||
Name = "Producto"
|
||||
});
|
||||
dgvDetalles.Columns.Add(new DataGridViewTextBoxColumn
|
||||
{
|
||||
DataPropertyName = "Cantidad",
|
||||
HeaderText = "Cantidad",
|
||||
Name = "Cantidad"
|
||||
|
||||
});
|
||||
dgvDetalles.Columns.Add(new DataGridViewTextBoxColumn
|
||||
{
|
||||
DataPropertyName = "PrecioUnitario",
|
||||
HeaderText = "PrecioUnitario",
|
||||
Name = "PrecioUnitario"
|
||||
});
|
||||
dgvDetalles.Columns.Add(new DataGridViewTextBoxColumn
|
||||
{
|
||||
DataPropertyName = "Subtotal",
|
||||
HeaderText = "Subtotal",
|
||||
Name = "Subtotal"
|
||||
});
|
||||
}
|
||||
private void ActualizarGrillaDetalles(ReadOnlyCollection<DetalleFactura> detalles)
|
||||
|
||||
private void ActualizarGrillaDetalles(Factura fac)
|
||||
{
|
||||
dgvDetalles.DataSource = null;
|
||||
if (detalles.Any())
|
||||
{
|
||||
var loteDatos = detalles.Select(detalle => new
|
||||
{
|
||||
Producto = detalle.Producto.Nombre,
|
||||
Cantidad = detalle.Cantidad,
|
||||
Subtotal = detalle.Subtotal,
|
||||
PrecioUnitario = detalle.Producto.Precio,
|
||||
}).ToList();
|
||||
dgvDetalles.DataSource = fac.Detalles;
|
||||
|
||||
dgvDetalles.DataSource = loteDatos;
|
||||
foreach (DataGridViewColumn column in dgvDetalles.Columns)
|
||||
{
|
||||
column.Visible = column.Name == "Cantidad" || column.Name == "NombreProducto"
|
||||
|| column.Name == "PrecioUnitario" || column.Name == "Subtotal";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
private void dgvFacturas_CellClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.RowIndex >= 0)
|
||||
if (dgvFacturas.SelectedRows.Count > 0 )
|
||||
{
|
||||
var selectedFactura = (Factura)dgvFacturas.Rows[e.RowIndex].DataBoundItem;
|
||||
var detalles = ControladoraFacturas.Instance.ListarDetallesFactura(selectedFactura);
|
||||
ActualizarGrillaDetalles(detalles);
|
||||
var factura = ControladoraFacturas.Instance.ObtenerPorId((Factura)dgvFacturas.SelectedRows[0].DataBoundItem);
|
||||
ActualizarGrillaDetalles(factura);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
1
Vista/FrmProductos.Designer.cs
generated
1
Vista/FrmProductos.Designer.cs
generated
@@ -80,6 +80,7 @@
|
||||
//
|
||||
numStock.Enabled = false;
|
||||
numStock.Location = new Point(317, 269);
|
||||
numStock.Maximum = new decimal(new int[] { 99999999, 0, 0, 0 });
|
||||
numStock.Name = "numStock";
|
||||
numStock.Size = new Size(120, 23);
|
||||
numStock.TabIndex = 13;
|
||||
|
||||
Reference in New Issue
Block a user