Пример #1
0
        protected override void FinalizacionDelPago(string primerPago, string segundoPago, Panel pnlPago1, Panel pnlPago2)
        {
            base.FinalizacionDelPago(primerPago, segundoPago, pnlPago1, pnlPago2);

            _pago1 = ((NumericUpDown)pnlPago1.Controls["nudMonto"]).Value;

            _comprobante.TipoComprobante = _tipoComprobante;
            var id = _kioscoServicio.CerrarKiosco(_comprobante, _comprobante.TipoComprobante);

            _detalleCajaServicio.Generar(_pago1, TipoPago.Efectivo);
            _formaPagoServicio.Agregar(new FormaPagoEfectivoDto
            {
                TipoFormaPago = TipoFormaPago.Efectivo,
                Monto         = _pago1,
                ComprobanteId = id
            });
            Realizo = true;
            Notificacion.NotificacionCorrecta.MensajeSatisfactorio("Compra satisfactoria");
            if (MessageBox.Show("¿Desea imprimir el comprobante?", "Imprimir", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                var fComprobante = new ComprobanteKiosco(id);
                fComprobante.ShowDialog();
            }
            this.Close();
        }
 private void btnPagar_Click(object sender, EventArgs e)
 {
     if (_saldo > 0 && nudMonto.Value <= _saldo)
     {
         if (nudMonto.Value > 0)
         {
             _cuentaCorrienteServicio.Pagar(_clienteId, nudMonto.Value);
             _cajaServicio.Generar(nudMonto.Value, TipoPago.CtaCte);
             _operacionServicio.Agregar(new OperacionDto
             {
                 Monto             = nudMonto.Value,
                 CuentaCorrienteId = _cuentaCorrienteServicio.ObtenerCorrientePorClienteId(_clienteId).Id,
                 Fecha             = DateTime.Now,
                 TipoOperacion     = TipoOperacion.Cobranza
             });
             MessageBox.Show("Se pago exitosamente", "Atencion");
             _saldo        -= nudMonto.Value;
             nudMonto.Value = 0;
             txtSaldo.Text  = _saldo.ToString("C");
             ActualizarDatos(dgvGrilla, string.Empty);
             RealizoOperacion = true;
         }
         else
         {
             MessageBox.Show("No se puede pagar $0", "Atencion", MessageBoxButtons.OK);
         }
     }
     else
     {
         MessageBox.Show("No puede pagar mas que el valor del saldo", "Atencion");
     }
 }
Пример #3
0
        private bool RegistrarListadoArticulos()
        {
            if (!VerificarDatosObligatorios())
            {
                MessageBox.Show(@"Por favor ingrese los campos Obligatorios.", @"Atención", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return(false);
            }
            /////////////////
            ///COMPROBANTE///
            /////////////////
            ///
            long clienteId   = _clienteServicio.ObtenerClientePorDni("99999999").Id;
            long proveedorId = _proveedorServicio.ObtenerRazonSocial(txtRazonSocial.Text).Id;

            ComprobanteCompraDTO comprobante = new ComprobanteCompraDTO
            {
                Fecha       = DateTime.Now,
                ProveedorId = proveedorId,
                UsuarioId   = DatosSistema.UsuarioId,
                ClienteId   = clienteId,
                Descuento   = nudDescuento.Value,

                Items = detalles.Values.ToList()
            };

            long comprobante_id;

            comprobante_id = _comprobanteServicio.GenerarComprobanteCompra(comprobante);

            DetalleCajaDTO detalleCaja = new DetalleCajaDTO
            {
                CajaId   = DatosSistema.CajaId,
                Monto    = comprobante.Total,
                TipoPago = TipoPago.Efectivo
            };

            _detalleCajaServicio.Generar(detalleCaja);

            //////////////
            //Movimiento//
            //////////////
            MovimientoDTO movimiento = new MovimientoDTO
            {
                CajaID        = DatosSistema.CajaId,
                ComprobanteID = comprobante_id,
                Tipo          = TipoMovimiento.Egreso,
                UsuarioID     = DatosSistema.UsuarioId,
                Monto         = comprobante.Total,
                Fecha         = DateTime.Now,
            };

            _movimientoServicio.GenerarMovimiento(movimiento);


            Close();

            return(true);
        }
Пример #4
0
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            Bandera    = true;
            Diferencia = Convert.ToDecimal(txtAgregarSaldo.Text);
            _clienteServicio.AgregarSaldoCtaCte(cliente.Id, Diferencia);
            Contador = 1;
            obtenerCliente(cliente.Id);


            DetalleCajaDTO detalleCaja = new DetalleCajaDTO
            {
                CajaId   = DatosSistema.CajaId,
                Monto    = Diferencia,
                TipoPago = TipoPago.Efectivo
            };

            _detalleCajaServicio.Generar(detalleCaja);
        }
        private void btnAbrirCaja_Click(object sender, EventArgs e)
        {
            var caja = new CajaDto
            {
                MontoApertura     = nudMonto.Value,
                UsuarioAperturaId = Entidad.UsuarioId,
                MontoCierre       = 0,
                UsuarioCierreId   = 0
            };

            Entidad.CajaId      = _cajaServicio.Abrir(caja);
            Entidad.CajaAbierta = true;
            if (nudMonto.Value > 0)
            {
                _detalleCajaServicio.Generar(nudMonto.Value, TipoPago.Efectivo);
            }
            this.Close();
        }
        protected override void FinalizacionDelPago(string primerPago, string segundoPago, Panel pnlPago1, Panel pnlPago2)
        {
            base.FinalizacionDelPago(primerPago, segundoPago, pnlPago1, pnlPago2);
            if (!primerPago.Equals(""))
            {
                _pago1 = ((NumericUpDown)pnlPago1.Controls["nudMonto"]).Value;
                switch (primerPago)
                {
                case "efectivo":
                    _pago1   = ((NumericUpDown)pnlPago1.Controls["nudMonto"]).Value - _vuelto;
                    _vuelto -= _vuelto;
                    _detalleCajaServicio.Generar(_pago1, TipoPago.Efectivo);
                    _formaPagoServicio.Agregar(new FormaPagoEfectivoDto
                    {
                        TipoFormaPago = TipoFormaPago.Efectivo,
                        Monto         = _pago1,
                        ComprobanteId = _comprobante.Id
                    });
                    _comprobante.MontoEfectivo += _pago1;
                    break;

                case "tarjeta":
                    _detalleCajaServicio.Generar(_pago1, TipoPago.Tarjeta);
                    _formaPagoServicio.Agregar(new FormaPagoTarjetaDto
                    {
                        TipoFormaPago = TipoFormaPago.Tarjeta,
                        ComprobanteId = _comprobante.Id,
                        Monto         = _pago1,
                        NumeroTarjeta = ((TextBox)pnlPago1.Controls["txtNumeroTarjeta"]).Text,
                        PlanTarjetaId = ((PlanTarjetaDto)((ComboBox)pnlPago1.Controls["cmbPlanDeTarjeta"]).SelectedItem).Id,
                        Numero        = ((TextBox)pnlPago1.Controls["txtCodigo"]).Text,
                        Cupon         = ""
                    });
                    _comprobante.MontoTarjeta += _pago1;
                    break;

                case "cuenta corriente":
                    _detalleCajaServicio.Generar(_pago1, TipoPago.CtaCte);
                    _formaPagoServicio.Agregar(new FormaPagoCtaCteDto
                    {
                        TipoFormaPago = TipoFormaPago.CuentaCorriente,
                        Monto         = _pago1,
                        ComprobanteId = _comprobante.Id,
                        ClienteId     = _clienteId
                    });
                    _comprobante.MontoCtaCte += _pago1;
                    break;
                }
            }
            if (!segundoPago.Equals(""))
            {
                _pago2 = ((NumericUpDown)pnlPago2.Controls["nudMonto"]).Value;
                switch (segundoPago)
                {
                case "efectivo":
                    _pago2   = ((NumericUpDown)pnlPago2.Controls["nudMonto"]).Value - _vuelto;
                    _vuelto -= _vuelto;
                    _detalleCajaServicio.Generar(_pago2, TipoPago.Efectivo);
                    _formaPagoServicio.Agregar(new FormaPagoEfectivoDto
                    {
                        TipoFormaPago = TipoFormaPago.Efectivo,
                        Monto         = _pago2,
                        ComprobanteId = _comprobante.Id
                    });
                    _comprobante.MontoEfectivo += _pago2;
                    break;

                case "tarjeta":
                    _formaPagoServicio.Agregar(new FormaPagoTarjetaDto
                    {
                        TipoFormaPago = TipoFormaPago.Tarjeta,
                        ComprobanteId = _comprobante.Id,
                        Monto         = _pago2,
                        NumeroTarjeta = ((TextBox)pnlPago2.Controls["txtNumeroTarjeta"]).Text,
                        PlanTarjetaId = ((PlanTarjetaDto)((ComboBox)pnlPago2.Controls["cmbPlanDeTarjeta"]).SelectedItem).Id,
                        Numero        = ((TextBox)pnlPago2.Controls["txtCodigo"]).Text,
                        Cupon         = ""
                    });
                    _comprobante.MontoTarjeta += _pago2;
                    break;

                case "cuenta corriente":
                    _formaPagoServicio.Agregar(new FormaPagoCtaCteDto
                    {
                        TipoFormaPago = TipoFormaPago.CuentaCorriente,
                        Monto         = _pago2,
                        ComprobanteId = _comprobante.Id,
                        ClienteId     = _clienteId
                    });
                    _comprobante.MontoCtaCte += _pago2;
                    break;
                }
            }
            Realizo = true;
            _comprobante.TipoComprobante = _tipoComprobante;
            _deliveryServicio.Entregar(_comprobante);
            if (MessageBox.Show("¿Desea imprimir el comprobante?", "Imprimir", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                var fComprobante = new Core.Delivery.ComprobanteEnvio(_comprobante.Id);
                fComprobante.ShowDialog();
            }
            Notificacion.NotificacionCorrecta.MensajeSatisfactorio("Compra satisfactoria");
            this.Close();
        }
        private void cerrarLaMesa(long mesaId, int numeroMesa)
        {
            bool desea_imprimir = true;

            if (rdbCheque.Checked)
            {
                _tfPAgo = TipoFormaPago.Cheque;
            }
            if (rdbEfectivo.Checked)
            {
                _tfPAgo = TipoFormaPago.Efectivo;
                _tPago  = TipoPago.Efectivo;
            }
            if (rdbTarjeta.Checked)
            {
                _tfPAgo = TipoFormaPago.Tarjeta;
                _tPago  = TipoPago.Tarjeta;
            }
            if (rdbCtaCte.Checked)
            {
                _tfPAgo = TipoFormaPago.CuentaCorriente;
                _tPago  = TipoPago.CtaCte;
            }

            var comprobanteMesaDto = _comprobanteSalonServicio.Obtener(mesaId);


            if (nudTotal.Value > 0)
            {
                if (_tfPAgo == TipoFormaPago.CuentaCorriente)
                {
                    bool puede_continuar = _clienteServicio.DescontarDeCuenta(idCliente, comprobanteMesaDto.Total);
                    if (!puede_continuar)
                    {
                        MessageBox.Show("La cuenta del cliente no tiene suficiente saldo");
                        return;
                    }
                }
                else
                {
                    if (_tfPAgo == TipoFormaPago.Cheque)
                    {
                        FormaPagoChequeDTO fp = new FormaPagoChequeDTO
                        {
                            TipoFormaPago = TipoFormaPago.Cheque,
                            Monto         = nudTotal.Value,
                            ComprobanteId = idComprobante,
                            BancoId       = ((BancoDTO)cbBanco.SelectedItem).Id,
                            Dias          = (int)nudDiasCheque.Value,
                            EnteEmisor    = txtEnteCheque.Text,
                            FechaEmision  = dtFechaCheque.Value,
                            Numero        = txtNumeroCheque.Text,
                        };

                        _formaPagoServicio.Generar(fp);
                    }
                    else
                    {
                        if (_tfPAgo == TipoFormaPago.Tarjeta)
                        {
                            FormaPagoTarjetaDTO fp = new FormaPagoTarjetaDTO
                            {
                                TipoFormaPago = TipoFormaPago.Tarjeta,
                                Monto         = nudTotal.Value,
                                ComprobanteId = idComprobante,
                                Numero        = txtNumeroTarjeta.Text,
                                Cupon         = "", //
                                PlanTarjetaId = ((PlanTarjetaDTO)cbPlan.SelectedItem).Id,
                                NumeroTarjeta = txtClaveTarjeta.Text
                            };

                            _formaPagoServicio.Generar(fp);
                        }
                    }
                }
                _comprobanteSalonServicio.FacturarComprobanteSalon(mesaId, comprobanteMesaDto);

                MovimientoDTO movimiento = new MovimientoDTO
                {
                    CajaID        = DatosSistema.CajaId,
                    ComprobanteID = comprobanteMesaDto.ComprobanteId,
                    Tipo          = TipoMovimiento.Ingreso,
                    UsuarioID     = DatosSistema.UsuarioId,
                    Monto         = nudTotal.Value,
                    Fecha         = DateTime.Now,
                };

                _movimientoServicio.GenerarMovimiento(movimiento);

                DetalleCajaDTO detalleCaja = new DetalleCajaDTO
                {
                    CajaId   = DatosSistema.CajaId,
                    Monto    = nudTotal.Value,
                    TipoPago = _tPago
                };
                _detalleCajaServicio.Generar(detalleCaja);
            }
            else
            {
                _comprobanteSalonServicio.Eliminar(comprobanteMesaDto.ComprobanteId);
                desea_imprimir = false;
            }

            var mesaParaCerrar = _mesaServicio.ObtenerPorId(mesaId);

            mesaParaCerrar.estadoMesa = EstadoMesa.Cerrada;
            _mesaServicio.Modificar(mesaParaCerrar);



            if (desea_imprimir)
            {
                const string message = "Desea imprimir/ver comprobante?";
                const string caption = "Comprobante";
                var          result  = MessageBox.Show(message, caption,
                                                       MessageBoxButtons.YesNo,
                                                       MessageBoxIcon.Question);

                if (result == DialogResult.Yes)
                {
                    var f = new FormularioComprobante(comprobanteMesaDto.ComprobanteId);
                    f.ShowDialog();
                }
            }
            this.Close();
        }
Пример #8
0
        private long?Facturar()
        {
            if (!VerificarDatosObligatorios())
            {
                MessageBox.Show("Error, complete los datos", "Error");
                return(null);
            }

            if (rbCtaCte.Checked)
            {
                bool puede_continuar = _clienteServicio.DescontarDeCuenta(idCliente, nudTotal.Value);
                if (!puede_continuar)
                {
                    MessageBox.Show("La cuenta del cliente no tiene suficiente saldo", "Adverencia");
                    return(null);
                }
            }

            /////////////////
            ///COMPROBANTE///
            /////////////////
            ComprobanteDTO comprobante = new ComprobanteDTO
            {
                Fecha     = DateTime.Now,
                UsuarioId = DatosSistema.UsuarioId,
                ClienteId = rbCtaCte.Checked ? idCliente : consumidorFinalId,
                Descuento = nudDescuento.Value,
                Items     = detalles.Values.ToList()
            };

            long comprobante_id;

            if (delivery)
            {
                comprobante_id = _comprobanteServicio.GenerarComprobanteDelivery(comprobante);
            }
            else
            {
                comprobante_id = _comprobanteServicio.Generar(comprobante);
            }

            ////////////////
            //Detalle Caja//
            ////////////////
            var formaDePago = TipoPago.Efectivo;

            if (rbCtaCte.Checked)
            {
                formaDePago = TipoPago.CtaCte;
            }
            if (rbTarjeta.Checked)
            {
                formaDePago = TipoPago.Tarjeta;
            }
            //Tipo pago propiedad de detalle caja no tiene cheque
            //asi que si es cheque no generamos detalle caja
            if (!rbCheque.Checked)
            {
                DetalleCajaDTO detalleCaja = new DetalleCajaDTO
                {
                    CajaId   = DatosSistema.CajaId,
                    Monto    = comprobante.Total,
                    TipoPago = formaDePago
                };
                _detalleCajaServicio.Generar(detalleCaja);
            }

            ////////////////
            ///FORMA PAGO///
            ////////////////

            if (rbEfectivo.Checked)
            {
                FormaPagoEfectivoDTO fp = new FormaPagoEfectivoDTO
                {
                    TipoFormaPago = TipoFormaPago.Efectivo,
                    Monto         = nudTotal.Value,
                    ComprobanteId = comprobante_id,
                };
                _formaPagoServicio.Generar(fp);
            }

            if (rbCtaCte.Checked)
            {
                //parte descontar cuenta ya está al principio
                FormaPagoCtaCteDTO fp = new FormaPagoCtaCteDTO
                {
                    TipoFormaPago = TipoFormaPago.CuentaCorriente,
                    Monto         = nudTotal.Value,
                    ComprobanteId = comprobante_id,
                    ClienteId     = idCliente,
                };
                _formaPagoServicio.Generar(fp);
            }

            if (rbCheque.Checked)
            {
                FormaPagoChequeDTO fp = new FormaPagoChequeDTO
                {
                    TipoFormaPago = TipoFormaPago.Cheque,
                    Monto         = nudTotal.Value,
                    ComprobanteId = comprobante_id,
                    BancoId       = ((BancoDTO)cbBanco.SelectedItem).Id,
                    Dias          = (int)nudDiasCheque.Value,
                    EnteEmisor    = txtEnteCheque.Text,
                    FechaEmision  = dtFechaCheque.Value,
                    Numero        = txtNumeroCheque.Text,
                };

                _formaPagoServicio.Generar(fp);
            }

            if (rbTarjeta.Checked)
            {
                FormaPagoTarjetaDTO fp = new FormaPagoTarjetaDTO
                {
                    TipoFormaPago = TipoFormaPago.Tarjeta,
                    Monto         = nudTotal.Value,
                    ComprobanteId = comprobante_id,
                    Numero        = txtNumeroTarjeta.Text,
                    Cupon         = "", //TODO ????
                    PlanTarjetaId = ((PlanTarjetaDTO)cbPlan.SelectedItem).Id,
                    NumeroTarjeta = txtClaveTarjeta.Text
                };

                _formaPagoServicio.Generar(fp);
            }

            //////////////
            //Movimiento//
            //////////////
            MovimientoDTO movimiento = new MovimientoDTO
            {
                CajaID        = DatosSistema.CajaId,
                ComprobanteID = comprobante_id,
                Tipo          = TipoMovimiento.Ingreso,
                UsuarioID     = DatosSistema.UsuarioId,
                Monto         = comprobante.Total,
                Fecha         = DateTime.Now,
            };

            _movimientoServicio.GenerarMovimiento(movimiento);

            foreach (var d in detalles)
            {
                //todo:producto tendria que tener si descuenta stock o no...
                _articuloServicio.DescontarStock(d.Value.ProductoId, d.Value.CantidadProducto);
            }

            MessageBox.Show("Factura exitosa.", delivery ? "Delivery" : "Kiosco");

            return((long?)comprobante_id);
            //Close();
        }
Пример #9
0
        protected override void FinalizacionDelPago(string primerPago, string segundoPago, Panel pnlPago1, Panel pnlPago2)
        {
            base.FinalizacionDelPago(primerPago, segundoPago, pnlPago1, pnlPago2);
            if (!primerPago.Equals(""))
            {
                _pago1 = ((NumericUpDown)pnlPago1.Controls["nudMonto"]).Value;
                switch (primerPago)
                {
                case "efectivo":
                    _pago1   = ((NumericUpDown)pnlPago1.Controls["nudMonto"]).Value - _vuelto;
                    _vuelto -= _vuelto;
                    _detalleCajaServicio.Generar(_pago1, TipoPago.Efectivo);
                    _formaPagoServicio.Agregar(new FormaPagoEfectivoDto
                    {
                        TipoFormaPago = TipoFormaPago.Efectivo,
                        Monto         = _pago1,
                        ComprobanteId = _comprobante.Id
                    });
                    _comprobante.MontoEfectivo += _pago1;
                    break;

                case "tarjeta":
                    _detalleCajaServicio.Generar(_pago1, TipoPago.Tarjeta);
                    _formaPagoServicio.Agregar(new FormaPagoTarjetaDto
                    {
                        TipoFormaPago = TipoFormaPago.Tarjeta,
                        ComprobanteId = _comprobante.Id,
                        Monto         = _pago1,
                        NumeroTarjeta = ((TextBox)pnlPago1.Controls["txtNumeroTarjeta"]).Text,
                        PlanTarjetaId = ((PlanTarjetaDto)((ComboBox)pnlPago1.Controls["cmbPlanDeTarjeta"]).SelectedItem).Id,
                        Numero        = ((TextBox)pnlPago1.Controls["txtCodigo"]).Text,
                        Cupon         = ""
                    });
                    _comprobante.MontoTarjeta += _pago1;
                    break;

                case "cheque":
                    _detalleCajaServicio.Generar(_pago1, TipoPago.Cheque);
                    _formaPagoServicio.Agregar(new FormaPagoChequeDto
                    {
                        TipoFormaPago = TipoFormaPago.Cheque,
                        ComprobanteId = _comprobante.Id,
                        Monto         = _pago1,
                        BancoId       = _bancoId,
                        Dias          = (int)((NumericUpDown)pnlPago1.Controls["nudMonto"]).Value,
                        EnteEmisor    = ((TextBox)pnlPago1.Controls["txtEnteEmisorCheque"]).Text,
                        FechaEmision  = ((DateTimePicker)pnlPago1.Controls["dtpFechaCheque"]).Value,
                        Numero        = ((TextBox)pnlPago1.Controls["txtNumeroCheque"]).Text,
                        EstadoCheque  = EstadoCheque.SinCobrar
                    });
                    _comprobante.MontoCheque += _pago1;
                    break;

                case "cuenta corriente":
                    _detalleCajaServicio.Generar(_pago1, TipoPago.CtaCte);
                    _cuentaCorrienteServicio.Vender(_clienteId, _comprobante.Total);
                    _operacionServicio.Agregar(new OperacionDto
                    {
                        TipoOperacion     = TipoOperacion.Venta,
                        ComprobanteId     = _comprobante.Id,
                        Fecha             = DateTime.Now,
                        Monto             = _pago1,
                        CuentaCorrienteId = _cuentaCorrienteServicio.ObtenerCorrientePorClienteId(_clienteId).Id
                    });
                    _formaPagoServicio.Agregar(new FormaPagoCtaCteDto
                    {
                        TipoFormaPago = TipoFormaPago.CuentaCorriente,
                        Monto         = _pago1,
                        ComprobanteId = _comprobante.Id,
                        ClienteId     = _clienteId
                    });
                    _comprobante.MontoCtaCte += _pago1;
                    break;
                }
            }
            if (!segundoPago.Equals(""))
            {
                _pago2 = ((NumericUpDown)pnlPago2.Controls["nudMonto"]).Value;
                switch (segundoPago)
                {
                case "efectivo":
                    _pago2   = ((NumericUpDown)pnlPago2.Controls["nudMonto"]).Value - _vuelto;
                    _vuelto -= _vuelto;
                    _detalleCajaServicio.Generar(_pago2, TipoPago.Efectivo);
                    _formaPagoServicio.Agregar(new FormaPagoEfectivoDto
                    {
                        TipoFormaPago = TipoFormaPago.Efectivo,
                        Monto         = _pago2,
                        ComprobanteId = _comprobante.Id
                    });
                    _comprobante.MontoEfectivo += _pago2;
                    break;

                case "tarjeta":
                    _formaPagoServicio.Agregar(new FormaPagoTarjetaDto
                    {
                        TipoFormaPago = TipoFormaPago.Tarjeta,
                        ComprobanteId = _comprobante.Id,
                        Monto         = _pago2,
                        NumeroTarjeta = ((TextBox)pnlPago2.Controls["txtNumeroTarjeta"]).Text,
                        PlanTarjetaId = ((PlanTarjetaDto)((ComboBox)pnlPago2.Controls["cmbPlanDeTarjeta"]).SelectedItem).Id,
                        Numero        = ((TextBox)pnlPago2.Controls["txtCodigo"]).Text,
                        Cupon         = ""
                    });
                    _comprobante.MontoTarjeta += _pago2;
                    break;

                case "cheque":
                    _formaPagoServicio.Agregar(new FormaPagoChequeDto
                    {
                        TipoFormaPago = TipoFormaPago.Cheque,
                        ComprobanteId = _comprobante.Id,
                        Monto         = _pago2,
                        BancoId       = _bancoId,
                        Dias          = (int)((NumericUpDown)pnlPago2.Controls["nudMonto"]).Value,
                        EnteEmisor    = ((TextBox)pnlPago2.Controls["txtEnteEmisorCheque"]).Text,
                        FechaEmision  = ((DateTimePicker)pnlPago2.Controls["dtpFechaCheque"]).Value,
                        Numero        = ((TextBox)pnlPago2.Controls["txtNumeroCheque"]).Text,
                        EstadoCheque  = EstadoCheque.SinCobrar
                    });
                    _comprobante.MontoCheque += _pago2;
                    break;

                case "cuenta corriente":
                    _detalleCajaServicio.Generar(_pago2, TipoPago.CtaCte);
                    _cuentaCorrienteServicio.Vender(_clienteId, _comprobante.Total);
                    _operacionServicio.Agregar(new OperacionDto
                    {
                        TipoOperacion     = TipoOperacion.Venta,
                        ComprobanteId     = _comprobante.Id,
                        Fecha             = DateTime.Now,
                        Monto             = _pago2,
                        CuentaCorrienteId = _cuentaCorrienteServicio.ObtenerCorrientePorClienteId(_clienteId).Id
                    });
                    _formaPagoServicio.Agregar(new FormaPagoCtaCteDto
                    {
                        TipoFormaPago = TipoFormaPago.CuentaCorriente,
                        Monto         = _pago2,
                        ComprobanteId = _comprobante.Id,
                        ClienteId     = _clienteId
                    });
                    _comprobante.MontoCtaCte += _pago2;
                    break;
                }
            }
            Realizo = true;
            _comprobante.TipoComprobante = _tipoComprobante;
            _comprobanteMesaServicio.CerrarMesa(_comprobante, _tipoComprobante);
            if (MessageBox.Show("¿Desea imprimir el comprobante?", "Imprimir", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                var comprobanteSalon = new VentasSalon.ComprobanteSalon(_comprobante.Id);
                comprobanteSalon.ShowDialog();
            }
            Entidad.VentasHoy = _movimientoServicio.ObtenerVentasHoy();
            Notificacion.NotificacionCorrecta.MensajeSatisfactorio("Compra satisfactoria");
            this.Close();
        }