/// <summary> /// Initialize repositories /// </summary> /// <param name="httpContextAccessor"></param> /// <param name="cartRepository"></param> /// <param name="cartItemRepository"></param> /// <param name="productRepository"></param> public CartService(IHttpContextAccessor httpContextAccessor, ICartRepository cartRepository, ICartDetailsRepository cartItemRepository, IProductRepository productRepository) { _httpContext = httpContextAccessor.HttpContext; _cartRepository = cartRepository; _cartItemRepository = cartItemRepository; _productRepository = productRepository; }
/// <summary> /// Initialize repositories and cart service /// </summary> /// <param name="customerRepository"></param> /// <param name="addressRepository"></param> /// <param name="orderRepository"></param> /// <param name="orderItemRepository"></param> /// <param name="cartRepository"></param> /// <param name="cartItemRepository"></param> /// <param name="cartService"></param> public CheckoutService(ICustomerRepository customerRepository, IShipmentRepository addressRepository, IOrderRepository orderRepository, IOrderDetailsRepository orderItemRepository, ICartRepository cartRepository, ICartDetailsRepository cartItemRepository, ICartService cartService) { _customerRepository = customerRepository; _shipmentRepository = addressRepository; _orderRepository = orderRepository; _orderItemRepository = orderItemRepository; _cartRepository = cartRepository; _cartItemRepository = cartItemRepository; _cartService = cartService; }
// GET: api/<ShoppingCartController> public ShoppingCartController(ICartDetailsRepository cartRepository) { _cartRepository = cartRepository;//why doing this inside a constructor ? the dependency provided inside startup.cs file sends instance of class that needs to be implented which gets assigned to interface reference. }
public CustomerService(ICustomerRepository context, IProductRepository product, ICartDetailsRepository cartDetailsRepository) { _customerRepository = context; this._productRepository = product; _cartDetailsRepository = cartDetailsRepository; }