Example #1
0
        /// <summary>
        /// Cria uma Nota Fiscal Eletrônica de acordo com o movimento informado
        /// </summary>
        /// <param name="movimento">Movimento que será transformado em Nota Fiscal Eletrônica</param>
        /// <returns></returns>
        public static INF Create(IMovimento movimento)
        {
            if (movimento.IsNullOrEmpty()) return null;

            INF result = new Data.Faturamento.Lancamento.Movimento.NFe.NFe();

            //Popula os dados do cabeçalho com o movimento informado
            result.DadoPessoa = movimento.DadoPessoa;
            result.DataHoraMovimento = movimento.DataHoraMovimento;
            result.DataEmissao = movimento.DataEmissao;
            result.ItensEspeciais = movimento.ItensEspeciais;
            result.TabelaPreco = movimento.TabelaPreco;
            result.CondicaoPagamento = movimento.CondicaoPagamento;
            result.Parcelas = movimento.Parcelas;

            //Popula os itens com os itens do movimento
            result.Itens = new List<Model.Faturamento.Lancamento.Movimento.Item.IItem>();

            foreach (Model.Faturamento.Lancamento.Movimento.Item.IItem item in movimento.Itens)
            {
                result.Itens.Add(new Data.Faturamento.Lancamento.Movimento.Item.NFe.Item()
                        {
                            EGUID = item.EGUID,
                            ItemMovimentado = item.ItemMovimentado,
                            DescricaoNF = item.DescricaoNF,
                            CFOP = item.CFOP,
                            Conferido = item.Conferido,
                            ItensEspeciais = item.ItensEspeciais,
                            Ordem = item.Ordem,
                            Quantidade = item.Quantidade,
                            QuantidadeConferida = item.QuantidadeConferida,
                            Unidade = item.Unidade,
                            ValorDescontoAcrescimo = item.ValorDescontoAcrescimo,
                            ValorUnitarioBruto = item.ValorUnitarioBruto,
                            Vendedor = item.Vendedor,
                            PercentualImpostoAproximadoFederal = item.PercentualImpostoAproximadoFederal,
                            PercentualImpostoAproximadoImport = item.PercentualImpostoAproximadoImport,
                            PercentualImpostoAproximadoEstadual = item.PercentualImpostoAproximadoEstadual,
                            PercentualImpostoAproximadoMunicipal = item.PercentualImpostoAproximadoMunicipal,
                            TabelaPreco = item.TabelaPreco
                        });
            }

            return result;
        }
Example #2
0
        private void CarregarMovimento(IMovimento movimento)
        {
            if (movimento.IsNullOrEmpty())
            {
                MessageBox.Show("Não foi possível localizar o movimento informado");
                grdProdutos.Clear();
                return;
            }

            if (movimento.Status != Enuns.Faturamento.Lancamento.Status.Aberto)
            {
                MessageBox.Show("Não é possível fazer a impressão desse movimento, pois a sua situação é: " + movimento.Status.GetDescription());
                return;
            }

            Movimento = movimento;
            // Completar o campo txt com Eguid
            txtCodigo.Text = Movimento.EGUID;
            txtCodBarra.Focus();

            //Limpa as linhas da grid antes de adicionar
            grdProdutos.Clear();
            //Popula os produtos do movimento selecionado
            foreach (Model.Faturamento.Lancamento.Movimento.Item.IItem itemMov in Movimento.Itens)
            {
                Model.Cadastro.Item.Produto.IProduto produto = itemMov.ItemMovimentado as Model.Cadastro.Item.Produto.IProduto;

                grdProdutos.Rows.Add(new object[]
                {
                    itemMov.GUID.ToString(),
                    itemMov.ItemMovimentado.EGUID.ToString(),
                    itemMov.ItemMovimentado.Descricao,
                    produto.IsNullOrEmpty() ? "" : produto.CodigosBarras.FirstOrDefault().Codigo,
                    Unimake.Convert.ToDouble(itemMov.Quantidade),
                    0,
                    false,
                    itemMov.ItemMovimentado
                });
            }
        }