public Age(Individual ind, FactDate when) : this() { if (when.IsAfter(ind.DeathDate)) { when = ind.DeathDate; } log.Debug("Calculating Age for " + ind.Name + " on " + when.ToString()); log.Debug("Min age: birth enddate:" + ind.BirthDate.EndDate + " to startdate:" + when.StartDate); log.Debug("Max age: birth startdate:" + ind.BirthDate.StartDate + " to enddate:" + when.EndDate); MinAge = GetAge(ind.BirthDate.EndDate, when.StartDate); MaxAge = GetAge(ind.BirthDate.StartDate, when.EndDate); log.Debug("Calculated minage:" + MinAge + " calculated maxage:" + MaxAge); if (MinAge == FactDate.MINYEARS) { if (MaxAge == FactDate.MAXYEARS) { age = "Unknown"; } else { age = MaxAge == 0 ? "< 1" : "<=" + MaxAge; } } else if (MaxAge < FactDate.MAXYEARS) { age = MinAge == MaxAge?MinAge.ToString() : MinAge + " to " + MaxAge; } else { // if age over maximum return maximum age = ">=" + MinAge; } }
public override bool IsSearchContains(string text) { text = text.ToUpper(); if (Type.ToUpper().Contains(text) || ID.ToString().Contains(text) || Name.ToUpper().Contains(text) || Price.ToString().Contains(text) || MinAge.ToString().Contains(text) || MaxAge.ToString().Contains(text)) { return(true); } else { return(false); } }
public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context) { var rule = new ModelClientValidationRule() { ErrorMessage = String.IsNullOrEmpty(ErrorMessage) ? FormatErrorMessage(metadata.DisplayName) : ErrorMessage, ValidationType = "agerange", }; var dates = new List <string> { MinAge.ToString(), MaxAge.ToString() }; var errorMessages = new List <string> { MinAgeErrorMessage, MaxAgeErrorMessage, InvalidErrorMessage }; rule.ValidationParameters.Add("dates", dates.ToConcatenatedString(" ")); rule.ValidationParameters.Add("errormessages", errorMessages.ToConcatenatedString()); yield return(rule); }