public bool PendingForUserWithItemExists(string userId, int productId) { PendingRate pendingRate = shopDbContext.PendingRates .FirstOrDefault(pr => pr.User.Id == userId && pr.Product.Id == productId); return(pendingRate != null); }
private async Task SavePendingRatesAsync(Order order) { foreach (ProductOrder productOrder in order.ProductOrders) { PendingRate pendingRate = new PendingRate(productOrder.Product, order.User.Id, order.Date); await ratesRepository.AddPendingAsync(pendingRate); } }
public async Task AddPendingAsync(PendingRate pendingRate) { if (!PendingForUserWithItemExists(pendingRate.User.Id, pendingRate.Product.Id) && !UserRateForProductExists(pendingRate.Product.Id, pendingRate.User.Id)) { shopDbContext.PendingRates.Add(pendingRate); await shopDbContext.SaveChangesAsync(); } }
public async Task RemovePendingAsync(string userId, int productId) { PendingRate pendingRateToRemove = shopDbContext.PendingRates .FirstOrDefault(pr => pr.User.Id == userId && pr.Product.Id == productId); if (pendingRateToRemove != null) { shopDbContext.PendingRates.Remove(pendingRateToRemove); await shopDbContext.SaveChangesAsync(); } }