public List<StudentRecord> Execute() { DynamicQueryStatement dqs = ToDynamicQueryStatement(); try { StudentsContext context = new StudentsContext(); List<StudentRecord> students = context.StudentRecords.Where(dqs.Query, dqs.Parms) .OrderBy(x => x.LastName + x.FirstName + x.MiddleInitial) .ToList(); return students; } catch (Exception ex) { AnvilExceptionCollector ec = new AnvilExceptionCollector("Could not get students from database"); ec.Add(ex); ec.Add(dqs.Query); throw ec.ToException(); } }
public ActionResult AddStaffClause(StaffFilterClauseModel m) { if (!m.BuildingInclude & !m.EmployeeTypeInclude & !m.JobTitleInclude & !m.StatusInclude & !m.StaffIdInclude & !m.LastNameInclude) ModelState.AddModelError("", "Please include at least one field in the filter"); MemberFilter f = null; try { f = DbContext.MemberFilters.First(x => x.FilterId.Equals(m.FilterId)); } catch { ModelState.AddModelError("", "Invalid filter id"); } int count = DbContext.StaffFilterClauses.Where(x => x.FilterId.Equals(m.FilterId)).Count(); bool hasErrors = ViewData.ModelState.Values.Any(x => x.Errors.Count > 1); List<ModelState> errors = ViewData.ModelState.Values.Where(x => x.Errors.Count() > 0).ToList(); if (ModelState.IsValid) { try { StaffFilterClause c = new StaffFilterClause(); AnvilEntity e = new AnvilEntity(m); e.CopyTo(c); c.StaffFilterClauseId = Guid.NewGuid(); c.SortIndex = count; DbContext.StaffFilterClauses.Add(c); DbContext.SaveChanges(); } catch (Exception ex) { return View("~/Views/Shared/Error.cshtml", new AnvilExceptionModel(ex, "Create Staff Clause", "My", "Contacts", "EditStaffFilter")); } } else { AnvilExceptionCollector ec = new AnvilExceptionCollector("The staff filter clause could not be validated"); foreach (ModelState ms in errors) { foreach (var x in ms.Errors) { ec.Add(x.ErrorMessage); } } AnvilExceptionModel em = new AnvilExceptionModel(ec.ToException(), "Create Staff Filter Clause", null, null, null); MemberFilterModel fm = new MemberFilterModel(f); fm.Exception = em; return View("EditFilter", fm); } return RedirectToAction("EditFilter", new { id = m.FilterId }); }
public List<HRStaffRecord> Execute() { DynamicQueryStatement dqs = ToDynamicQueryStatement(); try { HRStaffContext context = new HRStaffContext(); if (Parms.Count() == 0) return new List<HRStaffRecord>(); else return context.HRStaffRecords .Where(dqs.Query, dqs.Parms) .OrderBy(x => x.LastName + x.FirstName + x.MiddleInitial) .ToList(); } catch (Exception ex) { AnvilExceptionCollector ec = new AnvilExceptionCollector("Could not get staff records from the database"); ec.Add(ex); ec.Add(dqs.Query); throw ec.ToException(); } }