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"); } }
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); }
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(); }
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(); }
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(); }