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> CanAddProduct(Product product, int relativeWeight = 1)
        {
            List <string> errors = new List <string>();

            if (product == null)
            {
                errors.Add(ValidationMessage.MustSpecify("product"));
            }
            else
            {
                if (product.Id == 0)
                {
                    errors.Add(ValidationMessage.MustSpecify("product id"));
                }
                else if (IncludedProducts.FirstOrDefault(x => x.ProductId == product.Id) != null)
                {
                    errors.Add(ValidationMessage.AlreadyExists("product"));
                }
            }

            if (relativeWeight < 0)
            {
                errors.Add(ValidationMessage.Incorrect("relative weight"));
            }

            return(errors);
        }
        public IReadOnlyList <string> CanAddAdvancePriceItem(Price price, ProlongationPeriod period)
        {
            List <string> errors = new List <string>();

            if (price == null)
            {
                errors.Add(ValidationMessage.MustSpecify("price"));
            }

            if (period == null)
            {
                errors.Add(ValidationMessage.MustSpecify("period"));
            }
            else
            {
                if (price != null && AdvancePrices.FirstOrDefault(x => x.Period == period &&
                                                                  x.Price.Currency == price.Currency) !=
                    null)
                {
                    errors.Add(ValidationMessage.AlreadyExists("prepay price for specified period"));
                }
            }

            return(errors);
        }
        public IReadOnlyList <string> CanAddApplicationSetting(ApplicationSettingValue applicationSetting)
        {
            List <string> errors = new List <string>();

            if (applicationSetting == null)
            {
                errors.Add(ValidationMessage.MustSpecify("application setting"));
            }

            return(errors);
        }
Beispiel #5
0
        public IReadOnlyList <string> CanChangePriceItem(Price price, ProlongationPeriod period)
        {
            List <string> errors = new List <string>();

            if (price == null)
            {
                errors.Add(ValidationMessage.MustSpecify("price"));
            }
            if (period == null)
            {
                errors.Add(ValidationMessage.MustSpecify("period"));
            }

            return(errors);
        }
        public IReadOnlyList <string> CanChangeContractKind(ContractKind contractKind)
        {
            List <string> errors = new List <string>();

            if (contractKind == null)
            {
                errors.Add(ValidationMessage.MustSpecify("product option"));
            }
            else
            {
                if (contractKind.Id == 0)
                {
                    errors.Add(ValidationMessage.MustSpecify("product option id"));
                }
            }

            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);
        }
        public IReadOnlyList <string> CanChangeProduct(Product product, int relativeWeight = 1)
        {
            List <string> errors = new List <string>();

            if (product == null)
            {
                errors.Add(ValidationMessage.MustSpecify("product"));
            }
            else
            {
                if (product.Id == 0)
                {
                    errors.Add(ValidationMessage.MustSpecify("product id"));
                }
            }

            if (relativeWeight < 0)
            {
                errors.Add(ValidationMessage.Incorrect("relative weight"));
            }

            return(errors);
        }
        public IReadOnlyList <string> CanAddContractKind(ContractKind contractKind)
        {
            List <string> errors = new List <string>();

            if (contractKind == null)
            {
                errors.Add(ValidationMessage.MustSpecify("product option"));
            }
            else
            {
                if (contractKind.Id == 0)
                {
                    errors.Add(ValidationMessage.MustSpecify("product option id"));
                }

                if (ContractKindBindings.FirstOrDefault(x => x.ContractKindId == contractKind.Id) != null)
                {
                    errors.Add(ValidationMessage.AlreadyExists("product option"));
                }
            }

            return(errors);
        }