예제 #1
0
        public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            IGetValues values     = new ModelBinderValues(bindingContext);
            var        salaryBand = values.GetStringValue(bindingContext.ModelName);

            if (string.IsNullOrEmpty(salaryBand))
            {
                return(null);
            }

            decimal?lowerBand = null;
            decimal?upperBand = null;

            try
            {
                salaryBand = salaryBand.Replace("-candidates", string.Empty);

                if (salaryBand.StartsWith("up-to-", StringComparison.InvariantCultureIgnoreCase))
                {
                    upperBand = ParseSalaryBand(salaryBand.Replace("up-to-", string.Empty));
                }
                else if (salaryBand.EndsWith("-and-above", StringComparison.InvariantCultureIgnoreCase))
                {
                    lowerBand = ParseSalaryBand(salaryBand.Replace("-and-above", string.Empty));
                }
                else
                {
                    var bands = salaryBand.Split('-');

                    if (bands.Length == 2)
                    {
                        lowerBand = ParseSalaryBand(bands[0]);
                        upperBand = ParseSalaryBand(bands[1]);
                    }
                }

                return(new Salary {
                    LowerBound = lowerBand, UpperBound = upperBand
                });
            }
            catch (Exception)
            {
            }

            return(null);
        }
예제 #2
0
        private string GetIndustryUrlName(ModelBindingContext bindingContext)
        {
            IGetValues values          = new ModelBinderValues(bindingContext);
            var        industryUrlName = values.GetStringValue(bindingContext.ModelName);

            if (string.IsNullOrEmpty(industryUrlName))
            {
                return(null);
            }

            // Remove any suffix.

            foreach (var suffix in _suffixes)
            {
                if (industryUrlName.EndsWith(suffix))
                {
                    return(industryUrlName.Substring(0, industryUrlName.Length - suffix.Length));
                }
            }

            return(industryUrlName);
        }