public IReadOnlyList <string> CanAddProductOption(ProductOption productOption, int quantity = 1)
        {
            List <string> errors = new List <string>();

            if (quantity <= 0)
            {
                errors.Add(ValidationMessage.MustBeGreater("Product option quantity", "0"));
            }
            else if (productOption == null)
            {
                errors.Add(ValidationMessage.MustSpecify("product option"));
            }
            else
            {
                if (productOption.Id == 0)
                {
                    errors.Add(ValidationMessage.MustSpecify("product option id"));
                }

                if (IncludedProductOptions.FirstOrDefault(x => x.ProductOptionId == productOption.Id) != null)
                {
                    errors.Add(ValidationMessage.AlreadyExists("product option"));
                }
            }

            return(errors);
        }
        public IReadOnlyList <string> CanChangeProductOption(ProductOption productOption, int quantity = 1)
        {
            List <string> errors = new List <string>();

            if (quantity <= 0)
            {
                errors.Add(ValidationMessage.MustBeGreater("Product option quantity", "0"));
            }
            else if (productOption == null)
            {
                errors.Add(ValidationMessage.MustSpecify("product option"));
            }
            else
            {
                if (productOption.Id == 0)
                {
                    errors.Add(ValidationMessage.MustSpecify("product option id"));
                }
            }

            return(errors);
        }