/// <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());
 }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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
            });
Esempio n. 4
0
        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));
            }
        }
Esempio n. 5
0
 protected virtual void OnDataValidationError(DataValidationErrorEventArgs e)
 {
     DataValidationError?.Invoke(this, e);
 }