private static ICollection <NotaFiscal> GetNotas(ISituacaoDaNotaRepository situacaoDaNotaRerpository) { var notaFiscal1 = new NotaFiscalBuilder() .WithCnpjDaLoja("12605982000124") .WithModelo(55) .WithNumero(10) .WithSerie(1) .WithSituacao(situacaoDaNotaRerpository.GetByType <NaoAutorizada>()) .WithValorTotal(100.00m) .Build(); var notaFiscal2 = new NotaFiscalBuilder() .WithCnpjDaLoja("12605982000124") .WithModelo(65) .WithNumero(900) .WithSerie(3) .WithSituacao(situacaoDaNotaRerpository.GetByType <NaoAutorizada>()) .WithValorTotal(150.00m) .Build(); var notaFiscal3 = new NotaFiscalBuilder() .WithCnpjDaLoja("12605982000124") .WithModelo(55) .WithNumero(11) .WithSerie(1) .WithSituacao(situacaoDaNotaRerpository.GetByType <NaoAutorizada>()) .WithValorTotal(10.00m) .Build(); return(new List <NotaFiscal> { notaFiscal1, notaFiscal2, notaFiscal3 }); }
private async Task CancelaNotaAsync(NotaFiscal notaFiscal) { // Simulando a lógica de cancelamento de Nota try { await Task.Delay(1000); notaFiscal.CancelarNota(_situacaoDaNotaRepository.GetByType <Cancelada>()); } catch { } }
private static void InutilizarNotas(ISituacaoDaNotaRepository situacaoDaNotaRerpository, ICollection <NotaFiscal> notasFiscais) { var pendenteDeInutilizacao = situacaoDaNotaRerpository.GetByType <PendenteDeInutilizacao>(); foreach (var nf in notasFiscais) { nf.SetSituacao(pendenteDeInutilizacao); } }