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); } } }
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); }
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; }
public Stream GerarPdfStream(PedidoSelo pedido, ControllerContext controllerContext) { return(new MemoryStream(GerarPdfByte(pedido, controllerContext))); }