public List <Dossier> GetDossiers(DossierParameter parameter) { using (var db = GetDbContext()) { var query = db.Dossiers.AsQueryable(); if (parameter.MinYear.HasValue) { query = query.Where(e => e.Year >= parameter.MinYear.Value); } if (parameter.MaxYear.HasValue) { query = query.Where(e => e.Year <= parameter.MaxYear.Value); } if (!string.IsNullOrEmpty(parameter.Remark)) { query = query.Where(e => e.Remark.Contains(parameter.Remark)); } if (!string.IsNullOrEmpty(parameter.Quarter)) { switch (parameter.Quarter) { case "上半年": query = query.Where(e => e.Quarter == Quarter.HaflYear); break; case "全年度": query = query.Where(e => e.Quarter == Quarter.FullYear); break; //case "第一季度": // query = query.Where(e => e.Quarter == Quarter.First); // break; //case "第二季度": // query = query.Where(e => e.Quarter == Quarter.Second); // break; //case "第三季度": // query = query.Where(e => e.Quarter == Quarter.Third); // break; //case "第四季度": // query = query.Where(e => e.Quarter == Quarter.Fourth); // break; } } var list = query.ToList(); foreach (var item in list) { item.Files = db.DossierFiles.Where(e => e.DossierID == item.ID).ToList(); } return(list); } }
public ActionResult Search(int?minYear = null, int?maxYear = null, string quarter = null, string remark = null) { var parameter = new DossierParameter() { MinYear = minYear, MaxYear = maxYear, Quarter = quarter, Remark = remark }; ViewBag.List = Core.DossierManager.GetDossiers(parameter); ViewBag.Parameter = parameter; return(View()); }