public void Validate(Validations validationType = Validations.Weak)
 {
     InputValidators.ValidateObjectNotNull(Customer, "Customer");
     Customer.Validate(validationType);
     if (StartingPrice != null)
     {
         InputValidators.ValidateZeroOrPositiveValue((float)StartingPrice, "Starting price");
     }
 }
示例#2
0
        public void Validate(Validations validationType = Validations.Weak)
        {
            InputValidators.ValidateValuedString(FulfillmentId, "Fulfillment Id");
            InputValidators.ValidateDateNotDefault(CreatedAt.GetValueOrDefault(), "Created At");
            InputValidators.ValidateObjectNotNull(Status, "Status");


            LineItems?.ToList().ForEach(item => item.Validate(validationType));
        }
示例#3
0
        public void Validate(Validations validationType = Validations.Weak)
        {
            InputValidators.ValidateObjectNotNull(ExternalStatus, "External Status");
            if (DecidedAt != null)
            {
                InputValidators.ValidateDateNotDefault(DecidedAt.Value, "Decided At");
            }

            if (Currency != null)
            {
                InputValidators.ValidateCurrency(Currency);
            }
        }
示例#4
0
 public void Validate(Validations validationType = Validations.Weak)
 {
     InputValidators.ValidateObjectNotNull(ErrorCode, "Error Code");
 }
示例#5
0
 /// <summary>
 ///     Validates the objects fields content
 /// </summary>
 /// <param name="validationType">Validation level of the model</param>
 /// <exception cref="OrderFieldBadFormatException">
 ///     throws an exception if one of the parameters doesn't match the expected
 ///     format
 /// </exception>
 public override void Validate(Validations validationType = Validations.Weak)
 {
     base.Validate(validationType);
     InputValidators.ValidateObjectNotNull(Decision, "Decision");
     Decision.Validate(validationType);
 }
示例#6
0
 public override void Validate(Validations validationType = Validations.Weak)
 {
     base.Validate(validationType);
     InputValidators.ValidateObjectNotNull(Refunds, "Refunds");
     Refunds.ToList().ForEach(item => item.Validate(validationType));
 }
 public override void Validate(Validations validationType = Validations.Weak)
 {
     base.Validate(validationType);
     InputValidators.ValidateObjectNotNull(Fulfillments, "Fulfillments");
     Fulfillments.ToList().ForEach(item => item.Validate(validationType));
 }
示例#8
0
文件: Order.cs 项目: aflopes/sdk_net
        /// <summary>
        /// Validates the objects fields content
        /// </summary>
        /// <param name="isWeak">Should use weak validations or strong</param>
        /// <exception cref="OrderFieldBadFormatException">throws an exception if one of the parameters doesn't match the expected format</exception>
        public override void Validate(Validations validationType = Validations.Weak)
        {
            base.Validate(validationType);
            InputValidators.ValidateObjectNotNull(LineItems, "Line Items");
            LineItems.ToList().ForEach(item => item.Validate(validationType));
            InputValidators.ValidateObjectNotNull(ShippingLines, "Shipping Lines");
            ShippingLines.ToList().ForEach(item => item.Validate(validationType));
            if (PaymentDetails == null && NoChargeAmount == null)
            {
                throw new Exceptions.OrderFieldBadFormatException("Both PaymentDetails and NoChargeDetails are missing - at least one should be specified");
            }
            if (PaymentDetails != null)
            {
                PaymentDetails.Validate(validationType);
            }
            else
            {
                NoChargeAmount.Validate(validationType);
            }

            if (validationType == Validations.Weak)
            {
                if (BillingAddress == null && ShippingAddress == null)
                {
                    throw new Exceptions.OrderFieldBadFormatException("Both shipping and billing addresses are missing - at least one should be specified");
                }

                if (BillingAddress != null)
                {
                    BillingAddress.Validate(validationType);
                }
                else
                {
                    ShippingAddress.Validate(validationType);
                }
            }
            else
            {
                InputValidators.ValidateObjectNotNull(BillingAddress, "Billing Address");
                BillingAddress.Validate(validationType);
                InputValidators.ValidateObjectNotNull(ShippingAddress, "Shipping Address");
                ShippingAddress.Validate(validationType);
            }

            InputValidators.ValidateObjectNotNull(Customer, "Customer");
            Customer.Validate(validationType);
            InputValidators.ValidateEmail(Email);
            InputValidators.ValidateIp(CustomerBrowserIp);
            InputValidators.ValidateCurrency(Currency);
            InputValidators.ValidateZeroOrPositiveValue(TotalPrice.Value, "Total Price");
            InputValidators.ValidateValuedString(Gateway, "Gateway");
            InputValidators.ValidateDateNotDefault(CreatedAt.Value, "Created At");
            InputValidators.ValidateDateNotDefault(UpdatedAt.Value, "Updated At");

            // optional fields validations
            if (DiscountCodes != null && DiscountCodes.Length > 0)
            {
                DiscountCodes.ToList().ForEach(item => item.Validate(validationType));
            }
            if (TotalPriceUsd.HasValue)
            {
                InputValidators.ValidateZeroOrPositiveValue(TotalPriceUsd.Value, "Total Price USD");
            }
            if (TotalDiscounts.HasValue)
            {
                InputValidators.ValidateZeroOrPositiveValue(TotalDiscounts.Value, "Total Discounts");
            }
            if (ClosedAt.HasValue)
            {
                InputValidators.ValidateDateNotDefault(ClosedAt.Value, "Closed At");
            }
        }