public static InterviewsViewModel GetAllInterviewsList(InterviewsFiltersPostViewModel filters) { InterviewsViewModel result = new InterviewsViewModel(); if (filters.selectedstages == null) { filters.selectedstages = new List <int>(); } if (filters.selectedseniorities == null) { filters.selectedseniorities = new List <int>(); } using (var dbContext = new AARPDbContext()) { var interviewers = dbContext.Interviewers.ToList(); var interviewees = dbContext.Interviewees.ToList(); var stages = dbContext.InterviewStages.ToList(); var seniorities = dbContext.Seniorities.ToList(); var ratings = dbContext.InterviewRatings.ToList(); var interviews = dbContext.Interviews.Where(x => filters.selectedstages.Contains(x.InterviewStageId) && filters.selectedseniorities.Contains(x.SeniorityId) && (filters.dateFrom != null ? x.Date >= filters.dateFrom : true) && (filters.dateTo != null ? x.Date <= filters.dateTo : true) ); foreach (var interview in interviews) { InterviewViewModel interviewVM = new InterviewViewModel(); var target = interviewers.FirstOrDefault(f => f.Id == interview.InterviewerId); if (target != null) { interviewVM.Interviewer = interviewers.Where(x => x.Id == interview.InterviewerId).First().InterviewerName; interviewVM.Interviewee = interviewees.Where(x => x.Id == interview.IntervieweeId).First().Name; interviewVM.IntervieweeID = interviewees.Where(x => x.Id == interview.IntervieweeId).First().Id; interviewVM.InterviewDate = interview.Date; interviewVM.InterviewStage = stages.Where(x => x.Id == interview.InterviewStageId).First().Stage; interviewVM.InterviewStatus = interview.SurveyStatus; var seniority = seniorities.FirstOrDefault(x => x.Id == interview.SeniorityId); if (seniority != null) { interviewVM.Seniority = seniority.SeniorityName; } interviewVM.Rating = interview.RatingId > 0 ? ratings.Where(x => x.Id == interview.RatingId).First().Rating : 0; result.Interviews.Add(interviewVM); } } } return(result); }
public ActionResult Interviews() { var filters = EvaluationInterviews.GetAllInterviewsFilters(); var postFilters = new InterviewsFiltersPostViewModel(); postFilters.selectedstages = filters.StageFilter.Keys.Select(x => x.Id).ToList(); postFilters.selectedseniorities = filters.SeniorityFilter.Keys.Select(x => x.Id).ToList(); var interviews = EvaluationInterviews.GetAllInterviewsList(postFilters); return(View(interviews)); }
public string Interviews(InterviewsFiltersPostViewModel filters) { string result = ""; var interviews = EvaluationInterviews.GetAllInterviewsList(filters); int counter = 1; foreach (var interview in interviews.Interviews) { var ratings = ""; for (var i = 0; i < 5; i++) { if (interview.Rating > i) { ratings += string.Format(@"<i class=""glyphicon glyphicon-star""></i>"); } else { ratings += string.Format(@"<i class=""glyphicon glyphicon-star-empty""></i>"); } } result += string.Format(@"<tr><td>{0}</td> <td>{1}</td> <td>{2}</td> <td><a href=""Interviewee/{8}"">{3}</a></td> <td>{4}</td> <td>{5}</td> <td>{6}</td> <td>{7}</td> </tr>", counter, interview.Interviewer, interview.InterviewDate, interview.Interviewee, interview.InterviewStage, interview.Seniority , interview.InterviewStatus, interview.Rating + " " + ratings, interview.IntervieweeID); counter++; } return(result); }