Newer
Older
TestingWithoutInterfaces / src / ApplicationCore / Extensions / GuardExtensions.cs
@Derek Comartin Derek Comartin on 5 Dec 2022 660 bytes Init
using System.Collections.Generic;
using System.Linq;
using Microsoft.eShopWeb.ApplicationCore.Entities.BasketAggregate;
using Microsoft.eShopWeb.ApplicationCore.Exceptions;

namespace Ardalis.GuardClauses;

public static class BasketGuards
{
    public static void NullBasket(this IGuardClause guardClause, int basketId, Basket basket)
    {
        if (basket == null)
            throw new BasketNotFoundException(basketId);
    }

    public static void EmptyBasketOnCheckout(this IGuardClause guardClause, IReadOnlyCollection<BasketItem> basketItems)
    {
        if (!basketItems.Any())
            throw new EmptyBasketOnCheckoutException();
    }
}