public async Task <Compra> CompraPorEstado(string userId, EnumEstadoCompra estado)
 {
     using (var banco = new ContextBase(_optionsbuilder))
     {
         return(await banco.Compra.FirstOrDefaultAsync(c => c.Estado == estado && c.UserId == userId));
     }
 }
Exemple #2
0
        public async Task <CompraUsuario> ProdutosCompradosPorEstado(string userId, EnumEstadoCompra estado)
        {
            using (var banco = new ContextBase(_optionsbuilder))
            {
                var compraUsuario = new CompraUsuario();
                compraUsuario.ListaProdutos = new List <Produto>();

                var produtosCarrinhoUsuario = await(from p in banco.Produto
                                                    join c in banco.CompraUsuario on p.Id equals c.IdProduto
                                                    where c.UserId.Equals(userId) && c.Estado == estado
                                                    select new Produto
                {
                    Id                = p.Id,
                    Nome              = p.Nome,
                    Descricao         = p.Descricao,
                    Observacao        = p.Observacao,
                    Valor             = p.Valor,
                    QtdCompra         = c.QtdCompra,
                    IdProdutoCarrinho = c.Id,
                    Url               = p.Url,
                }).AsNoTracking().ToListAsync();


                compraUsuario.ListaProdutos   = produtosCarrinhoUsuario;
                compraUsuario.ApplicationUser = await banco.ApplicationUser.FirstOrDefaultAsync(u => u.Id.Equals(userId));

                compraUsuario.QuantidadeProdutos = produtosCarrinhoUsuario.Count();
                compraUsuario.EnderecoCompleto   = string.Concat(compraUsuario.ApplicationUser.Endereco, " - ", compraUsuario.ApplicationUser.ComplementoEndereco, " - CEP: ", compraUsuario.ApplicationUser.CEP);
                compraUsuario.ValorTotal         = produtosCarrinhoUsuario.Sum(v => v.Valor);
                compraUsuario.Estado             = estado;
                return(compraUsuario);
            }
        }
 public async Task <Compra> CompraPorEstado(string userId, EnumEstadoCompra estado)
 {
     return(await _ICompra.CompraPorEstado(userId, estado));
 }