public ActionResult Edit(int id = 0) { NotaFiscal model = new NotaFiscal(); model.produto = new Produto(); model.cliente = new Cliente(); model.fornecedor = new Fornecedor(); List <SelectListItem> clientes = new List <SelectListItem>(); List <SelectListItem> fornecedores = new List <SelectListItem>(); List <SelectListItem> produtos = new List <SelectListItem>(); using (NotaFiscalModel acoes = new NotaFiscalModel()) { clientes = acoes.ListarClientes(); fornecedores = acoes.ListarFornecedores(); produtos = acoes.ListarProdutos(new Fornecedor()); if (id > 0) { model = acoes.ObterNota(id); } } model.ListaClientes = clientes; model.ListaProdutos = produtos; model.ListaFornecedor = fornecedores; return(View("Create", model)); }
// public string NotaFiscalManter(NotaFiscalModel notaFiscalModel) { var retorno = string.Empty; // try { this.dbCore.LimparParametros(); // this.dbCore.ComandoAdicionarParametro("@id_nota_fiscal", notaFiscalModel.IdNotaFiscal); this.dbCore.ComandoAdicionarParametro("@id_estabelecimento", notaFiscalModel.Estabelecimento.IdEstabelecimento); this.dbCore.ComandoAdicionarParametro("@id_fornecedor", notaFiscalModel.Fornecedor.IdFornecedor); this.dbCore.ComandoAdicionarParametro("@numero_nota_fiscal", notaFiscalModel.NumeroNotaFiscal); this.dbCore.ComandoAdicionarParametro("@data_emissao", notaFiscalModel.DataEmissaoInicial); this.dbCore.ComandoAdicionarParametro("@data_entrada", notaFiscalModel.DataEntradaInicial); this.dbCore.ComandoAdicionarParametro("@valor_total_nota_fiscal", notaFiscalModel.ValorTotalDaNota); this.dbCore.ComandoAdicionarParametro("@valor_total_icms_st", notaFiscalModel.ValorTotalDoIcmsSt); this.dbCore.ComandoAdicionarParametro("@valor_total_ipi", notaFiscalModel.ValorTotalDoIpi); this.dbCore.ComandoAdicionarParametro("@valor_total_depesa", notaFiscalModel.ValorTotalDasDespesas); // retorno = this.dbCore.ExecutarComando("usp_nota_fiscal_manter"); } catch (Exception) { throw; } // return(retorno); }
public override async void OnNavigatedTo(INavigationParameters parameters) { var notas = App.ProdutoDatabase.Get(); if (parameters.ContainsKey("url")) { IsBusy = true; string url = parameters["url"].ToString(); NotaFiscalModel nota = await App.ConsultaAPI.SearchItens(url); if (nota != null) { Notas.Add(nota); } else { await PageDialogService.DisplayAlertAsync("QRCode", "Não foi possivel abrir QRCode.", "Ok"); } IsBusy = false; //await PageDialogService.DisplayAlertAsync("URL", parameters["url"].ToString(), "Cancel"); } else if (parameters.ContainsKey("nota")) { } }
public ActionResult Remove(NotaFiscal nota) { using (NotaFiscalModel model = new NotaFiscalModel()) { model.ExcluirNota(nota); return(Json("Item removido com sucesso", JsonRequestBehavior.AllowGet)); } }
private static Destinatario GetDestinatario(NotaFiscalModel notaFiscal, Ambiente ambiente, Modelo _modelo) { if (notaFiscal.DestinatarioSelecionado.Documento == null && string.IsNullOrEmpty(notaFiscal.Documento)) { return(null); } string documento, nomeRazao, inscricaoEstadual = null; DestinatarioModel destinatarioSelecionado = null; Endereco endereco = null; if (notaFiscal.DestinatarioSelecionado.Documento != null) { destinatarioSelecionado = notaFiscal.DestinatarioSelecionado; if (notaFiscal.DestinatarioSelecionado.Endereco.Logradouro != null) { var enderecoModel = notaFiscal.DestinatarioSelecionado.Endereco; endereco = new Endereco(enderecoModel.Logradouro, enderecoModel.Numero, enderecoModel.Bairro, enderecoModel.Municipio, enderecoModel.CEP, enderecoModel.UF); } inscricaoEstadual = notaFiscal.DestinatarioSelecionado?.InscricaoEstadual; documento = notaFiscal.DestinatarioSelecionado.Documento; nomeRazao = notaFiscal.DestinatarioSelecionado.NomeRazao; } else { documento = notaFiscal.Documento; nomeRazao = "CONSUMIDOR NÃO IDENTIFICADO"; } TipoDestinatario tipoDestinatario; if (notaFiscal.IsEstrangeiro) { tipoDestinatario = TipoDestinatario.Estrangeiro; } else if (documento.Length == 11) { tipoDestinatario = TipoDestinatario.PessoaFisica; } else { tipoDestinatario = TipoDestinatario.PessoaJuridica; } var destinatario = new Destinatario(ambiente, _modelo, destinatarioSelecionado?.Telefone, destinatarioSelecionado?.Email, endereco, tipoDestinatario, inscricaoEstadual, documento: documento, nomeRazao: nomeRazao); return(destinatario); }
private async void OpenQRCode() { NotaFiscalModel nota = await App.ConsultaAPI.SearchItens("https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx?p=43191187397865002165652070001264771004360527|2|1|1|3B9666B4B19EDA74307BAE1F059795CA425F036A"); NavigationParameters pairs = new NavigationParameters { { "nota", nota } }; //await NavigationService.NavigateAsync("BarcodePage"); await NavigationService.NavigateAsync("ProdutoPage", pairs); }
// GET: NotaFiscal public ActionResult Index(string msgSucesso = "") { using (NotaFiscalModel model = new NotaFiscalModel()) { List <NotaFiscal> lista = model.ListarNota(); if (!string.IsNullOrEmpty(msgSucesso)) { ViewBag.MsgSucesso = msgSucesso; } return(View(lista)); } }
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 <Core.NotasFiscais.NotaFiscal> EnviarNota(NotaFiscalModel notaFiscalModel, Modelo modelo) { notaFiscalModel.ValidateModel(); if (notaFiscalModel.HasErrors) { throw new ArgumentException("Nota fiscal contém erros de validação não resolvidos."); } if (notaFiscalModel.Pagamentos[0].FormaPagamento != "Sem Pagamento" && notaFiscalModel.Produtos.Sum(c => c.QtdeProduto * c.ValorUnitario) != notaFiscalModel.Pagamentos.Sum(p => p.QtdeParcelas * p.ValorParcela)) { await _dialogService.ShowError("Valor total da nota não corresponde ao valor de pagamento.", "Erro!", "Ok", null); throw new ArgumentException("Valor total da nota não corresponde ao valor de pagamento."); } Core.NotasFiscais.NotaFiscal notaFiscal = null; var config = _configuracaoService.GetConfiguracao(); var ambiente = config.IsProducao ? Ambiente.Producao : Ambiente.Homologacao; await Task.Run(() => { var modeloNota = modelo; const TipoEmissao tipoEmissao = TipoEmissao.Normal; //verificar status do serviço e etc var destinatario = GetDestinatario(notaFiscalModel, ambiente, modelo); var documentoDanfe = destinatario != null ? destinatario.DocumentoDanfe : "CPF"; //Encapsular isso aqui var emitente = _emissorService.GetEmissor(); var codigoUF = (CodigoUfIbge)Enum.Parse(typeof(CodigoUfIbge), emitente.Endereco.UF); var identificacao = GetIdentificacao(notaFiscalModel, codigoUF, DateTime.Now, emitente, modeloNota, Convert.ToInt32(notaFiscalModel.Serie), notaFiscalModel.Numero, tipoEmissao, ambiente, documentoDanfe); var produtos = GetProdutos(notaFiscalModel, config); var pagamentos = GetPagamentos(notaFiscalModel); var totalNFe = GetTotalNFe(notaFiscalModel); var infoAdicional = new InfoAdicional(produtos); var transporte = GetTransporte(notaFiscalModel, modelo); notaFiscal = new Core.NotasFiscais.NotaFiscal(emitente, destinatario, identificacao, transporte, totalNFe, infoAdicional, produtos, pagamentos); var cscId = ambiente == Ambiente.Homologacao ? config.CscIdHom : config.CscId; var csc = ambiente == Ambiente.Homologacao ? config.CscHom : config.Csc; _enviaNotaFiscalService.EnviarNotaFiscal(notaFiscal, cscId, csc); }); NotaEnviadaEvent(notaFiscal); return(notaFiscal); }
public ProdutoLancamentoNotaFiscalForm(ProdutoNotaFiscalModel produtoNotaFiscalModel) { try { InitializeComponent(); // this.notaFiscalModel = produtoNotaFiscalModel.NotaFiscal; // if (produtoNotaFiscalModel.Produto.IdProduto > 0) { this.txtCodigo.Text = produtoNotaFiscalModel.Produto.IdProduto.ToString(); foreach (DataRow dtRow in new ProdutoDAO().ProdutoListByAll(this.txtCodigo.Text, this.notaFiscalModel.Estabelecimento.IdEstabelecimento).Rows) { this.produtoModel = new ProdutoModel { IdProduto = Convert.ToInt32(dtRow["id_produto"]), NomeProduto = dtRow["nome_produto"].ToString(), Departamento = new DepartamentoProdutoModel { IdDepartamento = Convert.ToInt32(dtRow["id_departamento"]), NomeDepartamento = dtRow["nome_departamento"].ToString() }, PrecoCusto = Convert.ToDecimal(dtRow["preco_custo"]), PrecoVenda = Convert.ToDecimal(dtRow["preco_venda"]) }; } //this.produtoModel = new ProdutoDAO().ProdutoListByAll(this.txtCodigo.Text).Single(); // this.txtNomeProduto.Text = this.produtoModel.NomeProduto; this.txtQuantidade.Text = produtoNotaFiscalModel.Quantidade.ToString("N2"); this.txtQuantidadeEmbalagem.Text = produtoNotaFiscalModel.QuantidadePorEmbalagem.ToString("N2"); this.txtValorUnitario.Text = produtoNotaFiscalModel.ValorUnitario.ToString("N2"); this.txtCustoSemImposto.Text = produtoNotaFiscalModel.CustoSemImposto.ToString("N2"); this.txtCustoComImposto.Text = produtoNotaFiscalModel.CustoComImposto.ToString("N2"); this.txtValorIcmsSt.Text = produtoNotaFiscalModel.ValorTotalDoIcmsSt.ToString("N2"); this.txtVAlorIpi.Text = produtoNotaFiscalModel.ValorTotalDoIpi.ToString("N2"); this.txtValorDesconto.Text = produtoNotaFiscalModel.ValorTotalDoDesconto.ToString("N2"); this.txtObservacao.Text = produtoNotaFiscalModel.Observacao.ToString(); this.Text = "Alteração de lançamento de produto"; this.txtCodigo.ReadOnly = true; this.txtCodigo.BackColor = Color.White; this.txtNomeProduto.ReadOnly = true; this.txtNomeProduto.BackColor = Color.White; this.btnProduto.Enabled = false; this.CalcularCusto(); } } catch (Exception exception) { Mensagens.MensagemErro(exception.Message); } }
private static IdentificacaoNFe GetIdentificacao(NotaFiscalModel NotaFiscal, CodigoUfIbge codigoUF, DateTime now, Emissor emitente, Modelo modeloNota, int serie, string numeroNFe, TipoEmissao tipoEmissao, Ambiente ambiente, string documentoDanfe) { var finalidadeEmissao = (FinalidadeEmissao)Enum.Parse(typeof(FinalidadeEmissao), Acentuacao.RemoverAcentuacao(NotaFiscal.Finalidade)); var identificacao = new IdentificacaoNFe(codigoUF, now, emitente.CNPJ, modeloNota, serie, numeroNFe, tipoEmissao, ambiente, emitente, NotaFiscal.NaturezaOperacao, finalidadeEmissao, NotaFiscal.IsImpressaoBobina, NotaFiscal.IndicadorPresenca, documentoDanfe); return(identificacao); }
public ProdutosNotaFiscalForm(NotaFiscalModel notaFiscalModel) { try { InitializeComponent(); this.notaFiscalModel = notaFiscalModel; this.CarregarDatagridProdutos(); } catch (Exception exception) { Mensagens.MensagemErro(exception.Message); } }
public ActionResult Relatorio(int id = 0) { List <NotaFiscal> lista = new List <NotaFiscal>(); using (NotaFiscalModel acoes = new NotaFiscalModel()) { if (id > 0) { lista = acoes.ListarNotasPorProduto(id); } } return(View("Relatorio", lista)); }
public ActionResult Create(NotaFiscal nota) { using (NotaFiscalModel model = new NotaFiscalModel()) { nota.DataNotaFiscal = DateTime.Now; if (nota.IdNotaFiscal > 0) { model.AtualizarNota(nota); } else { model.IncluirNota(nota); } } return(Json("Item salvo com sucesso", JsonRequestBehavior.AllowGet)); }
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(); } }
// public DataTable DataTableNotaFiscal(NotaFiscalModel notaFiscalModel) { try { this.dbCore.LimparParametros(); // this.dbCore.ComandoAdicionarParametro("@id_estabelecimento", notaFiscalModel.Estabelecimento.IdEstabelecimento); this.dbCore.ComandoAdicionarParametro("@id_fornecedor", notaFiscalModel.Fornecedor.IdFornecedor); this.dbCore.ComandoAdicionarParametro("@data_entrada_inicial", notaFiscalModel.DataEntradaInicial); this.dbCore.ComandoAdicionarParametro("@data_entrada_final", notaFiscalModel.DataEntradaFinal); this.dbCore.ComandoAdicionarParametro("@data_emissao_inicial", notaFiscalModel.DataEmissaoInicial); this.dbCore.ComandoAdicionarParametro("@data_emissao_final", notaFiscalModel.DataEmissaoFinal); // return(this.dbCore.ExecutarConsulta("usp_nota_fiscal_sel")); } catch (Exception) { throw; } }
private List <Produto> GetProdutos(NotaFiscalModel notaFiscal, ConfiguracaoEntity config) { var idsProdutosSelecionados = notaFiscal.Produtos.Select(p => p.ProdutoSelecionado.Id); var produtosTo = _produtoService.GetAll().Where(p => idsProdutosSelecionados.Contains(p.Id)); var produtos = new List <Produto>(); foreach (var produtoNota in notaFiscal.Produtos) { var produtoEntity = produtosTo.First(c => c.Id == produtoNota.ProdutoSelecionado.Id); var produto = new Produto(produtoEntity.GrupoImpostos, produtoEntity.Id, produtoEntity.GrupoImpostos.CFOP, produtoEntity.Codigo, produtoEntity.Descricao, produtoEntity.NCM, notaFiscal.Produtos.First(p => p.ProdutoSelecionado.Id == produtoEntity.Id).QtdeProduto, produtoEntity.UnidadeComercial, produtoNota.ValorUnitario, produtoNota.Descontos, !config.IsProducao); produtos.Add(produto); } return(produtos); }
private static List <Pagamento> GetPagamentos(NotaFiscalModel NotaFiscal) { var pagamentosNf = new List <Pagamento>(); foreach (var pagamento in NotaFiscal.Pagamentos) { FormaPagamento formaPagamento; switch (pagamento.FormaPagamento) { case "Dinheiro": formaPagamento = FormaPagamento.Dinheiro; break; case "Cheque": formaPagamento = FormaPagamento.Cheque; break; case "Cartão de Crédito": formaPagamento = FormaPagamento.CartaoCredito; break; case "Cartão de Débito": formaPagamento = FormaPagamento.CartaoDebito; break; case "Sem Pagamento": formaPagamento = FormaPagamento.SemPagamento; break; default: throw new ArgumentException(); } pagamentosNf.Add(new Pagamento(formaPagamento, pagamento.QtdeParcelas * pagamento.ValorParcela)); } return(pagamentosNf); }
private static TotalNFe GetTotalNFe(NotaFiscalModel NotaFiscal) { double sumValorTotal = 0; double sumValorTotalFrete = 0; double sumValorTotalSeguro = 0; double sumValorTotalDesconto = 0; foreach (var produto in NotaFiscal.Produtos) { sumValorTotal += produto.TotalLiquido; sumValorTotalFrete += produto.Frete; sumValorTotalSeguro += produto.Seguro; sumValorTotalDesconto += produto.Descontos; } var totalNFe = new TotalNFe { IcmsTotal = new IcmsTotal() }; var icmsTotal = totalNFe.IcmsTotal; icmsTotal.BaseCalculo = 0.00; icmsTotal.ValorTotalIcms = 0.00; icmsTotal.ValorTotalDesonerado = 0.00; icmsTotal.BaseCalculoST = 0.00; icmsTotal.ValorTotalST = 0.00; icmsTotal.ValorTotalProdutos = sumValorTotal; icmsTotal.ValorTotalFrete = sumValorTotalFrete; icmsTotal.ValorTotalSeguro = sumValorTotalSeguro; icmsTotal.ValorTotalDesconto = sumValorTotalDesconto; icmsTotal.ValorTotalII = 0.00; icmsTotal.ValorTotalIpi = 0.00; icmsTotal.ValorTotalPis = 0.00; icmsTotal.ValorTotalCofins = 0.00; icmsTotal.ValorDespesasAcessorias = 0.00; icmsTotal.ValorTotalNFe = sumValorTotal; return(totalNFe); }
// public CorpoNotaFiscalForm(NotaFiscalModel notaFiscalModel, AcaoForm acaoForm) { try { InitializeComponent(); this.notaFiscalModel = new NotaFiscalModel(); this.produtoNotaFiscalListModel = new ProdutoNotaFiscalListModel(); this.acaoForm = acaoForm; // this.CarregarComboBoxEstabelecimento(); this.CarregarComboBoxFornecedores(); this.PreencherTextBoxVazio(); // switch (acaoForm) { case AcaoForm.NovoLancamento: this.Text = "Novo lançamento de compras"; break; case AcaoForm.AlterarLancamento: this.Text = "Alteração de lançamento de compras"; this.notaFiscalModel = notaFiscalModel; this.txtNumeroNotaFiscal.Text = notaFiscalModel.NumeroNotaFiscal; this.txtTotalDespesas.Text = notaFiscalModel.ValorTotalDasDespesas.ToString("N2"); this.txtTotalIcms.Text = notaFiscalModel.ValorTotalDoIcmsSt.ToString("N2"); this.txtTotalIpi.Text = notaFiscalModel.ValorTotalDoIpi.ToString("N2"); this.txtTotalNotaFiscal.Text = notaFiscalModel.ValorTotalDaNota.ToString("N2"); // this.BloquearControles(); break; } } catch (Exception exception) { Mensagens.MensagemErro(exception.Message); } }
private static Transporte GetTransporte(NotaFiscalModel NotaFiscal, Modelo modeloNota) { if (modeloNota == Modelo.Modelo65) { return(new Transporte(modeloNota, null, null)); } var nfeModel = NotaFiscal as NFeModel; if (nfeModel == null) { throw new ArgumentException("Parâmetro NotaFiscal não é do mesmo modelo que modeloNota"); } var transportadora = new Transportadora(nfeModel.TransportadoraSelecionada.CpfCnpj, nfeModel.TransportadoraSelecionada.Endereco.ToString(), nfeModel.TransportadoraSelecionada.InscricaoEstadual, nfeModel.TransportadoraSelecionada.Endereco.Municipio, nfeModel.TransportadoraSelecionada.Endereco.UF, nfeModel.TransportadoraSelecionada.NomeRazao); var veiculo = new Veiculo(nfeModel.PlacaVeiculo, nfeModel.UfVeiculo); return(new Transporte(modeloNota, transportadora, veiculo)); }
// private void NovoProdutoButton_Click(object sender, EventArgs e) { try { switch (this.acaoForm) { case AcaoForm.NovoLancamento: if (this.notaFiscalModel.IdNotaFiscal == 0) { if (Convert.ToInt32(this.cbbEstabelecimento.SelectedValue) == 0) { this.cbbEstabelecimento.Focus(); throw new Exception("Informe o Estabelecimento para continuar !"); } else if (Convert.ToInt32(this.cbbFornecedor.SelectedValue) == 0) { this.cbbFornecedor.Focus(); throw new Exception("Informe o Fornecedor para continuar !"); } else if (this.txtNumeroNotaFiscal.Text.Trim() == string.Empty) { this.txtNumeroNotaFiscal.Focus(); throw new Exception("Informe o Número da Nota Fiscal para continuar !"); } else if (this.txtTotalNotaFiscal.Text.Trim() == string.Empty) { this.txtTotalNotaFiscal.Focus(); throw new Exception("Informe o valor total da Nota Fiscal para continuar !"); } else if (Convert.ToDateTime(this.dtpDataEmissao.Value.ToShortDateString()) > Convert.ToDateTime(this.dtpDataEntrada.Value.ToShortDateString())) { throw new Exception("Data de entrada não pode ser maior que a data de Emissão !"); } else if (this.dtpDataEmissao.Value > DateTime.Now) { this.dtpDataEmissao.Focus(); throw new Exception("Data de emissão não pode ser maior que a data Atual !"); } this.notaFiscalModel = new NotaFiscalModel { Estabelecimento = new EstabelecimentoModel { IdEstabelecimento = Convert.ToInt32(this.cbbEstabelecimento.SelectedValue) }, Fornecedor = new FornecedorModel { IdFornecedor = Convert.ToInt32(this.cbbFornecedor.SelectedValue) }, DataEmissaoInicial = this.dtpDataEmissao.Value, DataEntradaInicial = this.dtpDataEntrada.Value, NumeroNotaFiscal = this.txtNumeroNotaFiscal.Text, ValorTotalDaNota = Convert.ToDecimal(PreencherTextBoxComZero(this.txtTotalNotaFiscal)),//Convert.ToDecimal(this.txtTotalNotaFiscal.Text), ValorTotalDasDespesas = Convert.ToDecimal(PreencherTextBoxComZero(this.txtTotalDespesas)), ValorTotalDoIcmsSt = Convert.ToDecimal(PreencherTextBoxComZero(this.txtTotalIcms)), ValorTotalDoIpi = Convert.ToDecimal(PreencherTextBoxComZero(this.txtTotalIpi)) }; var retorno = new NotaFiscalDAO().NotaFiscalManter(notaFiscalModel); // if (Char.IsNumber(retorno, 0)) { this.notaFiscalModel.IdNotaFiscal = Convert.ToInt32(retorno); //new NotaFiscalModel { IdNotaFiscal = IdNotaFiscal = Convert.ToInt32(retorno) }; using (var f = new ProdutoLancamentoNotaFiscalForm(new ProdutoNotaFiscalModel { NotaFiscal = this.notaFiscalModel })) { this.BloquearControles(); f.ShowDialog(); } } else { throw new Exception(retorno); } } else { using (var f = new ProdutoLancamentoNotaFiscalForm(new ProdutoNotaFiscalModel { NotaFiscal = this.notaFiscalModel })) { this.BloquearControles(); f.ShowDialog(); } } break; case AcaoForm.AlterarLancamento: using (var f = new ProdutoLancamentoNotaFiscalForm(new ProdutoNotaFiscalModel { NotaFiscal = this.notaFiscalModel })) { f.ShowDialog(); } break; } // this.CarregarDatagridProdutos(); } catch (Exception exception) { Mensagens.MensagemErro(exception.Message); } }
static async Task <NotaFiscalModel> SearchItens(string url) { //string url = "https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx?p=43191187397865002165652070001264771004360527|2|1|1|3B9666B4B19EDA74307BAE1F059795CA425F036A"; //string url1 = "https://www.sefaz.rs.gov.br/ASP/AAE_ROOT/NFE/SAT-WEB-NFE-NFC_QRCODE_1.asp?p=43191187397865002165652070001264771004360527%7C2%7C1%7C1%7C3B9666B4B19EDA74307BAE1F059795CA425F036A"; //string url1 = "https://www.sefaz.rs.gov.br/ASP/AAE_ROOT/NFE/SAT-WEB-NFE-NFC_QRCODE_1.asp?p=43191175315333012115655020002257541048579178|2|1|1|9EEF25B0ED906720BFF9849A163F4F54CAB69F75"; NotaFiscal notaFiscal = new NotaFiscal(); Local local = new Local(); Produto produto = new Produto(); url = await GetURLAsync(url); NotaFiscalModel notaFiscalModel = new NotaFiscalModel(notaFiscal, local); try { using (HttpClient client = new HttpClient()) { var response = await client.GetAsync(url); if (response.IsSuccessStatusCode) { var doc = new HtmlDocument(); doc.LoadHtml(await response.Content.ReadAsStringAsync()); var value = doc.DocumentNode.SelectNodes("//td").Where(n => n.HasClass("NFCCabecalho_SubTitulo")).ToList(); local.Nome = value[0].InnerText; notaFiscal.ChaveAcesso = value[5].InnerText; notaFiscal.DataEmissao = ProcessData(value[2].InnerText); value = doc.DocumentNode.SelectNodes("//td").Where(n => n.HasClass("NFCCabecalho_SubTitulo1")).ToList(); local.Endereco = Regex.Replace(value[1].InnerText, @"\s+", " "); value = doc.DocumentNode.SelectNodes("//td").Where(n => n.HasClass("NFCDetalhe_Item")).ToList(); value.RemoveRange(0, 5); for (int i = 0; i < value.Count; i += 5) { if (value[i].InnerText.Contains("Valor")) { notaFiscal.ValorCompra = Convert.ToDecimal(value[i + 1].InnerText); notaFiscal.ValorDesconto = Convert.ToDecimal(value[i + 3].InnerText); break; } produto.Descricao = value[i + 1].InnerText; produto.Qtd = Convert.ToDecimal(value[i + 2].InnerText); produto.TipoUnidade = value[i + 3].InnerText; produto.ValorUnidade = Convert.ToDecimal(value[i + 4].InnerText); produto.ValorPago = Convert.ToDecimal(value[i + 5].InnerText); notaFiscalModel.AddProduto(produto); produto = new Produto(); i++; } return(notaFiscalModel); } else { return(null); } } } catch (Exception) { return(null); } }