コード例 #1
0
        public async Task AddProdutoCarrinho(string userId, CompraUsuario compra)
        {
            var compraUsuarioExistente = _ICompraUsuario.List().Result.Find(c => c.IdProduto == compra.IdProduto && c.UserId == userId);

            if (compraUsuarioExistente != null)
            {
                compraUsuarioExistente.QtdCompra += compra.QtdCompra;
                await _ICompraUsuario.Update(compraUsuarioExistente);
            }
            else
            {
                await _ICompraUsuario.Add(compra);
            }
        }
コード例 #2
0
        public async Task AdicionaProdutoCarrinho(string userId, CompraUsuario compraUsuario)
        {
            var compra = await _iCompra.CompraPorEstado(userId, EnumEstadoCompra.Produto_Carrinho);

            if (compra == null)
            {
                compra = new Compra
                {
                    UserId = userId,
                    Estado = EnumEstadoCompra.Produto_Carrinho
                };
                await _iCompra.Add(compra);
            }
            if (compra.Id > 0)
            {
                compraUsuario.IdCompra = compra.Id;
                await _iCompraUsuario.Add(compraUsuario);
            }
        }
コード例 #3
0
        public async Task <IActionResult> Download(CompraUsuario compraUsuario, IWebHostEnvironment _environment)
        {
            using (var doc = new PdfSharpCore.Pdf.PdfDocument())
            {
                #region Configuracoes da folha

                var page = doc.AddPage();

                page.Size        = PdfSharpCore.PageSize.A4;
                page.Orientation = PdfSharpCore.PageOrientation.Portrait;

                var graphics = XGraphics.FromPdfPage(page);
                var corFonte = XBrushes.Black;

                #endregion

                #region Numeração das paginas

                int qtdPaginas = doc.PageCount;

                var numeracaoPagina = new PdfSharpCore.Drawing.Layout.XTextFormatter(graphics);
                numeracaoPagina.DrawString(Convert.ToString(qtdPaginas), new PdfSharpCore.Drawing.XFont("Arial", 10), corFonte, new PdfSharpCore.Drawing.XRect(575, 825, page.Width, page.Height));

                #endregion

                #region Logo

                var    webRoot    = _environment.WebRootPath;
                var    logoFatura = string.Concat(webRoot, "/img/", "loja-virtual-1.png");
                XImage imagem     = XImage.FromFile(logoFatura);
                graphics.DrawImage(imagem, 20, 5, 300, 50);

                #endregion

                #region Informações 2

                var alturaTituloDetalhesY = 120;

                var detalhes = new PdfSharpCore.Drawing.Layout.XTextFormatter(graphics);

                var tituloInfo_1 = new PdfSharpCore.Drawing.XFont("Arial", 8, XFontStyle.Regular);

                detalhes.DrawString("Dados do banco", tituloInfo_1, corFonte, new XRect(25, alturaTituloDetalhesY, page.Width, page.Height));
                detalhes.DrawString("Banco Itau 004", tituloInfo_1, corFonte, new XRect(150, alturaTituloDetalhesY, page.Width, page.Height));

                alturaTituloDetalhesY += 9;
                detalhes.DrawString("Código Gerado", tituloInfo_1, corFonte, new XRect(25, alturaTituloDetalhesY, page.Width, page.Height));
                detalhes.DrawString("000000 000000 000000 000000", tituloInfo_1, corFonte, new XRect(150, alturaTituloDetalhesY, page.Width, page.Height));


                alturaTituloDetalhesY += 9;
                detalhes.DrawString("Quantidade:", tituloInfo_1, corFonte, new XRect(25, alturaTituloDetalhesY, page.Width, page.Height));
                detalhes.DrawString(compraUsuario.QuantidadeProdutos.ToString(), tituloInfo_1, corFonte, new XRect(150, alturaTituloDetalhesY, page.Width, page.Height));

                alturaTituloDetalhesY += 9;
                detalhes.DrawString("Valor Total:", tituloInfo_1, corFonte, new XRect(25, alturaTituloDetalhesY, page.Width, page.Height));
                detalhes.DrawString(compraUsuario.QuantidadeProdutos.ToString(), tituloInfo_1, corFonte, new XRect(150, alturaTituloDetalhesY, page.Width, page.Height));

                var tituloInfo_2 = new PdfSharpCore.Drawing.XFont("Arial", 8, XFontStyle.Bold);


                try
                {
                    var img = await GeraQrCode("Dados do banco aqui");

                    Stream streamImage = new MemoryStream(img);

                    XImage qrCode = XImage.FromStream(() => streamImage);

                    alturaTituloDetalhesY += 40;
                    graphics.DrawImage(qrCode, 140, alturaTituloDetalhesY, 310, 310);
                }
                catch (Exception erro)
                {
                }

                alturaTituloDetalhesY += 620;
                detalhes.DrawString("Canhoto com QrCode para pagamento online.", tituloInfo_2, corFonte, new XRect(20, alturaTituloDetalhesY, page.Width, page.Height));

                #endregion

                using (MemoryStream stream = new MemoryStream())
                {
                    var contentType = "application/pdf";

                    doc.Save(stream, false);
                    return(File(stream.ToArray(), contentType, "BoletoLojaOnline.pdf"));
                }
            }
        }
コード例 #4
0
 public async Task Update(CompraUsuario Objeto)
 {
     await _ICompraUsuario.Update(Objeto);
 }
コード例 #5
0
 public async Task Delete(CompraUsuario Objeto)
 {
     await _ICompraUsuario.Delete(Objeto);
 }
コード例 #6
0
 public async Task Add(CompraUsuario Objeto)
 {
     await _ICompraUsuario.Add(Objeto);
 }
コード例 #7
0
 public async Task AdicionaProdutoCarrinho(string userId, CompraUsuario compraUsuario)
 {
     await _IServiceCompraUsuario.AdicionaProdutoCarrinho(userId, compraUsuario);
 }
コード例 #8
0
 public CompraValidation(CompraUsuario compraUsuario)
 {
     CompraUsuario = compraUsuario;
 }
コード例 #9
0
 public async Task Excluir(CompraUsuario Objeto)
 {
     await _ICompraUsuario.Excluir(Objeto);
 }
コード例 #10
0
 public async Task Atualizar(CompraUsuario Objeto)
 {
     await _ICompraUsuario.Atualizar(Objeto);
 }
コード例 #11
0
 public async Task Adicionar(CompraUsuario Objeto)
 {
     await _ICompraUsuario.Adicionar(Objeto);
 }