public ViewResult NewLoan(LoanCalculationInput input)
        {
            if (ModelState.IsValid)
            {
                return(View("PaymentSummary", new PaymentSummary(input, feeOptions.Value)));
            }

            return(View());
        }
예제 #2
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            LoanCalculationInput input = (LoanCalculationInput)validationContext.ObjectInstance;

            if (input.DeliveryDate == null)
            {
                return(ValidationResult.Success); //Other validation attributes should catch this
            }

            if (input.DeliveryDate < DateTime.UtcNow.Date)
            {
                return(new ValidationResult("Delivery date cannot be in the past."));
            }

            return(ValidationResult.Success);
        }
예제 #3
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            LoanCalculationInput input = (LoanCalculationInput)validationContext.ObjectInstance;

            if (input.VehiclePrice.HasValue && input.VehiclePrice.Value > 0 &&
                input.DepositAmount.HasValue && input.DepositAmount.Value > 0)
            {
                decimal depositAmount = input.DepositAmount.Value;
                decimal vehiclePrice  = input.VehiclePrice.Value;

                if (depositAmount > vehiclePrice)
                {
                    return(new ValidationResult("Deposit amount should be less than the vehicle price."));
                }

                if (depositAmount < (15 * vehiclePrice) / 100)
                {
                    return(new ValidationResult("Required minimum deposit amount is 15%."));
                }
            }

            return(ValidationResult.Success);
        }