public ActionResult EditRate(int?scanRateId, ScanRate model) { if (ModelState.IsValid) { ScanRateEntity scanRate = scanRateId.HasValue ? new ScanRateEntity(scanRateId.Value) : new ScanRateEntity(); scanRate.ScanType = model.ScanType; scanRate.RatePerScan = model.RatePerScan; scanRate.MinCountForRate = model.MinCountForRate; scanRate.MaxCountForRate = model.MaxCountForRate; scanRate.EffectiveDate = model.EffectiveDate; scanRate.IsActive = model.IsActive; // save the scan rate scanRate.Save(); } else { Response.StatusCode = 417; Response.TrySkipIisCustomErrors = true; } return((Request.IsAjaxRequest() || ControllerContext.IsChildAction) ? (ActionResult)PartialView(model) : View(model)); }
public ScanRate(int?scanRateId) { ScanRateEntity scanRate; if (scanRateId.HasValue && !(scanRate = new ScanRateEntity(scanRateId.Value)).IsNew) { ScanType = scanRate.ScanType; RatePerScan = scanRate.RatePerScan; MinCountForRate = scanRate.MinCountForRate; MaxCountForRate = scanRate.MaxCountForRate; EffectiveDate = scanRate.EffectiveDate; IsActive = scanRate.IsActive; } }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { var otherPropertyInfo = validationContext.ObjectType.GetProperty(OtherProperty); var otherPropertyValue = new ScanRateEntity((int)otherPropertyInfo.GetValue(validationContext.ObjectInstance, null)); if (otherPropertyValue.IsNew) { return(null); } if ((int)value < otherPropertyValue.MinCountForRate || (int)value > otherPropertyValue.MaxCountForRate) { return(new ValidationResult(string.Format(CultureInfo.CurrentCulture, ErrorMessageString, validationContext.DisplayName, otherPropertyValue.MinCountForRate, otherPropertyValue.MaxCountForRate))); } return(null); }