Exemple #1
0
        public bool Print(int idPedido)
        {
            _modelPedido = _modelPedido.FindById(idPedido).FirstOrDefault <Model.Pedido>();

            var dados = new PedidoItem().GetDataItens(idPedido);

            var data       = new ArrayList();
            var nr         = 0;
            var countItens = 0;

            foreach (var item in dados)
            {
                nr++;
                data.Add(new
                {
                    Nr         = nr,
                    Nome       = item.NOME,
                    CodeBarras = item.CODEBARRAS,
                    Ref        = item.REFERENCIA,
                    Qtd        = item.QUANTIDADE,
                    ValorVenda = item.VALORVENDA,
                    Price      = Validation.FormatPrice(Validation.ConvertToDouble(item.TOTAL))
                });
                countItens += item.QUANTIDADE;
            }

            var dataPgtos    = _controllerTitulo.GetDataPgtosLancados(idPedido);
            var newDataPgtos = new ArrayList();

            foreach (var item in dataPgtos)
            {
                newDataPgtos.Add(new
                {
                    Forma = item.FORMAPGTO,
                    Valor = Validation.FormatPrice(Validation.ConvertToDouble(item.RECEBIDO), true)
                });
            }

            var dataCliente  = _modelPessoa.FindById(_modelPedido.Cliente).FirstOrDefault <Model.Pessoa>();
            var dataVendedor = _modelUsuario.FindByUserId(_modelPedido.Colaborador).FirstOrDefault <Usuarios>();

            if (dataCliente != null && !string.IsNullOrEmpty(dataCliente.Id.ToString()))
            {
                _modelPessoaAddr    = _modelPessoaAddr.FindByIdUser(dataCliente.Id).FirstOrDefault <PessoaEndereco>();
                _modelPessoaContato = _modelPessoaContato.FindByIdUser(dataCliente.Id).FirstOrDefault <PessoaContato>();
            }

            var Addr = "";

            if (_modelPessoaAddr != null)
            {
                Addr = _modelPessoaAddr.Rua + " " + _modelPessoaAddr.Nr + " - CEP: " + _modelPessoaAddr.Cep + " - " +
                       _modelPessoaAddr.Complemento + " | " + _modelPessoaAddr.Bairro + " - " +
                       _modelPessoaAddr.Cidade + "/" + _modelPessoaAddr.Estado;
            }

            var titulo    = "";
            var titulo2   = "";
            var orcamento = false;

            switch (Home.pedidoPage)
            {
            case "Vendas":
                titulo    = "Venda";
                titulo2   = "Cliente";
                orcamento = true;
                break;

            case "Orçamentos":
                titulo    = "Orçamento";
                titulo2   = "Cliente";
                orcamento = false;
                break;

            case "Consignações":
                titulo    = "Consignação";
                titulo2   = "Cliente";
                orcamento = false;
                break;

            case "Devoluções":
                titulo    = "Devolução";
                titulo2   = "Cliente";
                orcamento = false;
                break;

            case "Compras":
                titulo    = "Compra";
                titulo2   = "Fornecedor";
                orcamento = false;
                break;
            }

            var html   = Template.Parse(File.ReadAllText($@"{Program.PATH_BASE}\html\CupomComprovanteVendaA4.html"));
            var render = html.Render(Hash.FromAnonymousObject(new
            {
                NomeFantasia   = Settings.Default.empresa_nome_fantasia,
                CNPJ           = Settings.Default.empresa_cnpj,
                AddressEmpresa =
                    $"{Settings.Default.empresa_rua} {Settings.Default.empresa_nr} - {Settings.Default.empresa_cep} - {Settings.Default.empresa_bairro} - {Settings.Default.empresa_cidade}/{Settings.Default.empresa_estado}",
                Logo       = Settings.Default.empresa_logo,
                Emissao    = DateTime.Now.ToString("dd/MM/yyyy"),
                Cliente    = dataCliente?.Nome ?? "",
                Vendedor   = dataVendedor?.Nome ?? "",
                Caixa      = _modelPedido.Id_Caixa,
                Obs        = _modelPedido.Observacao,
                Endereco   = Addr,
                Telefone   = _modelPessoaContato != null ? _modelPessoaContato.Telefone : "",
                Celular    = _modelPessoaContato != null ? _modelPessoaContato.Celular : "",
                Data       = data,
                Troco      = Validation.FormatPrice(_controllerTitulo.GetTroco(idPedido), true).Replace("-", ""),
                Pagamentos = newDataPgtos,
                subTotal   = Validation.FormatPrice(_modelPedido.Produtos, true),
                Descontos  = Validation.FormatPrice(_modelPedido.Desconto, true),
                Acrescimo  = Validation.FormatPrice(0, true),
                Total      = Validation.FormatPrice(_modelPedido.Total, true),
                NrVenda    = idPedido,
                titulo,
                titulo2,
                orcamento,
                count = countItens
            }));

            Browser.htmlRender = render;
            var f = new Browser {
                TopMost = true
            };

            if (f.ShowDialog() == DialogResult.OK)
            {
                return(true);
            }
            return(false);
        }