public NotaFiscal Inserir(NotaFiscal notaFiscal) { notaFiscal.Validar(); notaFiscal.ID = Db.Insert(_sqlInserir, ObtemParametros(notaFiscal)); return(notaFiscal); }
public NotaFiscal Inserir(NotaFiscal notaFiscal) { notaFiscal.Validar(); var nota = _notaFiscalRepositorio.Inserir(notaFiscal); var produtosNfe = _produtoNfeRepositorio.InserirListaDeProdutos(notaFiscal.Produtos, notaFiscal.ID); return(nota); }
public void NotaFiscal_Dominio_Validar_DevePreencherTransportadorVazioComOsDadosDeDestinatario() { notaFiscal = ObjectMother.ObterNotaValidaSemTransportador(); notaFiscal.Transportador = null; notaFiscal.Validar(); notaFiscal.Transportador.Nome.Should().Be(notaFiscal.Destinatario.Nome); }
public NotaFiscal Atualizar(NotaFiscal notaFiscal) { if (notaFiscal.ID < 1) { throw new ExcecaoIdentificadorInvalido(); } notaFiscal.Validar(); return(_notaFiscalRepositorio.Atualizar(notaFiscal)); }
public NotaFiscal Atualizar(NotaFiscal notaFiscal) { if (notaFiscal.ID < 1) { throw new ExcecaoIdentificadorInvalido(); } notaFiscal.Validar(); Db.Update(_sqlAtualizar, ObtemParametros(notaFiscal)); return(notaFiscal); }
public bool EmitirNota(NotaFiscal notaFiscal) { notaFiscal.CalcularValorTotalNota(); bool notaEncontrada; do { notaFiscal.GerarChave(_random); notaEncontrada = _notaFiscalRepositorio.ValidarExistenciaPorChave(notaFiscal.Chave); } while (notaEncontrada); notaFiscal.Validar(); _notaFiscalRepositorio.InserirNotaFiscalEmitida(notaFiscal); var notaDeletada = this.Deletar(notaFiscal.ID); return(notaDeletada); }
private List <NotaFiscal> ProcessarArquivo(Stream arquivo, string delimitador) { List <NotaFiscal> notasFiscais = new List <NotaFiscal>(); using (StreamReader reader = new StreamReader(arquivo)) { string linha = string.Empty; int numeroLinha = 1; string[] registro; while ((linha = reader.ReadLine()) != null) { if (!string.IsNullOrEmpty(linha)) { registro = linha.Split(delimitador.ToCharArray()); if (registro.Length >= 7) { var notaFiscal = new NotaFiscal { TipoNF = registro[0].ToString(), ChaveNF = registro[1].ToString(), NumeroNF = registro[2].ToString(), CnpjNF = registro[3].ToString(), QuantidadeNF = registro[4].ToString().ToDecimal(), UnidadeNF = registro[5].ToString(), NCM = registro[6].ToString() }; if (notaFiscal.TipoNF != "EXP") { if (registro.Length > 7) { notaFiscal.ChaveNFReferencia = registro[7].ToString(); if (notaFiscal.ChaveNFReferencia.Length > 44) { notaFiscal.ChaveNFReferencia = notaFiscal.ChaveNFReferencia.Substring(0, 44); } } if (registro.Length > 8) { notaFiscal.Item = registro[8].ToInt(); } notaFiscal.Item = notaFiscal.Item == 0 ? 1 : notaFiscal.Item; } else { if (registro.Length > 8) { if (registro[8].ToString().Length == 8) { string data = registro[8].ToString(); int ano, mes, dia = 0; ano = data.Substring(0, 4).ToInt(); mes = data.Substring(4, 2).ToInt(); dia = data.Substring(6, 2).ToInt(); notaFiscal.DataNF = new DateTime(ano, mes, dia); } } if (registro.Length > 9) { if (!string.IsNullOrEmpty(registro[9])) { string empresa = registro[9].Substring(0, 4); string filial = registro[9].Substring(4, 4); string memorando = registro[9].Substring(8, 12); notaFiscal.Empresa = empresa; notaFiscal.Filial = filial; notaFiscal.Memorando = memorando; } } notaFiscal.Item = 1; } var validacoes = notaFiscal.Validar(); if (validacoes.IsValid) { notasFiscais.Add(notaFiscal); } else { foreach (var erro in validacoes.Errors) { ModelState.AddModelError(string.Empty, string.Format("Linha {0}: {1} - Mensagem: {2}", numeroLinha, erro.PropertyName, erro.ErrorMessage)); } } numeroLinha += 1; } } } //} //catch (Exception ex) //{ // ModelState.AddModelError(string.Empty, ex.Message); //} return(notasFiscais); } }
public void NotaFiscal_Dominio_NotaFiscal_Validar_EsperadoOK() { Action action = () => _notaFiscal.Validar(); action.Should().NotThrow(); }