Cleaning things up and getting add item to cart working for anonymous or authenticated users.

This commit is contained in:
Steve Smith committed 2017-07-24 16:45:54 -04:00
1 parent fb95b37da8
commit 925ad6b557
13 files changed
+182 -54

No files matched your search

+53
View File
@@ -0,0 +1,53 @@
using ApplicationCore.Interfaces;
using System.Threading.Tasks;
using Microsoft.eShopWeb.ApplicationCore.Entities;
using Microsoft.eShopWeb.Infrastructure;
using Microsoft.EntityFrameworkCore;
namespace Web.Services
{
public class BasketService : IBasketService
{
private readonly CatalogContext _context;
public BasketService(CatalogContext context)
{
_context = context;
}
public async Task<Basket> GetBasket(string basketId)
{
var basket = await _context.Baskets
.Include(b => b.Items)
.FirstOrDefaultAsync(b => b.Id == basketId);
if (basket == null)
{
basket = new Basket();
_context.Baskets.Add(basket);
await _context.SaveChangesAsync();
}
return basket;
}
public Task<Basket> CreateBasket()
{
return CreateBasketForUser(null);
}
public async Task<Basket> CreateBasketForUser(string userId)
{
var basket = new Basket();
_context.Baskets.Add(basket);
await _context.SaveChangesAsync();
return basket;
}
public async Task UpdateBasket(Basket basket)
{
// only need to save changes here
await _context.SaveChangesAsync();
}
}
}