public ActionResult Searches() { try { var employer = CurrentEmployer; var searches = _memberSearchAlertsQuery.GetMemberSearches(employer.Id); var alerts = _memberSearchAlertsQuery.GetMemberSearchAlerts(from s in searches select s.Id, AlertType.AppleDevice); var model = new MemberSearchesResponseModel { TotalSearches = searches.Count, MemberSearches = (from s in searches orderby s.CreatedTime descending select new MemberSearchModel { Id = s.Id, Name = s.Name, IsAlert = alerts.Any(a => a.MemberSearchId == s.Id), Criteria = s.Criteria, }).ToList() }; return(Json(model, JsonRequestBehavior.AllowGet)); } catch (UserException ex) { ModelState.AddModelError(ex, new StandardErrorHandler()); } return(Json(new JsonResponseModel(), JsonRequestBehavior.AllowGet)); }
protected static void AssertSearches(MemberSearchesResponseModel model, params Tuple <MemberSearch, Tuple <AlertType, bool> >[] expectedSearches) { AssertJsonSuccess(model); Assert.AreEqual(expectedSearches.Length, model.MemberSearches.Count); foreach (var expectedSearch in expectedSearches) { var expectedSearchName = expectedSearch.Item1.Name; var searchModel = (from s in model.MemberSearches where s.Name == expectedSearchName select s).Single(); AssertSearch(expectedSearch.Item1, expectedSearch.Item2.Item2, searchModel); } }