예제 #1
0
        private void btnPagar_Click(object sender, EventArgs e)
        {
            var MontoDispinobleCtaCte = _cliente.MontoMaximoCtaCte;

            if (MontoDispinobleCtaCte >= totalAPagar)
            {
                var ctacteId = _CtaCteServicio.ObtenerCuentaCorrientePorClienteId(_cliente.Id).Id;

                _clienteServicio.ModificarMontoCtaCte(totalAPagar, _cliente.Id);

                _facturaServicio.EmitirFactura(_cliente.Id, totalAPagar, _comprobante.MozoId, ctacteId, _comprobante.Id, 0m);

                _comprobanteSalon.Cerrar(_comprobante.Id);

                _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Facturada);

                _clienteServicio.ClienteDesocupado(_comprobante.ClienteId);

                _clienteServicio.AgregarGastoActual(_cliente.Id, totalAPagar);

                _realizoAlgunaOperacion = true;

                var form = new _104_EmisionFactura_CtaCte(_cliente.Id, _comprobante).ShowDialog();

                Close();
            }

            else
            {
                Mensaje.Mostrar("No se puede emitir la factura por fondos insuficientes de la Cuenta Corriente", Mensaje.Tipo.Stop);

                Close();
            }
        }
예제 #2
0
        private void cerrarMesaToolStripMenuItem_Click(object sender, System.EventArgs e)
        {
            switch (_estado)
            {
            case EstadoMesa.Ocupada:

                var comprob = _comprobanteSalon.ObtenerComprobantePorMesaSinFacturar(_id);

                if (comprob.Estado == EstadoSalon.Pendiente)
                {
                    Mensaje.Mostrar("La mesa elegida no ha sido facturada, no se puede cerrar.", Mensaje.Tipo.Stop);
                }

                break;

            case EstadoMesa.Reservada:

                if (Mensaje.Mostrar(@"Está seguro de querer cancelar la reserva?", Mensaje.Tipo.Pregunta) == System.Windows.Forms.DialogResult.Yes)

                {
                    var clienteId = _reservaServicio.obtenerPorMesa(_id).CLienteId;

                    _reservaServicio.Cancelar(_id);

                    _mesaServicio.CambiarEstado(_id, EstadoMesa.Libre);
                    EstadoMesa = EstadoMesa.Libre;
                    Total      = 0m;

                    _clienteServicio.ClienteDesocupado(clienteId);
                }


                break;

            case EstadoMesa.Facturada:

                _mesaServicio.CambiarEstado(_id, EstadoMesa.Libre);
                EstadoMesa = EstadoMesa.Libre;
                Total      = 0m;

                break;
            }
        }
예제 #3
0
        private void btnCancelar_Click(object sender, EventArgs e)
        {
            if (_ventaSeleccionada == null)
            {
                Mensaje.Mostrar("Se debe seleccionar una venta de la grilla para poder continuar", Mensaje.Tipo.Informacion);
            }

            else
            {
                if (Mensaje.Mostrar(@"Seguro desea cancelar la venta seleccionada?", Mensaje.Tipo.Pregunta) == System.Windows.Forms.DialogResult.Yes)
                {
                    var listaProductos          = _productoServicio.ObtenerPorFiltro(string.Empty);
                    var listaProductosEnLaVenta = new List <ProductoDto>();

                    foreach (var item in _ventaSeleccionada.ComprobanteDeliveryDetalletos)
                    {
                        var producto = new ProductoDto()
                        {
                            Id          = item.ProductoId,
                            Descripcion = item.Descripcion,
                            Stock       = item.Cantidad
                        };

                        listaProductosEnLaVenta.Add(producto);
                    }

                    foreach (var item in listaProductosEnLaVenta)
                    {
                        foreach (var item2 in listaProductos)
                        {
                            if (item.Id == item2.Id)
                            {
                                _productoServicio.AumentarStockPorCancelarVenta(item2, item.Stock);
                            }
                        }
                    }

                    _clienteServicio.ClienteDesocupado(_ventaSeleccionada.ClienteId);

                    _comprobanteDelivery.Eliminar(_ventaSeleccionada.ClienteId);

                    ActualizarDatos(string.Empty);
                }
            }
        }
예제 #4
0
        private void btnPagar_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtEfectivo.Text))
            {
                Mensaje.Mostrar("Ingrese un valor en el campo efectivo.", Mensaje.Tipo.Informacion);

                txtEfectivo.Focus();
            }

            else
            {
                if (decimal.Parse(txtEfectivo.Text) >= totalAPagar)
                {
                    var vuelto = decimal.Parse(txtEfectivo.Text) - totalAPagar;

                    _facturaServicio.EmitirFactura(_comprobante.ClienteId, totalAPagar, _comprobante.MozoId, null, _comprobante.Id, totalAPagar);

                    var facturaId = _facturaServicio.ObtenerUltimaFacturaEmitida().Id;

                    _movimientoServicio.EmitirMovimiento(_comprobante.ClienteId, totalAPagar, TipoMovimiento.Ingreso, facturaId, null);

                    _comprobanteSalon.Cerrar(_comprobante.Id);

                    _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Facturada);

                    _clienteServicio.ClienteDesocupado(_comprobante.ClienteId);

                    _realizoAlgunaOperacion = true;

                    var form = new _105_EmisionFactura_Efectivo(decimal.Parse(txtEfectivo.Text), vuelto, _comprobante).ShowDialog();

                    Close();
                }

                else
                {
                    Mensaje.Mostrar("No se puede abonar la factura por fondos insuficientes.", Mensaje.Tipo.Stop);

                    txtEfectivo.Clear();
                    txtEfectivo.Focus();
                }
            }
        }
예제 #5
0
        private void btnPagar_Click(object sender, EventArgs e)
        {
            var TotalAPagar = _comprobante.Total;

            if (string.IsNullOrEmpty(txtEfectivo.Text))
            {
                Mensaje.Mostrar("Ingrese un valor en el campo efectivo.", Mensaje.Tipo.Informacion);
                txtEfectivo.Focus();
            }

            else
            {
                if (decimal.Parse(txtEfectivo.Text.Trim()) >= TotalAPagar)
                {
                    var vuelto = decimal.Parse(txtEfectivo.Text) - TotalAPagar;

                    _facturaServicio.EmitirFactura(_comprobante.ClienteId, _comprobante.Total, _comprobante.CadeteId, null, _comprobante.Id, _comprobante.Total);

                    var facturaId = _facturaServicio.ObtenerUltimaFacturaEmitida().Id;

                    _movimientoServicio.EmitirMovimiento(_comprobante.ClienteId, TotalAPagar, TipoMovimiento.Ingreso, facturaId, null);

                    _comprobanteDelivery.Cerrar(_comprobante.Id);

                    _clienteServicio.ClienteDesocupado(_comprobante.ClienteId);

                    RealizoAlgunaOperacion = true;

                    var form = new _0070_EmisionFactura_Efectivo_Delivery(decimal.Parse(txtEfectivo.Text), vuelto, _comprobante).ShowDialog();

                    Close();
                }

                else
                {
                    Mensaje.Mostrar("No se puede abonar la factura por fondos insuficientes.", Mensaje.Tipo.Informacion);

                    txtEfectivo.Clear();
                    txtEfectivo.Focus();
                }
            }
        }
예제 #6
0
        private void btnPagar_Click(object sender, EventArgs e)
        {
            var TotalAPagar = _comprobante.Total;

            var MontoDispinobleCtaCte = _cliente.MontoMaximoCtaCte;

            if (MontoDispinobleCtaCte >= TotalAPagar)
            {
                var TotalPagar = _comprobante.Total;

                var ctacteId = _CtaCteServicio.ObtenerCuentaCorrientePorClienteId(_cliente.Id).Id;

                _clienteServicio.ModificarMontoCtaCte(TotalPagar, _cliente.Id);

                _facturaServicio.EmitirFactura(_cliente.Id, TotalAPagar, _comprobante.CadeteId, ctacteId, _comprobante.Id, 0m);

                _comprobanteDelivery.Cerrar(_comprobante.Id);

                _clienteServicio.ClienteDesocupado(_comprobante.ClienteId);

                _clienteServicio.AgregarGastoActual(_cliente.Id, TotalAPagar);

                RealizoAlgunaOperacion = true;

                var form = new _0060_EmisionFactura_CtaCte_Delivery(_cliente.Id, _comprobante).ShowDialog();

                Close();
            }

            else
            {
                MessageBox.Show(@"No se puede emitir la factura por fondos insuficientes de la Cuenta Corriente", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);

                Close();
            }
        }