예제 #1
0
            public Visualizacao(RegistroVenda venda)
            {
                ID             = venda.Id.ToString().ToUpper();
                NFeRelacionada = venda.NotaFiscalRelacionada;
                DataVenda      = venda.DataHoraVenda.ToString("dd-MM-yyyy");
                Emitente       = DefinicoesTemporarias.EmitenteAtivo;

                TipoFrete         = venda.TipoFrete;
                PrazoEntrega      = venda.PrazoEntrega != default(DateTime) ? venda.PrazoEntrega.ToString("dd/MM/yyyy") : null;
                PrazoPagamento    = venda.PrazoPagamento;
                FormaPagamento    = venda.FormaPagamento;
                CondicaoPagamento = venda.CondicaoPagamento;
                Observacoes       = venda.Observações;

                using (var repo = new BaseGeral.Repositorio.Leitura())
                {
                    Cliente           = repo.ObterCliente(venda.Cliente);
                    Comprador         = venda.Comprador != Guid.Empty ? repo.ObterComprador(venda.Comprador) : null;
                    Motorista         = venda.Motorista != Guid.Empty ? repo.ObterMotorista(venda.Motorista) : null;
                    Vendedor          = venda.Vendedor != Guid.Empty ? repo.ObterVendedor(venda.Vendedor) : null;
                    ProdutosCompletos = venda.Produtos.Select(x => repo.ObterProduto(x.IdBase)).ToArray();
                    if (venda.Cancelado)
                    {
                        Cancelamento = repo.ObterCRV(venda.Id);
                    }
                }

                Produtos = venda.Produtos.Select(x => new Produto
                {
                    Descricao  = ProdutosCompletos.First(k => k.Id == x.IdBase).Descricao,
                    Quantidade = x.Quantidade.ToString("N2"),
                    TotalBruto = (x.Quantidade * x.ValorUnitario).ToString("N2")
                }).ToList();
            }