//Método BuscarFechas private void BuscarFechas() { this.dataListado.DataSource = NVentas.BuscarFechas(this.dtFecha1.Value.ToString("dd/MM/yyyy"), this.dtFecha2.Value.ToString("dd/MM/yyyy")); //this.OcultarColumnas(); lblTotal.Text = "Total de Registros: " + Convert.ToString(dataListado.Rows.Count); }
private void BuscarSalidas(string tipo_busqueda, string texto_busqueda) { try { this.panelEnvios.Limpiar(); string fecha = this.dateTimePicker1.Value.ToShortDateString(); DataTable dtSalidas = NVentas.BuscarVentas(tipo_busqueda, texto_busqueda, fecha, out string rpta); if (dtSalidas != null) { this.panelEnvios.Enabled = true; foreach (DataRow row in dtSalidas.Rows) { SalidaSmall salida = new SalidaSmall(); salida.AsignarDatos(new VentasEnvios(row)); this.panelEnvios.AddControl(salida); } this.panelEnvios.RefreshPanel(new SalidaSmall()); } else { if (!rpta.Equals("OK")) { throw new Exception(rpta); } this.panelEnvios.Enabled = false; } } catch (Exception ex) { Mensajes.MensajeErrorCompleto(this.Name, "BuscarSalidas", "Hubo un error al buscar las salidas", ex.Message); } }
public void AsignarTablas() { this.Is_precuenta = false; this.TablaDatosPrincipales = NVentas.BuscarVentaFinal(Convert.ToString(this.Id_pedido), out this.TablaDetallePedido, out this.TablaDetalleVenta); int rows = this.TablaDetalleVenta.Rows.Count; }
private void BtnEliminarCuentas_Click(object sender, EventArgs e) { if (this.dgvVentas.Rows.Count > 0 & this.chkEliminarCuentas.Checked) { List <DataGridViewRow> Rows = new List <DataGridViewRow>(); foreach (DataGridViewRow row in this.dgvVentas.Rows) { if (Convert.ToBoolean(row.Cells["chkEliminar"].Value)) { Rows.Add(row); } } if (Rows.Count > 0) { Mensajes.MensajePregunta("¿Seguro desea eliminar " + Rows.Count + " cuentas seleccionadas?", "Eliminar", "Cancelar", out DialogResult dialog); if (dialog == DialogResult.Yes) { string rpta = ""; foreach (DataGridViewRow row2 in Rows) { int id_venta = Convert.ToInt32(row2.Cells["Id_venta"].Value); rpta = NVentas.InactivarVenta(id_venta); if (!rpta.Equals("OK")) { break; } } if (rpta.Equals("OK")) { Mensajes.MensajeOkForm("Se eliminaron las ventas correctamente"); foreach (DataGridViewRow row in this.dgvVentas.Rows) { if (Rows.Contains(row)) { this.dgvVentas.Rows.Remove(row); } } this.chkEliminarCuentas.Checked = false; } else { Mensajes.MensajeErrorCompleto(this.Name, "BtnEliminarCuentas_Click", "Hubo un error al eliminar cuentas", rpta); } } } else { Mensajes.MensajeInformacion("No hay ventas seleccionadas", "Entendido"); } } }
private void Operacion_Venta_Load(object sender, EventArgs e) { try { ordDGV.DataSource = NVentas.Ords(); prodDGV.DataSource = NVentas.Prods(); }catch (Exception ex) { msgerr(ex.Message); } }
private void btnGuardar_Click(object sender, EventArgs e) { try { string rpta = ""; if (this.txtCod_cliente.Text == string.Empty || this.txtSerie.Text == string.Empty || this.txtCorrelativo.Text == string.Empty || this.txtIgv.Text == string.Empty) { MensajeError("Falta ingresar algunos datos, serán remarcados"); errorIcono.SetError(txtCod_cliente, "Ingrese un Valor"); errorIcono.SetError(txtSerie, "Ingrese un Valor"); errorIcono.SetError(txtCorrelativo, "Ingrese un Valor"); errorIcono.SetError(txtIgv, "Ingrese un Valor"); } else { if (this.IsNuevo) { rpta = NVentas.Insertar(Convert.ToInt32(this.txtCod_cliente.Text), Cod_trabajador, dtFecha.Value, cbTipo_Comprobante.Text, txtSerie.Text, txtCorrelativo.Text, Convert.ToDecimal(txtIgv.Text), dtDetalle); } if (rpta.Equals("OK")) { if (this.IsNuevo) { this.MensajeOk("Se Insertó de forma correcta el registro"); } } else { this.MensajeError(rpta); } this.IsNuevo = false; this.Botones(); this.Limpiar(); this.limpiarDetalle(); this.Mostrar(); } } catch (Exception ex) { MessageBox.Show(ex.Message + ex.StackTrace); } }
private async void LoadVentas(string tipo_busqueda, string texto_busqueda) { try { var(rpta, dtVentas) = await NVentas.BuscarVentas(tipo_busqueda, texto_busqueda); this.VentasUsuario = new List <Ventas>(); this.panelVentas.clearDataSource(); if (dtVentas != null) { this.gbVentas.Text = "Se encontraron " + dtVentas.Rows.Count + " ventas."; List <UserControl> controls = new List <UserControl>(); foreach (DataRow row in dtVentas.Rows) { Ventas ve = new Ventas(row); VentaSmall ventaSmall = new VentaSmall { Venta = ve, }; ventaSmall.OnBtnNext += VentaSmall_OnBtnNext; ventaSmall.OnBtnEdit += VentaSmall_OnBtnEdit; this.VentasUsuario.Add(ve); controls.Add(ventaSmall); } this.panelVentas.AddArrayControl(controls); } else { this.gbVentas.Text = "No se encontraron ventas"; if (!rpta.Equals("OK")) { throw new Exception(rpta); } } } catch (Exception ex) { Mensajes.MensajeErrorCompleto(this.Name, "LoadVentas", "Hubo un error al cargar las ventas", ex.Message); } }
private void BuscarVentas(string tipo_busqueda, string texto_busqueda) { try { string fecha1 = this.date1.Value.ToShortDateString(); string fecha2 = this.date2.Value.ToShortDateString(); string hora1 = this.ListaHora1.SelectedValue.ToString(); string hora2 = this.ListaHora2.SelectedValue.ToString(); DataTable tablaVenta = NVentas.BuscarVenta(tipo_busqueda, texto_busqueda, fecha1, fecha2, hora1, hora2); this.dgvVentas.DataSource = tablaVenta; if (tablaVenta != null) { this.btnResumen.Enabled = true; string[] columns_header = { "Id venta", "Id pedido", "Fecha", "Hora", "Total parcial", "Propina", "Subtotal", "Descuento", "Bono o cupón", "Total", "Observaciones", "Id cliente", "Nombre cliente", "Id mesa", "Mesa", "Id empleado", "Empleado" }; bool[] columns_visible = { false, false, true, true, true, true, true, true, false, true, false, false, true, false, true, false, true }; this.dgvVentas = DatagridString.ChangeHeaderTextAndVisible(this.dgvVentas, columns_header, columns_visible); //this.dgvVentas.Columns["Hora_venta"].DefaultCellStyle.Format = "HH:mm"; this.resumenVenta.ObtenerVenta(Convert.ToDateTime(fecha1), Convert.ToDateTime(fecha2), hora1, hora2); } else { this.btnResumen.Enabled = false; } } catch (Exception ex) { Mensajes.MensajeErrorCompleto(this.Name, "BuscarVentas", "Hubo un error al buscar una venta", ex.Message); } }
private void btnEliminar_Click(object sender, EventArgs e) { try { DialogResult Opcion; Opcion = MessageBox.Show("Realmente Desea Eliminar los Registros", "Sistema de Ventas", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (Opcion == DialogResult.OK) { string Codigo; string Rpta = ""; foreach (DataGridViewRow row in dataListado.Rows) { if (Convert.ToBoolean(row.Cells[0].Value)) { Codigo = Convert.ToString(row.Cells[1].Value); Rpta = NVentas.Eliminar(Convert.ToInt32(Codigo)); if (Rpta.Equals("OK")) { this.MensajeOk("Se Eliminó Correctamente la venta"); } else { this.MensajeError(Rpta); } } } this.Mostrar(); } } catch (Exception ex) { MessageBox.Show(ex.Message + ex.StackTrace); } }
private void MostrarArticulo_Venta_Codigo() { this.dataListado.DataSource = NVentas.MostrarArticulo_Venta_Codigo(this.txtBuscar.Text); this.OcultarColumnas(); lblTotal.Text = "Total de Registros: " + Convert.ToString(dataListado.Rows.Count); }
private void MostrarDetalle() { this.dataListadoDetalle.DataSource = NVentas.MostrarDetalle(this.txtCod_venta.Text); }
private async void BtnReporteClientes_Click(object sender, EventArgs e) { MensajeEspera.ShowWait("Cargando reporte..."); DataTable dtClientes = new DataTable("Clientes"); dtClientes.Columns.Add("Id_cliente", typeof(int)); dtClientes.Columns.Add("Nombre_cliente", typeof(string)); dtClientes.Columns.Add("Celular_cliente", typeof(string)); dtClientes.Columns.Add("Referencia_articulo", typeof(string)); dtClientes.Columns.Add("Saldo_restante", typeof(string)); dtClientes.Columns.Add("Venta_total", typeof(string)); dtClientes.Columns.Add("Fecha_venta", typeof(string)); dtClientes.Columns.Add("Fecha_ultimo_pago", typeof(string)); dtClientes.Columns.Add("Dias_mora", typeof(int)); int id_cliente = 0; string nombre_cliente = string.Empty; string celular_cliente = string.Empty; string referencia_articulo = string.Empty; decimal saldo_restante = 0; decimal total_venta = 0; DateTime fecha_venta = DateTime.Now; decimal suma_ventas = 0; decimal suma_saldos = 0; DateTime fecha_ultimo_pago = DateTime.Now; MainController main = MainController.GetInstance(); var(rpta, dtVentas) = await NVentas.BuscarVentas("ID COBRO ACTIVO", main.Id_cobro.ToString()); if (dtVentas != null) { foreach (DataRow row in dtVentas.Rows) { Ventas venta = new Ventas(row); id_cliente = venta.Id_cliente; nombre_cliente = venta.Cliente.NombreCompleto; celular_cliente = venta.Cliente.Celular; total_venta = venta.Total_venta; fecha_venta = venta.Fecha_venta; suma_ventas += venta.Total_venta; //Buscar los agendamientos de cada venta para ver su saldo restante var(rpta1, dtAgendamientos) = await NAgendamiento_cobros.BuscarAgendamientos("ID VENTA", venta.Id_venta.ToString()); if (dtAgendamientos != null) { Agendamiento_cobros ag = new Agendamiento_cobros(dtAgendamientos.Rows[0]); saldo_restante = ag.Saldo_restante; suma_saldos += ag.Saldo_restante; fecha_ultimo_pago = ag.Fecha_cobro; } TimeSpan timeSpan = DateTime.Now - fecha_ultimo_pago; double dias_mora = timeSpan.TotalDays; DataRow newRow = dtClientes.NewRow(); newRow["Id_cliente"] = id_cliente; newRow["Nombre_cliente"] = nombre_cliente; newRow["Celular_cliente"] = celular_cliente; newRow["Referencia_articulo"] = referencia_articulo; newRow["Saldo_restante"] = saldo_restante.ToString("C"); newRow["Venta_total"] = total_venta.ToString("C"); newRow["Fecha_venta"] = fecha_venta.ToString("dd-MM-yyyy"); newRow["Fecha_ultimo_pago"] = fecha_ultimo_pago.ToString("dd-MM-yyyy"); newRow["Dias_mora"] = dias_mora; dtClientes.Rows.Add(newRow); } if (dtClientes.Rows.Count > 0) { MensajeEspera.CloseForm(); //Enviar informe FrmReporteClientes frmReporteClientes = new FrmReporteClientes { WindowState = FormWindowState.Maximized, dtClientes = dtClientes, Total_saldos = suma_saldos.ToString("C"), Total_ventas = suma_ventas.ToString("C"), }; frmReporteClientes.Show(); } else { MensajeEspera.CloseForm(); Mensajes.MensajeInformacion("No se encontraron clientes", "Entendido"); } } else { MensajeEspera.CloseForm(); Mensajes.MensajeInformacion("No se encontraron clientes", "Entendido"); } MensajeEspera.CloseForm(); }
private void BtnTerminar_Click(object sender, EventArgs e) { MensajeEspera.ShowWait("Facturando y terminando"); try { string rpta = "OK"; int id_venta; if (this.panelSubTotal.Visible) { DataTable detalle_pago; List <string> variables = this.Variables(out detalle_pago); if (detalle_pago.Rows.Count > 0) { if (this.IsPrecuenta) { frmFacturaFinal.Id_pedido = this.Id_pedido; frmFacturaFinal.AsignarTablasPedido(variables); string metodo = this.ObtenerValorPanel(this.panelTipoPedido); if (metodo.Equals("IMPRIMIR")) { frmFacturaFinal.ImprimirFactura(1); } else if (metodo.Equals("CORREO")) { string rpta_email = EmailFactura.SendEmailFactura(this.Id_pedido, this.Correo_electronico); if (!rpta_email.Equals("OK")) { Mensajes.MensajeErrorForm("Hubo un error al enviar el correo electrónico"); } } else if (metodo.Equals("AMBAS")) { frmFacturaFinal.ImprimirFactura(1); string rpta_email = EmailFactura.SendEmailFactura(this.Id_pedido, this.Correo_electronico); if (!rpta_email.Equals("OK")) { Mensajes.MensajeErrorForm("Hubo un error al enviar el correo electrónico"); } } FrmObservarMesas frm = FrmObservarMesas.GetInstancia(); frm.MesaSaliendo(this.Id_mesa, this.Id_pedido); MensajeEspera.CloseForm(); Mensajes.MensajeOkForm("Se realizó la precuenta correctamente"); this.Close(); } else { MensajeEspera.ShowWait("Facturando y terminando"); rpta = NVentas.InsertarVenta(variables, out id_venta, detalle_pago); if (rpta.Equals("OK")) { FrmObservarMesas frm = FrmObservarMesas.GetInstancia(); frm.LiberarMesa(this.Id_mesa); frmFacturaFinal.Id_pedido = this.Id_pedido; frmFacturaFinal.AsignarTablas(); string metodo = this.ObtenerValorPanel(this.panelTipoPedido); if (metodo.Equals("IMPRIMIR")) { frmFacturaFinal.ImprimirFactura(1); } else if (metodo.Equals("CORREO")) { string rpta_email = EmailFactura.SendEmailFactura(this.Id_pedido, this.Correo_electronico); if (!rpta_email.Equals("OK")) { Mensajes.MensajeErrorForm("Hubo un error al enviar el correo electrónico"); } } else if (metodo.Equals("AMBAS")) { frmFacturaFinal.ImprimirFactura(1); string rpta_email = EmailFactura.SendEmailFactura(this.Id_pedido, this.Correo_electronico); if (!rpta_email.Equals("OK")) { Mensajes.MensajeErrorForm("Hubo un error al enviar el correo electrónico"); } } MensajeEspera.CloseForm(); Mensajes.MensajeOkForm("Se realizó la facturación correctamente"); this.Close(); } else { throw new Exception(rpta); } } } else { Mensajes.MensajeErrorForm("Debe de seleccionar un método de pago"); } } MensajeEspera.CloseForm(); } catch (Exception ex) { MensajeEspera.CloseForm(); Mensajes.MensajeErrorCompleto(this.Name, "BtnTerminar_Click", "Hubo un error al terminar una venta", ex.Message); } }
public static string SendEmailFactura(int id_pedido, string correo) { string rpta = "OK"; try { string HTMLTemplateMail = ""; DataTable dtDetallePedido; DataTable dtDetalleVenta; DataTable dtDatosPrincipales = NVentas.BuscarVentaFinal(Convert.ToString(id_pedido), out dtDetallePedido, out dtDetalleVenta); //Solo si dtDatosPrincipales es diferente de null crearemos y enviaremos el correo if (dtDatosPrincipales != null) { int id_venta = Convert.ToInt32(dtDatosPrincipales.Rows[0]["Id_venta"]); int num_mesa = Convert.ToInt32(dtDatosPrincipales.Rows[0]["Num_mesa"]); string nombre_empleado = Convert.ToString(dtDatosPrincipales.Rows[0]["Nombre_empleado"]); string nombre_cliente = Convert.ToString(dtDatosPrincipales.Rows[0]["Nombre_cliente"]); string fecha_venta = Convert.ToString(dtDatosPrincipales.Rows[0]["Fecha_venta"]); DateTime fecha_venta_convertida = Convert.ToDateTime(fecha_venta); string hora_venta = Convert.ToString(dtDatosPrincipales.Rows[0]["Hora_venta"]); DateTime hora_venta_convertida = Convert.ToDateTime(hora_venta); int total_parcial = Convert.ToInt32(dtDatosPrincipales.Rows[0]["Total_parcial"]); int propina = Convert.ToInt32(dtDatosPrincipales.Rows[0]["Propina"]); int subtotal = Convert.ToInt32(dtDatosPrincipales.Rows[0]["Subtotal"]); int descuento = Convert.ToInt32(dtDatosPrincipales.Rows[0]["Descuento"]); string bono_cupon = Convert.ToString(dtDatosPrincipales.Rows[0]["Bono_cupon"]); int total_final = Convert.ToInt32(dtDatosPrincipales.Rows[0]["Total_final"]); string observaciones = Convert.ToString(dtDatosPrincipales.Rows[0]["Observaciones"]); StringBuilder headerEmail = new StringBuilder(); StringBuilder contentEmail = new StringBuilder(); headerEmail.Append("<h2>"); headerEmail.Append("FACTURA MÍSTICO - FECHA: " + DateTime.Now.ToLongDateString() + " HORA: " + DateTime.Now.ToLongTimeString()); headerEmail.Append("</h2>"); contentEmail.Append("<table style='font-family: arial; font-size: 12px; border: 1px solid silver;' cellpadding='7' cellspacing='7'>"); contentEmail.Append("<tbody>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Pedido número</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + id_pedido + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Venta número</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + id_venta + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Fecha y hora</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + fecha_venta_convertida.ToShortDateString() + " - " + hora_venta_convertida.ToShortTimeString() + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Mesa</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + num_mesa + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Empleado</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + nombre_empleado + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Cliente</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + nombre_cliente + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Total parcial</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + total_parcial + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Propina</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + propina + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Subtotal</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + subtotal + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Descuento</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + descuento + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>TOTAL</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + total_final + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("</tbody>"); contentEmail.Append("</table>"); contentEmail.Append("<table style='font-family: arial; font-size: 12px; border: 1px solid silver;' cellpadding='7' cellspacing='7'>"); contentEmail.Append("<tbody>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Observaciones</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + observaciones + "</td>"); contentEmail.Append("</tr>"); contentEmail.Append("</tbody>"); contentEmail.Append("</table>"); contentEmail.Append("<br />"); contentEmail.Append("<br />"); contentEmail.Append("<h4>"); contentEmail.Append("Detalle de pago"); contentEmail.Append("</h4>"); contentEmail.Append("<br />"); contentEmail.Append("<br />"); if (dtDetalleVenta != null) { contentEmail.Append("<table style='font-family: arial; font-size: 12px; border: 1px solid silver;' cellpadding='7' cellspacing='7'>"); contentEmail.Append("<tbody>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Método de pago</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Valor</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Observaciones</td>"); contentEmail.Append("</tr>"); foreach (DataRow row in dtDetalleVenta.Rows) { contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + row["Metodo_pago"] + "</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + row["Valor_pago"] + "</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + row["Observaciones"] + "</td>"); contentEmail.Append("</tr>"); } contentEmail.Append("</tbody>"); contentEmail.Append("</table>"); } contentEmail.Append("<br />"); contentEmail.Append("<br />"); contentEmail.Append("<h4>"); contentEmail.Append("Detalle del pedido"); contentEmail.Append("</h4>"); contentEmail.Append("<br />"); contentEmail.Append("<br />"); if (dtDetallePedido != null) { contentEmail.Append("<table style='font-family: arial; font-size: 12px; border: 1px solid silver;' cellpadding='7' cellspacing='7'>"); contentEmail.Append("<tbody>"); contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Nombre</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Precio</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Cantidad</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>Total</td>"); contentEmail.Append("</tr>"); foreach (DataRow row in dtDetallePedido.Rows) { contentEmail.Append("<tr>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + row["Nombre"] + "</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + row["Precio"] + "</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + row["Cantidad"] + "</td>"); contentEmail.Append(" <td style='border: 1px solid silver;text-align:center;'>" + row["Total"] + "</td>"); contentEmail.Append("</tr>"); } contentEmail.Append("</tbody>"); contentEmail.Append("</table>"); } contentEmail.Append("<br />"); contentEmail.Append("<br />"); contentEmail.Append("<p>"); contentEmail.Append("Por disposición de la superintendencia de industria y comercio se informa que en este establecimiento "); contentEmail.Append("la propina sugerida al consumidor corresponde al 10% sobre el total de la cuenta antes de impuestos "); contentEmail.Append("la cual podrá ser aceptado, rechazado o modificado por usted de acuerdo con su valoración del servicio prestado"); contentEmail.Append("Autorización resolución DIAN 18762002374004 del 2017//02//27"); contentEmail.Append("</p>"); HTMLTemplateMail = concatTemplateEmailWithHeaderBody(headerEmail.ToString(), contentEmail.ToString()); MailMessage mail = new MailMessage(ConfigurationManager.AppSettings["eMailFrom"], correo); mail.From = new MailAddress(ConfigurationManager.AppSettings["eMailFrom"], "Mistico", System.Text.Encoding.UTF8); mail.IsBodyHtml = true; string fecha = DateTime.Now.ToString("G"); mail.Subject = "Factura MÍSTICO" + " - " + fecha; mail.Body = HTMLTemplateMail; //Línea para enviar una copia del correo //mail.Bcc.Add(ConfigurationManager.AppSettings["eMail"].ToString()); SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["eMailSMTP"].ToString()); client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["eMailFrom"], ConfigurationManager.AppSettings["eMailPass"]); client.Port = int.Parse(ConfigurationManager.AppSettings["portEmail"].ToString()); client.EnableSsl = true; client.Send(mail); } } catch (Exception ex) { rpta = ex.Message; } return(rpta); }
private void BtnTerminar_Click(object sender, EventArgs e) { string tipo_venta; string rpta = "OK"; string estado = ""; DatosUsuario datos = DatosUsuario.GetInstancia(); int id_empleado = datos.Id_usuario; bool finish = true; try { if (this.rdEnvio.Checked) { tipo_venta = "ENVIO"; estado = "PENDIENTE ENVIO"; EnvioPedido envio = (EnvioPedido)this.panel1.Controls[0]; DataTable detalle = this.dtDetalle(estado, out finish, out rpta); if (detalle != null) { if (envio.Comprobacion(out int id_cliente, out int id_direccion, out string observaciones)) { List <string> Variables = new List <string> { id_empleado.ToString(), id_cliente.ToString(), id_direccion.ToString(), tipo_venta, estado, observaciones }; if (this.id_venta == 0) { rpta = NVentas.InsertarVentas(Variables, detalle, out this.id_venta); } else { rpta = NVentas.InsertarDetalleVentas(this.id_venta, detalle); } if (rpta.Equals("OK")) { Mensajes.MensajeInformacion("Venta realizada correctamente, para seguir " + "el detalle del envío vaya al módulo de entradas y salidas", "Entendido"); if (finish) { this.Close(); } } } } } else if (this.rdSeparar.Checked) { } else if (this.rdVentaDirecta.Checked) { tipo_venta = "VENTA DIRECTA"; VentaDirecta venta = (VentaDirecta)this.panel1.Controls[0]; estado = "TERMINADO"; DataTable detalle = this.dtDetalle(estado, out finish, out rpta); if (detalle != null) { if (venta.Comprobaciones(out int id_cliente, out string tipo_pago, out string observaciones)) { List <string> Variables = new List <string> { id_empleado.ToString(), id_cliente.ToString(), "0", tipo_venta, estado, observaciones }; if (this.id_venta == 0) { rpta = NVentas.InsertarVentas(Variables, detalle, out this.id_venta); } else { rpta = NVentas.InsertarDetalleVentas(this.id_venta, detalle); } if (rpta.Equals("OK")) { Mensajes.MensajeOkForm("¡Venta realizada correctamente!"); if (finish) { this.Close(); } } } } } } catch (Exception ex) { Mensajes.MensajeErrorCompleto(this.Name, "BtnTerminar_Click", "Hubo un error al terminar el pedido", ex.Message); } }
private async void BtnSave_Click(object sender, EventArgs e) { try { var(result, usuario, direccion, venta, agendamiento) = await this.Comprobaciones(); if (result) { MensajeEspera.ShowWait("Guardando..."); List <string> errores = new List <string>(); string rpta = ""; if (this.IsEditar) { rpta = NUsuarios.EditarUsuario(usuario.Id_usuario, usuario); } else { rpta = NUsuarios.InsertarUsuario(out int id_usuario, usuario); direccion.Id_usuario = id_usuario; venta.Id_cliente = id_usuario; usuario.Id_usuario = id_usuario; } if (rpta.Equals("OK")) { if (this.IsEditar) { rpta = NDireccion_clientes.EditarDireccion(direccion.Id_direccion, direccion); } else { rpta = NDireccion_clientes.InsertarDireccion(out int id_direccion, direccion); venta.Id_direccion = id_direccion; } if (rpta.Equals("OK")) { if (this.IsEditar) { rpta = NVentas.EditarVenta(venta.Id_venta, venta); } else { rpta = NVentas.InsertarVenta(out int id_venta, venta); venta.Id_venta = id_venta; } if (rpta.Equals("OK")) { if (this.rdActual.Checked && !this.IsEditar && this.chkDescontar.Checked) { foreach (Articulos art in this.ArticulosSelected) { Detalle_articulos_venta detalle = new Detalle_articulos_venta { Articulo = art, Id_articulo = art.Id_articulo, Venta = venta, Id_venta = venta.Id_venta, Cantidad_articulo = (int)art.Cantidad_articulo, Valor_articulo = art.Valor_articulo, Estado_detalle = "ACTIVO", }; var(rptaDetalle, id_detalle) = await NDetalle_articulos_venta.InsertarDetalle(detalle); if (!rptaDetalle.Equals("OK")) { errores.Add(rptaDetalle); } } } MainController main = MainController.GetInstance(); if (!this.IsEditar) { rpta = NUsuariosVentas.InsertarUsuarioVenta(new Usuarios_ventas { Id_usuario = main.Usuario.Id_usuario, Id_venta = venta.Id_venta, }); if (rpta.Equals("OK")) { agendamiento.Id_venta = venta.Id_venta; rpta = NAgendamiento_cobros.InsertarAgendamiento(out int id_agendamiento, agendamiento); if (rpta.Equals("OK")) { MensajeEspera.CloseForm(); Mensajes.MensajeInformacion("Se guardó correctamente el cliente, " + "número cliente: " + usuario.Id_usuario + " Número venta: " + venta.Id_venta, "Entendido"); this.Close(); } else { throw new Exception(rpta); } } else { throw new Exception(rpta); } } else { //Obtener el último agendamiento var(rptaAg, dt) = await NAgendamiento_cobros.BuscarAgendamientos("ID VENTA", venta.Id_venta.ToString()); if (dt != null) { agendamiento = new Agendamiento_cobros(dt.Rows[0]); agendamiento.Valor_cobro = venta.Valor_cuota; agendamiento.Fecha_cobro = this.dateUltimoPago.Value; rptaAg = await NAgendamiento_cobros.EditarAgendamiento(agendamiento.Id_agendamiento, agendamiento); if (rptaAg != "OK") { Mensajes.MensajeInformacion("Se actualizó el cliente pero no su último pago," + "número cliente: " + usuario.Id_usuario + " Número venta: " + venta.Id_venta, "Entendido"); this.OnRefresh?.Invoke(sender, e); this.Close(); } else { Mensajes.MensajeInformacion("Se actualizó correctamente el cliente, " + "número cliente: " + usuario.Id_usuario + " Número venta: " + venta.Id_venta, "Entendido"); this.OnRefresh?.Invoke(sender, e); this.Close(); } } else { Mensajes.MensajeInformacion("Se actualizó correctamente el cliente pero no se encontraron sus agendamientos, número asignado: " + usuario.Id_usuario, "Entendido"); this.OnRefresh?.Invoke(sender, e); this.Close(); } } } } else { throw new Exception(rpta); } } else { throw new Exception(rpta); } } MensajeEspera.CloseForm(); } catch (Exception ex) { MensajeEspera.CloseForm(); Mensajes.MensajeErrorCompleto(this.Name, "BtnSave_Click", "Hubo un error al guardar el cliente", ex.Message); } }
private void AsignarDatos() { try { if (Row_venta != null) { this.Id_pedido = Convert.ToInt32(Row_venta.Cells["Id_pedido"].Value); this.lblId_venta.Text += " " + Convert.ToString(Row_venta.Cells["Id_venta"].Value); this.lblIdPedido.Text += " " + Convert.ToString(Row_venta.Cells["Id_pedido"].Value); this.lblFecha.Text += " " + Convert.ToDateTime(Row_venta.Cells["Fecha_venta"].Value).ToLongDateString(); this.lblHora.Text += " " + Convert.ToDateTime(Row_venta.Cells["Hora_venta"].Value).ToLongTimeString(); this.lblMesa.Text += " " + Convert.ToString(Row_venta.Cells["Num_mesa"].Value); this.lblEmpleado.Text += " " + Convert.ToString(Row_venta.Cells["Nombre_empleado"].Value); this.lblCliente.Text += " " + Convert.ToString(Row_venta.Cells["Nombre_cliente"].Value); this.lblTotal_parcial.Text += " " + Convert.ToInt32(Row_venta.Cells["Total_parcial"].Value).ToString("C"); this.lblPropina.Text += " " + Convert.ToInt32(Row_venta.Cells["Propina"].Value).ToString("C"); this.lblSubTotal.Text += " " + Convert.ToInt32(Row_venta.Cells["Subtotal"].Value).ToString("C"); this.lblDescuento.Text += " " + Convert.ToString(Row_venta.Cells["Descuento"].Value); this.lblTotalFinal.Text += " " + Convert.ToInt32(Row_venta.Cells["Total_final"].Value).ToString("C"); this.txtObservaciones.Text = Convert.ToString(Row_venta.Cells["Observaciones"].Value); DataTable dtDetallePedido; DataTable dtDetalleVenta; DataTable DatosPrincipales = NVentas.BuscarVentaFinal(this.Id_pedido.ToString(), out dtDetallePedido, out dtDetalleVenta); this.dgvPagos = ConfiguracionDatagridview.ConfigurationGrid(this.dgvPagos); this.dgvDetalle_pedido = ConfiguracionDatagridview.ConfigurationGrid(this.dgvDetalle_pedido); this.dgvDetalle_pedido.DataSource = dtDetallePedido; this.dgvPagos.DataSource = dtDetalleVenta; if (dtDetallePedido != null) { string[] columns_header = { "Id pedido", "Id tipo", "Tipo", "Nombre", "Precio", "Cantidad", "Total", "Observaciones" }; bool[] columns_visible = { false, false, false, true, true, true, true, true }; this.dgvDetalle_pedido = DatagridString.ChangeHeaderTextAndVisible(this.dgvDetalle_pedido, columns_header, columns_visible); } if (dtDetalleVenta != null) { string[] columns_header = { "Id venta", "Método de pago", "Valor", "Vaucher", "Observaciones" }; bool[] columns_visible = { false, true, true, false, true }; this.dgvPagos = DatagridString.ChangeHeaderTextAndVisible(this.dgvPagos, columns_header, columns_visible); } } } catch (Exception ex) { Mensajes.MensajeErrorCompleto(this.Name, "AsignarDatos()", "Hubo un error al asignar los datos de la venta", ex.Message); } }
//Método para ocultar columnas /*private void OcultarColumnas() * { * this.dataListado.Columns[0].Visible = false; * this.dataListado.Columns[1].Visible = false; * * }*/ //Método Mostrar private void Mostrar() { this.dataListado.DataSource = NVentas.Mostrar(); //this.OcultarColumnas(); lblTotal.Text = "Total de Registros: " + Convert.ToString(dataListado.Rows.Count); }
public void ObtenerVenta(DateTime fecha1, DateTime fecha2, string hora1, string hora2) { try { DataTable table = NVentas.BuscarVenta("RESUMEN VENTA", "", fecha1.ToShortDateString(), fecha2.ToShortDateString(), hora1, hora2); if (table != null) { int cantidadVentas = Convert.ToInt32(table.Rows[0]["Cantidad_ventas"]); int totalVentas = Convert.ToInt32(table.Rows[0]["Total_ventas"]); int totalPropinas = Convert.ToInt32(table.Rows[0]["Total_propinas"]); int totalVentasSinPropina = Convert.ToInt32(table.Rows[0]["Total_ventas_sin_propina"]); int pagosEfectivo = Convert.ToInt32(table.Rows[0]["Pagos_efectivo"]); int pagosTarjeta = Convert.ToInt32(table.Rows[0]["Pagos_tarjeta"]); StringBuilder builder = new StringBuilder(); builder.Append("Entre " + fecha1.ToLongDateString() + " y " + fecha2.ToLongDateString() + " se realizaron " + cantidadVentas + " ventas"); builder.Append(Environment.NewLine); builder.Append("El total de ventas fue de " + totalVentas.ToString("C")); builder.Append(Environment.NewLine); builder.Append("El total de propinas fue de " + totalPropinas.ToString("C")); builder.Append(Environment.NewLine); builder.Append("El total de ventas sin propinas fue de " + totalVentasSinPropina.ToString("C")); builder.Append(Environment.NewLine); if (pagosEfectivo > 0) { int totalPagosEfectivo = Convert.ToInt32(table.Rows[0]["Total_ventas_efectivo"]); builder.Append("Pagos en efectivo: " + pagosEfectivo + " por un valor de " + totalPagosEfectivo.ToString("C2")); } else { builder.Append("No hubo pagos en efectivo"); } builder.Append(Environment.NewLine); if (pagosTarjeta > 0) { int totalPagosTarjeta = Convert.ToInt32(table.Rows[0]["Total_ventas_tarjeta"]); builder.Append("Pagos con tarjeta: " + pagosTarjeta + " por un valor de " + totalPagosTarjeta.ToString("C2")); } else { builder.Append("No se encontraron pagos con tarjeta"); } this.txtResumen.Text = Convert.ToString(builder); } else { StringBuilder builder = new StringBuilder(); builder.Append("Entre " + fecha1.ToLongDateString() + " y " + fecha2.ToLongDateString() + " no se realizaron ventas"); } } catch (Exception ex) { Mensajes.MensajeErrorForm("Hubo un error al obtener la venta Detalle:" + ex.Message); } }
private async void LoadReporteDiario(DateTime fecha) { MensajeEspera.ShowWait("Cargando reporte..."); StringBuilder info = new StringBuilder(); //Obtener el turno de esta fecha DataTable dtTurnos = NTurnos.BuscarTurnos("FECHA INICIO", fecha.ToString("yyyy-MM-dd"), out string rpta); if (dtTurnos != null) { Turnos turno = new Turnos(dtTurnos.Rows[0]); info.Append("Valor inicial en caja ").Append(turno.Valor_inicial.ToString("C")).Append(Environment.NewLine); info.Append("Se empezó con ").Append(turno.Clientes_iniciales).Append(" clientes y se terminó con ").Append(turno.Clientes_total).Append(Environment.NewLine); //Obtener los clientes nuevos var(rpta1, dtVentas) = await NVentas.BuscarVentas("FECHA ID COBRO", fecha.ToString("yyyy-MM-dd")); if (dtVentas != null) { info.Append("Clientes nuevos o renovados ").Append(dtVentas.Rows.Count).Append(Environment.NewLine); } else { info.Append("No hubieron clientes nuevos o renovados "); } info.Append("Total de ventas y renovaciones ").Append(turno.Recaudo_ventas_nuevas.ToString("C")).Append(Environment.NewLine); info.Append("Recaudo pretendido ").Append(turno.Recaudo_pretendido_turno.ToString("C")).Append(Environment.NewLine); decimal porcentajeRecaudado = (turno.Recaudo_cuotas * 100) / turno.Recaudo_pretendido_turno; info.Append("Total recaudado ").Append(turno.Recaudo_cuotas.ToString("C")).Append(" (" + ((int)porcentajeRecaudado) + "%)").Append(Environment.NewLine); info.Append("Otros ingresos ").Append(turno.Recaudo_otros.ToString("C")).Append(Environment.NewLine); if (turno.Gastos_total == 0) { info.Append("No hubieron gastos").Append(Environment.NewLine); } else { info.Append("Gastos/Egresos ").Append(turno.Gastos_total.ToString("C")).Append(Environment.NewLine); } info.Append(Environment.NewLine); info.Append("CAJA FINAL ").Append(turno.Recaudo_real.ToString("C")).Append(Environment.NewLine); info.Append(Environment.NewLine); if (dtVentas != null) { info.Append("Resumen de clientes nuevos o renovados").Append(Environment.NewLine); foreach (DataRow row in dtVentas.Rows) { Ventas venta = new Ventas(row); info.Append("* Nombre: ").Append(venta.Cliente.NombreCompleto).Append(" - Celular: ").Append(venta.Cliente.Celular).Append(Environment.NewLine); info.Append("- Valor préstamo: ").Append(venta.Valor_venta.ToString("C")).Append(" - Plazo: ").Append(venta.Numero_cuotas).Append(Environment.NewLine); } } DataTable dtGastos = NGastos.BuscarGastos("FECHA ID COBRO", fecha.ToString("yyyy-MM-dd"), out rpta); if (dtGastos != null) { info.Append(Environment.NewLine); info.Append("Resumen de gastos o egresos").Append(Environment.NewLine); foreach (DataRow row in dtGastos.Rows) { Gastos gasto = new Gastos(row); info.Append("* " + gasto.Tipo_gasto.Nombre_tipo_gasto + " - ").Append(" - Observaciones: ").Append(gasto.Observaciones_gasto); info.Append(" - Valor: ").Append(gasto.Valor_gasto.ToString("C")).Append(Environment.NewLine); } } FrmReporteDiario frmReporteDiario = new FrmReporteDiario { FormBorderStyle = FormBorderStyle.None, TopMost = false, TopLevel = false, Dock = DockStyle.Fill, InformacionTurno = info.ToString(), FechaHoraReporte = "Fecha y hora de generación: " + DateTime.Now.ToLongDateString(), FechaHoraTurno = "Fecha y hora de turno: " + turno.Fecha_inicio_turno.ToLongDateString(), }; if (this.gbResultados.Controls.Count > 0) { this.gbResultados.Controls.Clear(); } this.gbResultados.Controls.Add(frmReporteDiario); frmReporteDiario.Show(); } else { MensajeEspera.CloseForm(); info.Append("No se encontró el turno"); Mensajes.MensajeInformacion("No se encontró el turno, o bien, se encuentra cerrado en la fecha seleccionada", "Entendido"); } MensajeEspera.CloseForm(); }