Esempio n. 1
0
 //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);
 }
Esempio n. 2
0
        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");
                }
            }
        }
Esempio n. 5
0
 private void Operacion_Venta_Load(object sender, EventArgs e)
 {
     try
     {
         ordDGV.DataSource  = NVentas.Ords();
         prodDGV.DataSource = NVentas.Prods();
     }catch (Exception ex)
     {
         msgerr(ex.Message);
     }
 }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 9
0
        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);
            }
        }
Esempio n. 10
0
 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);
 }
Esempio n. 11
0
 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();
        }
Esempio n. 13
0
        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);
        }
Esempio n. 15
0
        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);
            }
        }
Esempio n. 18
0
        //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();
        }