Ejemplo n.º 1
0
        public async Task EnviarNota(NotaFiscalModel NotaFiscal, Modelo _modelo, IClosable closable)
        {
            if (!NotaFiscal.NaturezaOperacao.Equals("Venda"))
            {
                NotaFiscal.Pagamentos = new ObservableCollection <PagamentoVO>()
                {
                    new PagamentoVO()
                    {
                        FormaPagamento = "Sem Pagamento"
                    }
                };
            }

            NotaFiscal.ValidateModel();

            if (NotaFiscal.HasErrors)
            {
                return;
            }

            BusyContent = "Enviando...";
            IsBusy      = true;

            try
            {
                var notaFiscal = await _enviarNotaController.EnviarNota(NotaFiscal, _modelo);

                IsBusy = false;
                bool result = await _dialogService.ShowMessage("Nota enviada com sucesso! Deseja imprimi-la?", "Emissão NFe", "Sim", "Não", null);

                if (result)
                {
                    BusyContent = "Gerando impressão...";
                    IsBusy      = true;
                    await _enviarNotaController.ImprimirNotaFiscal(notaFiscal);
                }
            }
            catch (ArgumentException e)
            {
                log.Error(e);
                await _dialogService.ShowError("Ocorreram os seguintes erros ao tentar enviar a nota fiscal:\n\n" + e.InnerException.Message, "Erro", "Ok", null);
            }
            catch (Exception e)
            {
                log.Error(e);
                await _dialogService.ShowError("Ocorreram os seguintes erros ao tentar enviar a nota fiscal:\n\n" + e.InnerException.Message, "Erro", "Ok", null);
            }
            finally
            {
                IsBusy = false;
                closable.Close();
            }
        }
Ejemplo n.º 2
0
        public async Task EnviarNota(NotaFiscalModel NotaFiscal, Modelo _modelo, IClosable closable)
        {
            NotaFiscal.ValidateModel();

            if (NotaFiscal.HasErrors)
            {
                return;
            }

            BusyContent = "Enviando...";
            IsBusy      = true;
            try
            {
                var notaFiscal = await _enviarNotaController.EnviarNota(NotaFiscal, _modelo);

                IsBusy = false;
                var result = await _dialogService.ShowMessage("Nota enviada com sucesso! Deseja imprimi-la?", "Emissão NFe", "Sim", "Não", null);

                if (result)
                {
                    BusyContent = "Gerando impressão...";
                    IsBusy      = true;
                    await _enviarNotaController.ImprimirNotaFiscal(notaFiscal);
                }
            }
            catch (ArgumentException e)
            {
                log.Error(e);
                var erro = e.Message + "\n" + e.InnerException?.Message;
                await _dialogService.ShowError("Ocorreram os seguintes erros ao tentar enviar a nota fiscal:\n\n" + erro, "Erro", "Ok", null);
            }
            catch (Exception e)
            {
                log.Error(e);
                var erro = e.Message + "\n" + e.InnerException?.Message;
                await _dialogService.ShowError("Ocorreram os seguintes erros ao tentar enviar a nota fiscal:\n\n" + erro, "Erro", "Ok", null);
            }
            finally
            {
                IsBusy = false;
                closable.Close();
            }
        }