コード例 #1
0
        static void AddModelErrors(ModelStateDictionary modelState, ErrCollection errors)
        {
            string message = errors.ToString();

            if (String.IsNullOrEmpty(message))
            {
                message = null;
            }

            if (message != null)
            {
                modelState.AddModelError("", message);
            }

            foreach (var item in errors)
            {
                IList <string> memberNames = item.MemberNames.ToList();
                string         itemMessage = item.ErrorMessage;

                if (memberNames.Count > 0)
                {
                    for (int i = 0; i < memberNames.Count; i++)
                    {
                        modelState.AddModelError(memberNames[i] ?? "", itemMessage);
                    }
                }
                else
                {
                    if (message != null &&
                        itemMessage == message)
                    {
                        continue;
                    }

                    modelState.AddModelError("", itemMessage);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Adds the errors from the <paramref name="result"/> parameter to <paramref name="modelState"/>.
        /// </summary>
        /// <param name="modelState">The <see cref="ModelStateDictionary"/> instance.</param>
        /// <param name="result">The <see cref="Result"/> that contains error information.</param>
        public static void AddModelErrors(this ModelStateDictionary modelState, Result result)
        {
            if (modelState == null)
            {
                throw new ArgumentNullException("modelState");
            }
            if (result == null)
            {
                throw new ArgumentNullException("result");
            }

            object value = result.Value;

            if (value != null)
            {
                ErrCollection errors = value as ErrCollection;

                if (errors == null)
                {
                    ErrorBuilder builder = value as ErrorBuilder;

                    if (builder != null)
                    {
                        errors = (ErrCollection)builder.GetErrors();
                    }
                }

                if (errors != null)
                {
                    AddModelErrors(modelState, errors);
                }
                else
                {
                    modelState.AddModelError("", value.ToString());
                }
            }
        }