Example #1
0
        public List <ErrorSummaryViewModel> ErrorList(ApiCall call)
        {
            string weekname = call.GetValue("weekname");
            var    sitedb   = call.WebSite.SiteDb();

            List <ErrorSummaryViewModel> errors = new List <ErrorSummaryViewModel>();
            Sequence <SiteErrorLog>      repo   = string.IsNullOrEmpty(weekname) ? sitedb.ErrorLog : sitedb.LogByWeek <SiteErrorLog>(weekname);
            string baseurl  = call.WebSite.BaseUrl();
            var    allitems = repo.AllItemList();

            foreach (var item in allitems.GroupBy(o => o.Id))
            {
                ErrorSummaryViewModel model = new ErrorSummaryViewModel();
                model.Id    = item.Key;
                model.Count = item.Count();
                model.Url   = item.First().Url;
                try
                {
                    model.PreviewUrl = Lib.Helper.UrlHelper.Combine(baseurl, model.Url);
                }
                catch (Exception)
                {
                    model.PreviewUrl = baseurl;
                }

                errors.Add(model);
            }
            return(errors.OrderByDescending(o => o.Count).ToList());
        }
        public IViewComponentResult Invoke(string[]?orderOfPropertyNames)
        {
            var errors = ViewData.ModelState
                         .SelectMany(kvp => kvp.Value.Errors.Select(e => new ErrorSummaryListItem(kvp.Key, e.ErrorMessage)))
                         .ToList();

            var orderedErrors = GetOrderedErrors(errors, orderOfPropertyNames ?? new string[0]);

            var errorSummaryViewModel = new ErrorSummaryViewModel(orderedErrors);

            return(View(errorSummaryViewModel));
        }
        public static IHtmlContent GenerateHtml <TModel>(
            IHtmlHelper <TModel> htmlHelper,
            string[] orderOfPropertyNamesInTheView)
            where TModel : GovUkViewModel
        {
            TModel model = htmlHelper.ViewData.Model;

            if (!model.HasAnyErrors())
            {
                return(null);
            }

            Dictionary <string, string> errors = model.GetAllErrors();

            var orderedPropertyNames = GetErroredPropertyNamesInSpecifiedOrder(errors, orderOfPropertyNamesInTheView);

            var errorSummaryItems = orderedPropertyNames
                                    .Select(propertyName =>
                                            new ErrorSummaryItemViewModel
            {
                Href = $"#GovUk_{propertyName}-error",
                Text = errors[propertyName]
            })
                                    .ToList();

            var errorSummaryViewModel = new ErrorSummaryViewModel
            {
                Title = new ErrorSummaryTitle
                {
                    Text = "There is a problem"
                },
                Errors = errorSummaryItems
            };

            return(htmlHelper.Partial("/GovUkDesignSystemComponents/ErrorSummary.cshtml", errorSummaryViewModel));
        }
 public static IHtmlContent GovUkErrorSummary(
     this IHtmlHelper htmlHelper,
     ErrorSummaryViewModel errorSummaryViewModel)
 {
     return(htmlHelper.Partial("/GovUkDesignSystemComponents/ErrorSummary.cshtml", errorSummaryViewModel));
 }
Example #5
0
 public static IHtmlContent GovUkErrorSummary(
     this IHtmlHelper htmlHelper,
     ErrorSummaryViewModel errorSummaryViewModel)
 {
     return(htmlHelper.Partial("~/Partials/ErrorSummary.cshtml", errorSummaryViewModel));
 }