public ActionResult _Search(AdminEditionSearchModel searchModel)
        {
            if (
                string.IsNullOrWhiteSpace(searchModel.DirectorEmail) &&
                searchModel.EventId == null &&
                searchModel.EditionStatusTypeIds == null &&
                searchModel.EventActivityIds == null &&
                searchModel.EventTypes == null)
            {
                ModelState.AddModelError("FilterOptions", "At least one filter option must be applied.");
            }

            if (!ModelState.IsValid)
            {
                return(Json(new { success = false, message = ModelState.GetErrors() }, JsonRequestBehavior.AllowGet));
            }

            var directorEmail = searchModel.DirectorEmail?.Split('|')[1];

            var editionCount = GetEditionListItemsCount(searchModel.EventId, directorEmail, searchModel.RegionNames, searchModel.CountryCode, searchModel.CityName,
                                                        searchModel.EditionStatusTypeIds, searchModel.EventActivityIds, searchModel.EventTypeIds);

            if (editionCount > 1000)
            {
                return(Json(new { success = false, message = $"Query returned more than 1000 ({editionCount}) items. Make a more specific search." }));
            }

            var model = GetEditionListItems(searchModel.EventId, directorEmail, searchModel.RegionNames, searchModel.CountryCode, searchModel.CityName,
                                            searchModel.EditionStatusTypeIds, searchModel.EventActivityIds, searchModel.EventTypeIds);

            var json = Json(new { success = true, data = this.RenderRazorViewToString("_List", model) });

            json.MaxJsonLength = int.MaxValue;
            return(json);
        }
        public ActionResult _Search()
        {
            var model = new AdminEditionSearchModel
            {
                Regions            = Regions,
                EditionStatusTypes = EditionStatusType.Approved.ToEnumList().OrderBy(x => x.ToString()).ToList(),
                EventActivities    = EventActivity.ShowCancelled.ToEnumList().OrderBy(x => x.ToString()).ToList(),
                EventTypes         = EventType.Conference.ToEnumList().OrderBy(x => x.ToString()).ToList()
            };

            return(PartialView(model));
        }