Beispiel #1
0
        public PartialViewResult Summary(int id)
        {
            var candidates = _db.Candidates.Where(p => p.ProjectId == id).ToList();
            var model      = new CandidateSummaryVm(candidates);

            return(PartialView(model));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }