示例#1
0
        async void CriarNFeEntrada()
        {
            var caixa = new FileOpenPicker();

            caixa.FileTypeFilter.Add(".xml");
            var arq = await caixa.PickSingleFileAsync();

            if (arq != null)
            {
                try
                {
                    var xml = await ImportacaoDados.ObterXMLNFe(arq);

                    var proc = xml.FromXElement <ProcessoNFe>();
                    var nfe  = proc.NFe;
                    if (nfe.Informacoes.destinatario.CNPJ == DefinicoesTemporarias.EmitenteAtivo.CNPJ)
                    {
                        ClienteDI c;
                        using (var repo = new BaseGeral.Repositorio.Leitura())
                        {
                            c = repo.ObterClienteViaCNPJ(nfe.Informacoes.Emitente.CNPJ);
                        }
                        if (c != null)
                        {
                            nfe.Informacoes.destinatario = c.ToDestinatario();
                            nfe.Informacoes.Emitente     = DefinicoesTemporarias.EmitenteAtivo.ToEmitente();
                            nfe.Informacoes.identificacao.TipoOperacao = 0;
                            var analisador = new AnalisadorNFe(ref nfe);
                            analisador.Desnormalizar();
                            var controle = new ControleNFe(nfe);
                            if (await new Criador(controle).ShowAsync() == ContentDialogResult.Primary)
                            {
                                Popup.Current.Escrever(TitulosComuns.Sucesso, "Nota de entrada criada. Agora verifique se todas as informações estão corretas e se nenhum dado ficou de fora.");
                            }
                        }
                        else
                        {
                            using (var repo = new BaseGeral.Repositorio.Escrita())
                            {
                                repo.SalvarItemSimples(new ClienteDI(nfe.Informacoes.Emitente),
                                                       DefinicoesTemporarias.DateTimeNow);
                            }
                        }
                    }
                    else
                    {
                        Popup.Current.Escrever(TitulosComuns.Atenção, "O cliente dessa nota fiscal não é o emitente ativo, por favor, escolha apenas notas fiscais para o emitente ativo.");
                    }
                }
                catch (Exception erro)
                {
                    erro.ManipularErro();
                }
            }
        }
示例#2
0
        public override void Editar()
        {
            var nfe        = (NFe)ItemCompleto;
            var analisador = new AnalisadorNFe(ref nfe);

            analisador.Desnormalizar();
            ItemBanco.Status = (int)StatusNota.Edição;
            var controle = new ControleViewProduto(nfe);

            BasicMainPage.Current.Navegar <Venda.ViewProdutoVenda.ListaProdutos>(controle);
        }
        public async Task CriarCopia(NFeDI nota)
        {
            var processo   = XElement.Parse(nota.XML).FromXElement <ProcessoNFe>();
            var nfe        = processo.NFe;
            var analisador = new AnalisadorNFe(ref nfe);

            analisador.Desnormalizar();
            var controle = new ControleNFe(nfe);

            await new Criador(controle).ShowAsync();
        }