Funcionalidad de mardar mails hecha

This commit is contained in:
fedpo
2024-12-03 12:25:53 +00:00
parent b2143821d2
commit 57c16542c6
6 changed files with 158 additions and 63 deletions

View File

@@ -136,12 +136,13 @@
//
// btnEnviarEmail
//
btnEnviarEmail.Location = new Point(26, 364);
btnEnviarEmail.Location = new Point(26, 143);
btnEnviarEmail.Name = "btnEnviarEmail";
btnEnviarEmail.Size = new Size(200, 26);
btnEnviarEmail.TabIndex = 9;
btnEnviarEmail.Text = "Enviar Informe Por Email";
btnEnviarEmail.UseVisualStyleBackColor = true;
btnEnviarEmail.Click += btnEnviarEmail_Click;
//
// FrmInformeFacturaPorFecha
//

View File

@@ -16,9 +16,11 @@ namespace Vista.Informes
public partial class FrmInformeFacturaPorFecha : Form
{
private ReadOnlyCollection<Factura>? facturas;
private DateTime fecini, fecfin;
public FrmInformeFacturaPorFecha()
{
InitializeComponent();
if (ControladoraInformes.Instance.RecuperarConfig().Informar == false) btnEnviarEmail.Enabled = false;
}
private void btnBuscar_Click(object sender, EventArgs e)
@@ -28,6 +30,10 @@ namespace Vista.Informes
MessageBox.Show("La fecha de inicio no puede ser mayor que la fecha final.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//es por si mandas un email mantener el state de las fechas
fecini = dateInicio.Value;
fecfin = dateFin.Value;
facturas = ControladoraInformes.Instance.MostrarFacturasEnRangoDeFechas(dateInicio.Value, dateFin.Value);
@@ -79,5 +85,16 @@ namespace Vista.Informes
column.Visible = column.Name == "Subtotal" || column.Name == "NombreProducto" || column.Name == "Cantidad";
}
}
private void btnEnviarEmail_Click(object sender, EventArgs e)
{
if (facturas == null || facturas.Count <= 0)
{
MessageBox.Show("No hay facturas para mandar email");
return;
}
string msg = ControladoraInformes.Instance.EnviarEmail($"Facturas del {fecini.ToString()} hasta {fecfin.ToString()}", facturas.ToList());
MessageBox.Show(msg);
}
}
}

View File

@@ -53,6 +53,7 @@
btnEnviarEmail.TabIndex = 19;
btnEnviarEmail.Text = "Enviar Informe Por Email";
btnEnviarEmail.UseVisualStyleBackColor = true;
btnEnviarEmail.Click += btnEnviarEmail_Click;
//
// label4
//

View File

@@ -17,10 +17,13 @@ namespace Vista.Informes
public partial class FrmInformeFacturasPorCliente : Form
{
private ReadOnlyCollection<Factura> facturas;
private DateTime fecini, fecfin;
public FrmInformeFacturasPorCliente()
{
InitializeComponent();
IniciarTablaClientes();
if (ControladoraInformes.Instance.RecuperarConfig().Informar == false) btnEnviarEmail.Enabled = false;
}
private void IniciarTablaClientes()
@@ -37,6 +40,10 @@ namespace Vista.Informes
if (Check())
{
Cliente cli = (Cliente)dgvCliente.SelectedRows[0].DataBoundItem;
//es por si mandas un email mantener el state de las fechas
fecini = dateInicio.Value;
fecfin = dateFin.Value;
var lista = ControladoraInformes.Instance.MostrarFacturasDeClienteEnRangoDeFechas(cli, dateInicio.Value, dateFin.Value);
if (lista == null)
@@ -97,12 +104,23 @@ namespace Vista.Informes
}
private void RefrescarTablaDetalles(List<DetalleFactura> list)
{
dgvDetalle.DataSource = null;
dgvDetalle.DataSource = null;
dgvDetalle.DataSource = list;
foreach (DataGridViewColumn column in dgvDetalle.Columns)
{
column.Visible = column.Name == "Subtotal" || column.Name == "NombreProducto" || column.Name == "Cantidad";
}
}
private void btnEnviarEmail_Click(object sender, EventArgs e)
{
if (facturas == null || facturas.Count <= 0)
{
MessageBox.Show("No hay facturas para mandar email");
return;
}
string msg = ControladoraInformes.Instance.EnviarEmail($"Facturas cliente: {facturas[0].NombreCliente} del {fecini.ToString()} hasta {fecfin.ToString()}", facturas.ToList());
MessageBox.Show(msg);
}
}
}