public async Task NFCeShouldBeSentTest() { //Arrange Mock <ISplashScreenService> splashMock = new Mock <ISplashScreenService>(); Mock <IDialogService> dialogMock = new Mock <IDialogService>(); Mock <IClosable> closableMock = new Mock <IClosable>(); Mock <INotaFiscalService> notaFiscalServiceMock = new Mock <INotaFiscalService>(); notaFiscalServiceMock.Setup(m => m.EnviarNotaFiscalAsync(It.IsAny <NotaFiscal>(), It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(0); _splashScreenService = splashMock.Object; _dialogService = dialogMock.Object; _notaFiscalService = notaFiscalServiceMock.Object; _enviarNotaController = new EnviarNotaController(_splashScreenService, _dialogService, _notaFiscalService); var viewModel = new NFCeViewModel(new DestinatarioViewModel(), _splashScreenService, _dialogService, _enviarNotaController); viewModel.LoadedCmd.Execute(null); viewModel.Produto.QtdeProduto = 1; viewModel.Produto.ProdutoSelecionado = viewModel.ProdutosCombo[0]; viewModel.AdicionarProdutoCmd.Execute(null); viewModel.GerarPagtoCmd.Execute(null); //Act await viewModel.EnviarNotaCmd.ExecuteAsync(closableMock.Object); //Assert notaFiscalServiceMock.Verify(n => n.EnviarNotaFiscalAsync(It.IsAny <NotaFiscal>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); closableMock.Verify(c => c.Close(), Times.Once); }
public NFCeViewModel(DestinatarioViewModel destinatarioViewModel, IDialogService dialogService, IEnviarNota enviarNotaController, INaturezaOperacaoService naturezaOperacaoService, IConfiguracaoService configuracaoService, IProdutoService produtoService, IDestinatarioService destinatarioService) { Pagamento = new PagamentoVO(); Produto = new ProdutoVO(); DestinatarioParaSalvar = new DestinatarioModel(); TransportadoraParaSalvar = new TransportadoraModel(); Destinatarios = new ObservableCollection <DestinatarioModel>(); Transportadoras = new ObservableCollection <TransportadoraModel>(); ProdutosCombo = new ObservableCollection <ProdutoEntity>(); AdicionarProdutoCmd = new RelayCommand <object>(AdicionarProdutoCmd_Execute, null); GerarPagtoCmd = new RelayCommand <object>(GerarPagtoCmd_Execute, null); EnviarNotaCmd = new RelayCommand <IClosable>(EnviarNotaCmd_Execute); LoadedCmd = new RelayCommand <string>(LoadedCmd_Execute, null); ClosedCmd = new RelayCommand(ClosedCmd_Execute, null); ExcluirProdutoNotaCmd = new RelayCommand <ProdutoVO>(ExcluirProdutoNotaCmd_Execute, null); ExcluirPagamentoCmd = new RelayCommand <PagamentoVO>(ExcluirPagamentoCmd_Execute, null); _dialogService = dialogService; _enviarNotaController = enviarNotaController; _naturezaOperacaoService = naturezaOperacaoService; _configuracaoService = configuracaoService; _produtoService = produtoService; _destinatarioService = destinatarioService; destinatarioViewModel.DestinatarioSalvoEvent += DestinatarioVM_DestinatarioSalvoEvent; Finalidades = new List <string>() { "Normal", "Complementar", "Ajuste", "Devolução" }; FormasPagamento = new Dictionary <string, string>() { { "Dinheiro", "Dinheiro" }, { "Cheque", "Cheque" }, { "CartaoCredito", "Cartão de Crédito" }, { "CartaoDebito", "Cartão de Débito" } //{ "CreditoLoja", "Crédito Loja" }, //{ "ValeAlimentacao", "Vale Alimentação" }, //{ "ValeRefeicao", "Vale Refeição" }, //{ "ValePresente", "Vale Presente"}, //{ "ValeCombustivel", "Vale Combustível"}, //{ "Outros", "Outros" } }; Parcelas = new List <int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 }; }
public AcompanhamentoNotasViewModel(IEnviarNota enviarNotaController, IEnviaNotaFiscalService enviaNotaFiscalService, CancelarNotaViewModel cancelarNotaViewModel, OpcoesViewModel opcoesViewModel, NotaFiscalMainViewModel notaFiscalMainViewModel, INotaFiscalRepository notaFiscalRepository) { LoadedCmd = new RelayCommand(LoadedCmd_Execute, null); FiltrarCmd = new RelayCommand(FiltrarCmd_Execute, null); enviarNotaController.NotaEnviadaEvent += NotaFiscalVM_NotaEnviadaEvent; cancelarNotaViewModel.NotaCanceladaEvent += CancelarNotaFiscalVM_NotaCanceladaEvent; opcoesViewModel.ConfiguracaoAlteradaEvent += OpcoesVM_ConfiguracoesAlteradasEvent; _notaFiscalRepository = notaFiscalRepository; notaFiscalMainViewModel.NotaPendenteReenviadaEvent += NotaFiscalVM_NotaEnviadaEvent; _enviaNotaFiscalService = enviaNotaFiscalService; }
public NotaFiscalMainViewModel(IEnviarNota enviarNotaController, OpcoesViewModel opcoesVm, CancelarNotaViewModel notaCanceladaVm, IEnviaNotaFiscalService enviaNotaFiscalService, IConfiguracaoService configuracaoService, ICertificadoService certificadoService, IProdutoService produtoService, IConsultaStatusServicoService consultaStatusServicoService, IEmissorService emissorService, VisualizarNotaEnviadaViewModel visualizarNotaEnviadaViewModel, EnviarEmailViewModel enviarEmailViewModel, INotaFiscalRepository notaFiscalRepository, ModoOnlineService modoOnlineService, INFeConsulta nfeConsulta) { LoadedCmd = new RelayCommand(LoadedCmd_Execute, null); AbrirNFCeCmd = new RelayCommand(AbrirNFCeCmd_Execute, null); AbrirNFeCmd = new RelayCommand(AbrirNFeCmd_Execute, null); VisualizarNotaCmd = new RelayCommand <NotaFiscalMemento>(VisualizarNotaCmd_Execute, null); EnviarNotaNovamenteCmd = new RelayCommand <NotaFiscalMemento>(EnviarNotaNovamenteCmd_ExecuteAsync, null); EnviarEmailCmd = new RelayCommand <NotaFiscalMemento>(EnviarEmailCmd_Execute, null); MudarPaginaCmd = new RelayCommand <int>(MudarPaginaCmd_Execute, null); _enviaNotaFiscalService = enviaNotaFiscalService; _notaFiscalRepository = notaFiscalRepository; _configuracaoService = configuracaoService; _certificadoService = certificadoService; _produtoService = produtoService; _consultaStatusServicoService = consultaStatusServicoService; _emissorService = emissorService; _visualizarNotaEnviadaViewModel = visualizarNotaEnviadaViewModel; _enviarEmailViewModel = enviarEmailViewModel; _nfeConsulta = nfeConsulta; NotasFiscais = new ObservableCollection <NotaFiscalMemento>(); enviarNotaController.NotaEnviadaEvent += EnviarNotaController_NotaEnviadaEventHandler; opcoesVm.ConfiguracaoAlteradaEvent += OpcoesVM_ConfiguracaoAlteradaEventHandler; notaCanceladaVm.NotaCanceladaEvent += NotaFiscalVM_NotaCanceladaEventHandler; notaCanceladaVm.NotaInutilizadaEvent += NotaCanceladaVM_NotaInutilizadaEventHandler; modoOnlineService.NotasTransmitidasEvent += ModoOnlineService_NotasTransmitidasEventHandler; }
public NFeViewModel(IEnviarNota enviarNotaController, IDialogService dialogService, IProdutoService produtoService, IEnviaNotaFiscalService enviaNotaFiscalService, IEstadoService estadoService, IEmissorService emissorService, IMunicipioService municipioService, TransportadoraService transportadoraService, IDestinatarioService destinatarioService, INaturezaOperacaoService naturezaOperacaoService, IConfiguracaoService configuracaoService, DestinatarioViewModel destinatarioViewModel, INotaFiscalRepository notaFiscalRepository) { Pagamento = new PagamentoVO(); Produto = new ProdutoVO(); var produtosDB = produtoService.GetAll(); DestinatarioParaSalvar = new DestinatarioModel(); TransportadoraParaSalvar = new TransportadoraModel(); Destinatarios = new ObservableCollection <DestinatarioModel>(); Transportadoras = new ObservableCollection <TransportadoraModel>(); NaturezasOperacoes = new ObservableCollection <NaturezaOperacaoModel>(); ProdutosCombo = new ObservableCollection <ProdutoEntity>(); _enviaNotaFiscalService = enviaNotaFiscalService; _estadoService = estadoService; _produtoService = produtoService; _emissorService = emissorService; _municipioService = municipioService; _transportadoraService = transportadoraService; _destinatarioService = destinatarioService; _naturezaOperacaoService = naturezaOperacaoService; _configuracaoService = configuracaoService; _destinatarioViewModel = destinatarioViewModel; _notaFiscalRepository = notaFiscalRepository; AdicionarProdutoCmd = new RelayCommand <object>(AdicionarProdutoCmd_Execute, null); GerarPagtoCmd = new RelayCommand <object>(GerarPagtoCmd_Execute, null); SalvarTransportadoraCmd = new RelayCommand <IClosable>(SalvarTransportadoraCmd_Execute, null); ExcluirTransportadoraCmd = new RelayCommand <TransportadoraModel>(ExcluirTransportadoraCmd_Execute, null); EnviarNotaCmd = new RelayCommand <IClosable>(EnviarNotaCmd_Execute); LoadedCmd = new RelayCommand <string>(LoadedCmd_Execute, null); ClosedCmd = new RelayCommand(ClosedCmd_Execute, null); ExcluirProdutoNotaCmd = new RelayCommand <ProdutoVO>(ExcluirProdutoNotaCmd_Execute, null); UfSelecionadoCmd = new RelayCommand(UfSelecionadoCmd_Execute, null); TransportadoraWindowLoadedCmd = new RelayCommand(TransportadoraWindowLoadedCmd_Execute, null); DestinatarioChangedCmd = new RelayCommand <DestinatarioModel>(DestinatarioChangedCmd_Execute, null); _enviarNotaController = enviarNotaController; _dialogService = dialogService; Estados = new ObservableCollection <EstadoEntity>(); Municipios = new ObservableCollection <MunicipioEntity>(); destinatarioViewModel.DestinatarioSalvoEvent += DestinatarioVM_DestinatarioSalvoEvent; foreach (var produtoDB in produtosDB) { ProdutosCombo.Add((ProdutoEntity)produtoDB); } IndicadoresPresenca = new List <string>() { "Não se Aplica", "Presencial", "Não Presencial, Internet", "Não Presencial, Teleatendimento", "Entrega a Domicílio", "Não Presencial, Outros" }; Finalidades = new List <string>() { "Normal", "Complementar", "Ajuste", "Devolução" }; FormasPagamento = new Dictionary <string, string>() { { "Dinheiro", "Dinheiro" }, { "Cheque", "Cheque" }, { "CartaoCredito", "Cartão de Crédito" }, { "CartaoDebito", "Cartão de Débito" } //{ "CreditoLoja", "Crédito Loja" }, //{ "ValeAlimentacao", "Vale Alimentação" }, //{ "ValeRefeicao", "Vale Refeição" }, //{ "ValePresente", "Vale Presente"}, //{ "ValeCombustivel", "Vale Combustível"}, //{ "Outros", "Outros" } }; EstadosUF = _estadoService.GetEstados().Select(e => e.Uf).ToList(); Parcelas = new List <int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 }; }