public PartialViewResult Summary(int id) { var candidates = _db.Candidates.Where(p => p.ProjectId == id).ToList(); var model = new CandidateSummaryVm(candidates); return(PartialView(model)); }
public PartialViewResult StatusPie(int id, string ctgry) { var candidates = (string.IsNullOrEmpty(ctgry) || ctgry.Contains("[")) ? _db.Candidates.Where(p => p.ProjectId == id).ToList() : _db.Candidates.Where(p => p.ProjectId == id && ctgry == p.Category).ToList(); var model = new CandidateSummaryVm(candidates); var result = new Dictionary <string, int>(); var total = model.Status.Sum(s => s.Count()); foreach (var item in model.Status) { result.Add(item.Key, item.Count()); } return(PartialView(result)); }
public PartialViewResult CategoryBar(int id, string ctgry) { var project = _db.Projects .Include(x => x.ProjetLogs) .Include(x => x.Company) .Include(x => x.Requirements) .Single(x => x.ProjectId == id); var candidates = (string.IsNullOrEmpty(ctgry) || ctgry.Contains("[")) ? project.Candidates.ToList() : project.GetByCategory(ctgry); CandidateSummaryVm model = new CandidateSummaryVm(candidates); var statDict = model.Status.ToDictionary(c => c.Key); var result = new Dictionary <string, int>(); var total = model.Status.Sum(s => s.Count()); if (string.IsNullOrEmpty(ctgry) || ctgry.Contains("[")) { result.Add("Requirement", project.TotalRequirement); } else { result.Add("Requirement", project.RequirementFor(ctgry)); } result.Add("Recruited", candidates.Count()); foreach (var item in DbCache.Instance.CanditStatus) { if (statDict.ContainsKey(item.Abbrevation)) { result.Add(item.Name, statDict[item.Abbrevation].Count()); } else { result.Add(item.Name, 0); } } ViewBag.Ctrgy = ctgry; ViewBag.Prj = project.ProjectName; return(PartialView(result)); }