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)); } }
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)); }