/// <summary> /// Constructor /// </summary> public AddToCartEntityValidator(int UserId, string UserToken, IAddToCartActions addToCartActions) { _iAddToCartActions = addToCartActions; RuleFor(m => m) .NotEmpty() .NotNull() .Must(r => BeAValidRestaurant(r, UserId, UserToken)).When(p => p.RestaurantId != 0).WithMessage("Invalid Restaurant"); RuleFor(m => m) .NotEmpty() .NotNull(); //.Must(r => BeAValidItemOrder(r, UserId, UserToken)).When(p => p.RestaurantId != 0).WithMessage("Invalid order"); RuleFor(m => m.CustomerId) .NotEmpty() .NotNull(); // .Must(BeAValidCustomer).When(p => p.Customer_Id != 0).WithMessage("Invalid Customer"); RuleFor(m => m.OrderMenuDetails) .NotNull() .Must(m => m.Count > 0) .WithMessage("Menu items cannot be empty"); RuleForEach(m => m.OrderMenuDetails).SetValidator(new OrderMenuValidator()); }
/// <summary> /// Inject buisiness layer dependency /// </summary> /// <param name="placeOrderActions">Instance of this interface is injected in startup</param> /// <param name="logService"></param> /// <param name="addToCartActions"></param> public OrderFoodController(IPlaceOrderActions placeOrderActions, ILogService logService, IAddToCartActions addToCartActions) { _placeOrderActions = placeOrderActions; _logService = logService; _addToCartActions = addToCartActions; }