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