/// <summary> /// Writes specified DataValidationError into JSON. /// </summary> /// <param name="jsonWriter">The <see cref="JsonWriter"/>.</param> /// <param name="dataValidationError">The DataValidationError object.</param> /// <returns>This <see cref="JsonWriter"/> for fluent coding.</returns> public static JsonWriter Write(this JsonWriter jsonWriter, DataValidationError dataValidationError) { return(jsonWriter .WriteStartObject() .WriteNameStringPair(MESSAGE, dataValidationError.Message).WriteComma() .WriteColumns(dataValidationError.Source) .WriteEndObject()); }
public void InputManager_SetAsyncErrors() { var dataSet = DataSet <ProductCategory> .Create(); var _ = dataSet._; dataSet.Add(new DataRow()); RowBinding <TextBox> textBox = null; var inputManager = dataSet.CreateInputManager(builder => { textBox = _.Name.BindToTextBox(); builder.GridColumns("100").GridRows("100").AddBinding(0, 0, textBox).WithRowValidationMode(ValidationMode.Implicit); }); var currentRow = inputManager.CurrentRow; Assert.IsNull(_.Name[0]); { var errors = System.Windows.Controls.Validation.GetErrors(textBox[currentRow]); Assert.AreEqual(1, errors.Count); var errorMessage = (DataValidationError)errors[0].ErrorContent; Assert.AreEqual(_.Name, errorMessage.Source); } var error = new DataValidationError("Result Error", _.Name); var results = DataValidationResults.Empty.Add(new DataValidationResult(currentRow.DataRow, error)); inputManager.RowValidation.SetAsyncErrors(results); { var errors = System.Windows.Controls.Validation.GetErrors(textBox[currentRow]); Assert.AreEqual(2, errors.Count); Assert.AreEqual(error, errors[1].ErrorContent); } textBox[currentRow].Text = "any value"; { var errors = System.Windows.Controls.Validation.GetErrors(textBox[currentRow]); Assert.AreEqual(0, errors.Count); } }
public static IActionResult GetResponseFromResult(this ControllerBase controllerBase, Result result) { if (result.Succeeded) { var type = result.GetType(); if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Result <>)) { return(controllerBase.Ok(type.GetProperty("Value").GetValue(result, null))); } return(controllerBase.NoContent()); } return(result.Error switch { NotFoundError e => controllerBase.BadRequest(e.Message), DataValidationError e => controllerBase.BadRequest(e.Message), AuthorizationError e => controllerBase.Forbid(e.Message), IdentityError e => controllerBase.BadRequest(e.Message), BuisnessRuleViolationError e => controllerBase.BadRequest(e.Message), _ => throw new UnhandledErrorResultException() //TODO: Error message });
private static IEnumerable <ModelValidationResult> ToModelValidationResults(string prefix, DataValidationError error) { var columns = error.Source; if (columns == null || columns.Count == 0) { yield return(new ModelValidationResult(prefix, error.Message)); yield break; } foreach (var column in columns) { var columnName = column.Name; var memberName = ModelNames.CreatePropertyModelName(prefix, columnName); yield return(new ModelValidationResult(memberName, error.Message)); } }
protected virtual void OnDataValidationError(DataValidationErrorEventArgs e) { DataValidationError?.Invoke(this, e); }