public JsonResult Subscription( SubscribeViewModel subscribeViewModel, SubscriptionValidator subscriptionValidator) { Throw.IfNull(subscribeViewModel, nameof(subscribeViewModel)); Throw.IfNull(subscriptionValidator, nameof(subscriptionValidator)); subscriptionValidator.SetMessageToEmailValidator(subscribeViewModel.EmailValidationMessage); var modelState = subscriptionValidator.Validate(subscribeViewModel); var success = false; var validationMessages = modelState.Errors.FirstOrDefault()?.ErrorMessage; if (modelState.IsValid) { success = _mailingService.Subscribe(subscribeViewModel); } return(Json(new { success, validationMessages })); }