public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var validator = new ProfileViewModelValidator(); var result = validator.Validate(this); return(result.Errors.Select(item => new ValidationResult(item.ErrorMessage, new[] { item.PropertyName }))); }
public ActionResult Save(ProfileViewModel model) { var result = new ProfileViewModel(); var validator = new ProfileViewModelValidator(); var validationResult = validator.Validate(model); if (validationResult.IsValid) { var request = model.ConvertToUpdateProfileRequest(); request.IdentityToken = this.FormsAuthentication.GetAuthenticationToken(); var response = this.membershipService.UpdateProfile(request); result = response.ConvertToProfileViewModel(); result.Message = response.Message; } else { result.MessageType = MessageType.Warning.ToString(); result.Message = CommonResources.ProfileUpdateErrorMessage; result.FirstName = model.FirstName; result.LastName = model.LastName; result.NotifyOnOrderStatusChanged = model.NotifyOnOrderStatusChanged; result.NotifyOnPackageStatusChanged = model.NotifyOnPackageStatusChanged; result.BrokenRules = new List<BusinessRule>(); foreach (var failure in validationResult.Errors) { result.BrokenRules.Add(new BusinessRule(failure.PropertyName, failure.CustomState.ToString())); } } result.Email = this.FormsAuthentication.GetAuthenticationToken(); var jsonNetResult = new JsonNetResult { Formatting = (Formatting)Newtonsoft.Json.Formatting.Indented, Data = result }; return jsonNetResult; }