예제 #1
0
        private void btnPagar_Click(object sender, EventArgs e)
        {
            var TotalAPagar = _factura.Total - _factura.TotalAbonado;

            var facturaId = _factura.Id;

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

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

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

                    _facturServicio.ModificarEstado(facturaId, TotalAPagar);

                    _clienteServicio.RestarPagoActual(_clienteId, TotalAPagar);

                    _cliente = _clienteServicio.obtenerPorId(_clienteId);

                    if (_cliente.DeudaTotal < 1000m)
                    {
                        _clienteServicio.ActivarParaCompras(_clienteId);
                    }

                    RealizoAlgunaOperacion = true;

                    var form = new _Cliente_CtaCte_EmisionFactura(_factura, TotalAPagar, decimal.Parse(txtEfectivo.Text), vuelto).ShowDialog();

                    Close();
                }

                else
                {
                    _movimientoServicio.EmitirMovimiento(_clienteId, decimal.Parse(txtEfectivo.Text), TipoMovimiento.Ingreso, facturaId, null);

                    _facturServicio.ModificarEstado(facturaId, decimal.Parse(txtEfectivo.Text));

                    _clienteServicio.RestarPagoActual(_clienteId, decimal.Parse(txtEfectivo.Text.Trim()));

                    _cliente = _clienteServicio.obtenerPorId(_clienteId);

                    if (_cliente.DeudaTotal < 1000m)
                    {
                        _clienteServicio.ActivarParaCompras(_clienteId);
                    }

                    RealizoAlgunaOperacion = true;

                    var form = new _Cliente_CtaCte_EmisionFactura(_factura, decimal.Parse(txtEfectivo.Text), decimal.Parse(txtEfectivo.Text), 0m).ShowDialog();

                    Close();
                }
            }
        }