Exemplo n.º 1
0
        public PedidoSeloViewModel(PedidoSelo pedido)
        {
            if (pedido != null)
            {
                Id                       = pedido.Id;
                Cliente                  = new ClienteViewModel(pedido?.Cliente);
                Convenio                 = new ConvenioViewModel(pedido?.Convenio);
                Unidade                  = new UnidadeViewModel(pedido?.Unidade);
                DataInsercao             = pedido.DataInsercao;
                TiposPagamento           = pedido.TiposPagamento;
                Desconto                 = new DescontoViewModel(pedido?.Desconto);
                ValidadePedido           = pedido.ValidadePedido;
                TipoSelo                 = new TipoSeloViewModel(pedido?.TipoSelo);
                Quantidade               = pedido.Quantidade;
                DiasVencimento           = pedido.DiasVencimento;
                DataVencimento           = pedido.DataVencimento;
                TipoPedidoSelo           = pedido.TipoPedidoSelo;
                EmissaoSelo              = pedido?.EmissaoSelo?.Id ?? 0;
                NumeroLoteSelo           = pedido?.EmissaoSelo?.NumeroLote ?? string.Empty;
                StatusEmissaoSelo        = pedido?.EmissaoSelo?.StatusSelo;
                Proposta                 = new PropostaViewModel(pedido?.Proposta);
                Notificacoes             = pedido?.Notificacoes?.Select(x => new PedidoSeloNotificacaoViewModel()).ToList();
                StatusPedido             = pedido.StatusPedido;
                StatusLancamentoCobranca = pedido?.UltimoLancamento?.StatusLancamentoCobranca ?? StatusLancamentoCobranca.EmAberto;

                if (pedido?.Usuario != null)
                {
                    Usuario = new UsuarioViewModel(pedido.Usuario);
                }
            }
        }
Exemplo n.º 2
0
        public EmissaoSelo ToEntity()
        {
            var entidade = new EmissaoSelo
            {
                Id                = Id,
                DataInsercao      = DataInsercao,
                Validade          = Validade,
                StatusSelo        = StatusSelo,
                ClienteRemetente  = ClienteRemetente,
                EntregaRealizada  = EntregaRealizada,
                DataEntrega       = DataEntrega,
                PedidoSelo        = PedidoSelo?.ToEntity() ?? new PedidoSelo(),
                Responsavel       = Responsavel,
                Selo              = Selo?.Select(x => x.ToEntity())?.ToList() ?? new List <Selo>(),
                NomeImpressaoSelo = NomeImpressaoSelo
            };

            return(entidade);
        }
Exemplo n.º 3
0
        public byte[] GerarPdfByte(PedidoSelo pedido, ControllerContext controllerContext)
        {
            var pageSize       = (PdfPageSize)Enum.Parse(typeof(PdfPageSize), "A4", true);
            var pdfOrientation = (PdfPageOrientation)Enum.Parse(typeof(PdfPageOrientation), "Portrait", true);

            var converter = new HtmlToPdf();

            converter.Options.PdfPageSize        = pageSize;
            converter.Options.PdfPageOrientation = pdfOrientation;
            converter.Options.AutoFitHeight      = HtmlToPdfPageFitMode.AutoFit;
            converter.Options.AutoFitWidth       = HtmlToPdfPageFitMode.AutoFit;

            var valorTotal = _pedidoSeloServico.RetornaValorSeloComDesconto(pedido) * pedido.Quantidade;

            var contexto  = HttpContext.Current;
            var viewModel = new PropostaPdfViewModel
            {
                Empresa              = RetornaNomeCliente(pedido.Proposta),
                Telefone             = BuscarTelefoneHelper(pedido.Proposta.Cliente.Id),
                Filial               = pedido.Proposta.Unidade.Nome,
                Endereco             = BuscarEnderecoHelper(pedido.Unidade.Id),
                HorarioFuncionamento = BuscarHorarioFuncionamentoHelper(pedido.Unidade.Id),
                CaminhoImagemLogo    = $"{contexto.Request.Url.Scheme}://{contexto.Request.Url.Authority}/content/img/logo.png",
                CaminhoImagemTicket  = $"{contexto.Request.Url.Scheme}://{contexto.Request.Url.Authority}/content/img/ticket.png",
                PossuiValidade       = pedido.TipoSelo.ComValidade,
                TipoPagamento        = pedido.TiposPagamento,
                Quantidade           = pedido.Quantidade.ToString(),
                ValorTotal           = valorTotal.ToString("N2"),
                Periodo              = pedido.TipoSelo.Nome
            };

            var html = RazorHelper.RenderRazorViewToString(controllerContext, "_Pdf", viewModel);
            var doc  = converter.ConvertHtmlString(html);
            var pdf  = doc.Save();

            doc.Close();

            return(pdf);
        }
 public PedidoSeloSoftparkViewModel(PedidoSelo PedidoSelo)
 {
     Id           = PedidoSelo.Id;
     DataInsercao = PedidoSelo.DataInsercao;
 }
Exemplo n.º 5
0
 public Stream GerarPdfStream(PedidoSelo pedido, ControllerContext controllerContext)
 {
     return(new MemoryStream(GerarPdfByte(pedido, controllerContext)));
 }