public ActionResult ShowUser(int id = 0) { var allGroups = _educationalGroupService.GetAll(); ViewBag.CollegeList = new SelectList(_collegeService.GetAll(), "Id", "Name"); ViewBag.GroupList = new SelectList(allGroups.Where(w => 1 == 2), "EducationalGroupCode", "Name"); if (id > 0) { var item = _userService.Get(g => g.ID == id); var serviceUser = _serviceUsersMappingService.Get(g => g.Username == item.Username); return(View(new Models.User { //College = Mapper.Map<Models.College>(item.College), College = item.College != null ? new Models.College { Id = item.College.Id, CollegeCode = item.College.CollegeCode, Name = item.College.Name } : null, EducationalGroupCode = item.EducationalGroupCode, EducationalGroupName = allGroups.Where(w => w.EducationalGroupCode == item.EducationalGroupCode).FirstOrDefault()?.Name,//_educationalGroupService.GetMany(g=> g.EducationalGroupCode == item.EducationalGroupCode).FirstOrDefault()?.Name, FirstName = item.FirstName, LastName = item.LastName, ID = item.ID, IsAdministrator = item.IsAdministrator, IsPowerUser = item.IsPowerUser, ServiceUsername = serviceUser != null ? serviceUser.ServiceUsername : string.Empty, Username = item.Username })); } return(View(new Models.User())); }
public ActionResult RankOfProfessorInEducationalGroup(string id = null, string group = null, string term = null) { SetViewBag(title: "رتبه بندی اساتید در سطح گروه", menuItem: "RankOfProfessorInEducationalGroup"); var collegeId = 0; var termId = 0; var groupCode = 0; ViewBag.CollegeList = new SelectList(_collegeService.GetAll().Where(w => 1 == 2), "Id", "Name", id); ViewBag.GroupList = new SelectList(_educationalGroupService.GetAll().Where(w => 1 == 2), "EducationalGroupCode", "Name", group); ViewBag.TermList = new SelectList(_termService.GetAll().OrderByDescending(o => o.TermCode), "Id", "Name", term); if (!string.IsNullOrEmpty(id)) { int.TryParse(id, out collegeId); } if (!string.IsNullOrEmpty(group)) { int.TryParse(group, out groupCode); } var user = (Models.User)Session["UserInfo"]; if (user != null && user.College != null) { collegeId = user.College.Id; ViewBag.CollegeId = collegeId; } if (user != null && user.EducationalGroupCode != null) { groupCode = (int)user.EducationalGroupCode; } if (!string.IsNullOrEmpty(term) && int.TryParse(term, out termId) && termId > 0 && collegeId > 0 && groupCode > 0) { var educationalGroup = _educationalGroupService.Get(g => g.EducationalGroupCode == groupCode && g.Term.Id == termId); var college = _collegeService.Get(g => g.Id == collegeId); ViewBag.EducationalGroup = educationalGroup.Name; ViewBag.College = college.Name; ViewBag.CollegeId = college.Id; ViewBag.EducationalGroupId = educationalGroup.EducationalGroupCode; ViewBag.TermId = termId; //// Old Methode Start //var counter = 0; //var professors = _educationalGroupService.Get(g => g.Id == groupId).EducationalClasses.Where(w => w.Term.Id == termId).Select(s => s.Professor) // .OrderByDescending(o => o.ProfessorScores.Where(w => w.Term != null && w.Term.Id == termId).Sum(s => s.CurrentScore)) // .Select(s => new Models.Professor // { // //Colleges = Mapper.Map<ICollection<Model.Models.College>, ICollection<Models.College>>(s.Colleges), // //EducationalGroups = Mapper.Map<ICollection<Model.Models.EducationalGroup>, ICollection<Models.EducationalGroup>>(s.EducationalGroups), // EducationalClasses = Mapper.Map<ICollection<Model.Models.EducationalClass>, ICollection<Models.EducationalClass>>(s.EducationalClasses), // ProfessorScores = Mapper.Map<ICollection<Model.Models.ProfessorScore>, ICollection<Models.ProfessorScore>>(s.ProfessorScores), // Name = s.Name, // Family = s.Family, // NationalCode = s.NationalCode, // ProfessorCode = s.ProfessorCode, // Gender = Convert.ToBoolean(s.Gender), // RankInUniversity = ++counter // }) // .ToList(); //return View(professors); //// Old Methode End var collegeList = new List <int>(); var groupList = new List <int>(); collegeList.Add(collegeId); groupList.Add(educationalGroup.Id); var model = _reportService.GetProfessorReport(termId, collegeList: collegeList, groupList: groupList, allColleges: false, allGroups: false) .General.ToList(); foreach (var item in model) { item.RowNumber = model.IndexOf(item) + 1; } return(View(model)); } return(View()); }