Error executing template "/Designs/Swift/Paragraph/Swift_ArticleListFilter.cshtml"
System.ArgumentNullException: Value cannot be null. (Parameter 'source')
   at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Linq.Enumerable.TryGetNonEnumeratedCount[TSource](IEnumerable`1 source, Int32& count)
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source)
   at CompiledRazorTemplates.Dynamic.RazorEngine_85a81e5e3c5047519976f67ec5974fb6.GetSelectedLists()
   at CompiledRazorTemplates.Dynamic.RazorEngine_85a81e5e3c5047519976f67ec5974fb6.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> @functions { private List<Dynamicweb.Frontend.ItemViewModel> GetSelectedLists() { var selectedLists = Model.Item?.GetList("Lists")?.GetRawValue().OfType<string>(); var lists = new List<Dynamicweb.Frontend.ItemViewModel>(); if (selectedLists.Any()) { foreach (var list in selectedLists) { var page = Dynamicweb.Content.Services.Pages?.GetPage(Dynamicweb.Core.Converter.ToInt32(list)) ?? null; var viewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(page)?.Item ?? null; if (viewModel != null) { lists.Add(viewModel); } } } return lists; } private string GetCheckboxIcon() { string iconPath = "/Files/Templates/Designs/Swift/Assets/icons/"; var icon = $"<span class=\"icon-2\">{@ReadFile(iconPath + "check.svg")}</span>"; return icon; } private string RenderHeader() { var header = string.Empty; if(!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle")) { string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h3"); string headingLevel = Model.Item.GetString("HeadingLevel", "h2"); string headingLevelStart = $"<{headingLevel} class=\"{titleFontSize} mb-3\">"; string headingLevelStop = $"</{headingLevel}>"; header += @headingLevelStart; header += Model.Item.GetString("Title"); header += @headingLevelStop; } return header; } } @{ var query = Dynamicweb.Context.Current.Request.QueryString?.Get("list"); var style = Model.Item?.GetRawValueString("Style", "dropdown"); string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? $"theme {Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower()} " : string.Empty; var alignment = Model.Item?.GetRawValueString("Alignment", "left"); var buttonStyle = Model.Item?.GetRawValueString("ButtonStyle", "btn-primary"); var buttonSize = Model.Item?.GetRawValueString("ButtonSize", "btn-md"); var label = Model.Item?.GetString("Label", string.Empty); switch (alignment) { case "left": alignment = "align-items-start"; break; case "center": alignment = "align-items-center"; break; case "right": alignment = "align-items-end"; break; } string contentPadding = Model.Item.GetRawValueString("ContentPadding", "none"); switch (contentPadding) { case "none": contentPadding = "p-0"; break; case "small": contentPadding = "p-3 p-md-3"; break; case "large": contentPadding = "p-5 p-md-5"; break; } } <div class="d-flex flex-column @(theme)@(contentPadding) @(alignment)"> @if (GetSelectedLists().Any()) { switch (style) { case "checkboxes": <div> @RenderHeader() @foreach (var list in GetSelectedLists()) { <div class="form-check form-check-inline"> <label class="form-check-label" for="list_@list.PageID">@list.GetString("Title")</label> <input class="form-check-input" type="checkbox" id="list_@list.PageID" name="list" value="@list.PageID" @(!string.IsNullOrEmpty(query) && query.Contains($"{list.PageID}") ? "checked" : string.Empty) /> </div> } </div> break; case "checkboxbuttons": <div class="d-flex flex-wrap gap-2"> @RenderHeader() @foreach (var list in GetSelectedLists()) { var active = string.Empty; var selected = string.Empty; var checkbox = string.Empty; if (!string.IsNullOrEmpty(query) && query.Contains($"{list.PageID}")) { active = " active"; selected = "checked"; checkbox = GetCheckboxIcon(); } <label class="btn @(buttonStyle) @(buttonSize)@(active)" for="list_@list.PageID"><span class="d-flex align-items-center gap-2">@list.GetString("Title") @(checkbox)</span></label> <input class="visually-hidden" type="checkbox" id="list_@list.PageID" name="list" value="@list.PageID" @(selected) /> } </div> break; case "dropdown": @RenderHeader() if (!string.IsNullOrEmpty(label)) { <label>@label</label> } <select name="list" class="form-select"> <option value="" label="@Translate("All")"></option> @foreach (var list in GetSelectedLists()) { <option value="@list.PageID" label="@list.GetString("Title")" @(!string.IsNullOrEmpty(query) && query.Equals($"{list.PageID}") ? "selected" : string.Empty)></option> } </select> break; case "radiobuttons": <div> @RenderHeader() <div class="form-check form-check-inline"> <label class="form-check-label" for="category_all">@Translate("All")</label> <input class="form-check-input" type="radio" id="category_all" name="list" value="" checked> </div> @foreach (var list in GetSelectedLists()) { <div class="form-check form-check-inline"> <label class="form-check-label" for="list_@list.PageID">@list.GetString("Title")</label> <input class="form-check-input" type="radio" id="list_@list.PageID" name="list" value="@list.PageID" @(!string.IsNullOrEmpty(query) && query.Equals($"{list.PageID}") ? "checked" : string.Empty)> </div> } </div> break; case "dropdownbutton": @RenderHeader() var facetTitle = !string.IsNullOrEmpty(query) && GetSelectedLists().Any() ? GetSelectedLists().FirstOrDefault(x => x.PageID.ToString() == query).GetString("Title") : Translate("All"); <div class="dropdown w-100"> <button class="btn @(buttonStyle) @(buttonSize) dropdown-toggle w-100" type="button" id="facet-dropdown-@(Model.ID)" data-bs-toggle="dropdown" aria-expanded="false"> @facetTitle </button> <div class="dropdown-menu w-100" aria-labelledby="facet-dropdown-@(Model.ID)"> <label class="dropdown-item" for="list_@(Model.ID)">@Translate("All")</label> <input class="visually-hidden" id="list_@(Model.ID)" value name="list" type="radio"> @foreach (var list in GetSelectedLists()) { var active = string.Empty; var selected = string.Empty; if (!string.IsNullOrEmpty(query) && query.Contains($"{list.PageID}")) { active = " active"; selected = "checked"; } <label class="dropdown-item@(active)" for="list_@list.PageID">@list.GetString("Title")</label> <input class="visually-hidden" type="radio" id="list_@list.PageID" name="list" value="@list.PageID" @(selected)> } </div> </div> break; } } </div>
Rajasthani Cheela
Breakfast

Rajasthani Cheela

A highly nutritious omelet as it is made with protein-rich gram flour.

BreakfastLunchEggs
Tuscan Chicken with Beans
Dinner

Tuscan Chicken with Beans

A rustic meal with chicken breast and beans in tomato sauce

Low CarbNut-FreeDairy FreeDinnerChickenGluten Free
Chicken Noodle Soup
Dinner

Chicken Noodle Soup

This easy chicken noodle soup recipe is healthy, satisfying, and tastes incredible.

Dairy FreeDinnerChickenGluten Free
Pumpkin Soup with Seeds
Vegetarian

Pumpkin Soup with Seeds

An easy Pumpkin Soup — with roasted pumpkin seeds to add a little dazzle.

VegetarianDairy FreeDinnerEgg-FreeGluten Free
Egg sandwich
Lunch

Egg sandwich

A crisp sandwich with avocado and fried egg.

BreakfastLunchEggs
Easy Goulash
Dinner

Easy Goulash

This easy Goulash recipe is a comfort food classic filled with hearty ground beef in a tomato-based sauce.

DinnerBeef
Vegan Greek Salad
Lunch

Vegan Greek Salad

Easy salad, made with 6 simple ingredients and a dressing of good olive oil and a splash of vinegar.

VeganDairy FreeLunchSide-dish
Green pea soup
Vegetarian

Green pea soup

This Green Pea Soup is made from frozen Peas and 5 other healthy ingredients for a creamy and filling side!

VegetarianDairy FreeDinnerEgg-FreeGluten Free
Green smoothie
Breakfast

Green smoothie

This green smoothie is a simple, healthy and nutrient-dense recipe that will fuel your mornings!

BreakfastBrunch
Sorrel soup
Dinner

Sorrel soup

This sorrel soup recipe is popular in Ukraine and other Eastern European countries due to its bright, lemony flavour.

Low CarbDairy FreeDinnerGluten Free
Kebab sandwich
Lunch

Kebab sandwich

Grilled lamb seasoned with bright sumac and rich, sun-dried pepper flakes.

Lunch
Easy protein pancakes
Breakfast

Easy protein pancakes

Up your protein with these pancakes made with eggs, oats, milk and protein powder.

Low CarbNut-FreeBreakfastBrunchDairy FreeEggs
Raspberry smoothie
Breakfast

Raspberry smoothie

This raspberry smoothie recipe is full of berries, banana, almond milk and Greek yogurt.

BreakfastBrunchGluten Free
Vegan Mushroom Soup
Vegan

Vegan Mushroom Soup

This vegan creamy mushroom soup is dairy-free, easy to make and tastes amazing.

Nut-FreeVeganDairy FreeDinner
Vegan pizza
Vegan

Vegan pizza

This is our ultimate oven-baked veggie pizza.

VeganVegetarianDairy FreeDinner
By clicking 'Accept All' you consent that we may collect information about you for various purposes, including: Statistics and Marketing