public ActionResult Login(LoginModel model, string returnUrl) { String user = model.UserName; String pass = model.Password; if ( ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe) && model.UserName == "Admin" ) { RankingContext db = new RankingContext(); if (db.Dates.ToList().Count() == 0) { return RedirectToAction("index", "CampaignRankingDates"); } return RedirectToAction("Menu", "Admin"); } if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe) ) { string name = model.UserName; string[] roleNames = Roles.GetRolesForUser(name); foreach (string role in roleNames) { if (role.Contains("admin")) { return RedirectToAction("Menu", "Admin"); } } } if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { RankingContext db = new RankingContext(); QueryManager mng = new QueryManager(db); DateTime end = Convert.ToDateTime(mng.getCampaignDates().FirstRankingDate); if (DateTime.Today > end) { return RedirectToAction("Index", "StudentRankingInformation"); } //return RedirectToLocal(returnUrl); return RedirectToAction("Index", "StudentPreferences"); } // If we got this far, something failed, redisplay form ModelState.AddModelError("", "The user name or password provided is incorrect."); return View(model); }
//I found that User works, ie. User.Identity.Name or User.IsInRole("Administrator")... public ActionResult Index() { String user = User.Identity.Name; ViewData["userName"] = user; bool isEnrolled = false; Student st = db.Students.Find(user); if ( st != null ) { isEnrolled = st.IsEnrolled; } QueryManager manager = new QueryManager(db); List<FacultyRankList> rankList = manager.getStudentRankList(user); ViewData["enrolledProgramme"] = ""; ViewData["faculty"] = ""; if (isEnrolled) { ViewData["isRankListPublished"] = true; ViewData["isEnrolled"] = true; if (rankList.Count() == 1) { ViewData["enrolledProgramme"] = rankList.First().ProgrammeName; Faculty f = db.Faculties.Find(ViewData["enrolledProgramme"]); ViewData["faculty"] = f.FacultyName; } return View(model); } ViewData["isEnrolled"] = false; QueryManager queryManager = new QueryManager(db); List<FacultyRankList> studentRankList = queryManager.getStudentRankList(user); List<String> l = getProgrammes(studentRankList); l.Insert(0, "Please Select"); SelectList pr = new SelectList(l); ViewData["programmes"] = pr; //bool hasFacultyRankListEntries = (db.FacultyRankLists.ToList().Count() != 0 ) ? true : false; //ViewData["isRankListPublished"] = false; //if (hasFacultyRankListEntries) //{ // ViewData["isRankListPublished"] = true; //} QueryManager mng = new QueryManager(db); // класиране първи етап - дати ViewData["isFirstRankListPublished"] = false; if (db.Dates.ToList().Last().FirstRankingDate == "true") { ViewData["isFirstRankListPublished"] = true; } // класиране втори етап - дати ViewData["isSecondRankListPublished"] = false; if (db.Dates.ToList().Last().FirstRankingDate == "true") { ViewData["isSecondRankListPublished"] = true; } // класиране трети етап - дати ViewData["isThirdRankListPublished"] = false; if (db.Dates.ToList().Last().FirstRankingDate == "true") { ViewData["isThirdRankListPublished"] = true; } List<String> studentProgrammes = new List<String>(); foreach (var item in studentRankList) { studentProgrammes.Add(item.ProgrammeName); } Dictionary<String, int> prefNumbers = new Dictionary<String, int>(); foreach (var item in studentProgrammes) { var prefNumber = from pref in db.Preferences where pref.EGN == user && pref.ProgrammeName == item select pref.PrefNumber; prefNumbers.Add(item, prefNumber.First()); } foreach (var item in studentRankList) { String faculty = db.Faculties.Find(item.ProgrammeName).FacultyName; StudentRankingInformation r = new StudentRankingInformation { FacultyName = faculty, FinalResult = item.TotalGrade, ProgrammeName = item.ProgrammeName, PrefNumber = prefNumbers[item.ProgrammeName] }; model.Add(r); } ViewData["result"] = model; // model.Add(new StudentRankingInformation { FacultyName = "FMI", FinalResult = 22.4, PrefNumber = 1, ProgrammeName = "KN" }); return View(model); }
public ActionResult EnrollStudent(String programmeName) { String user = User.Identity.Name; ViewData["userName"] = user; Student st = db.Students.Find(user); st.IsEnrolled = true; db.Entry(st).State = EntityState.Modified; db.SaveChanges(); ViewData["isEnrolled"] = true; QueryManager manager = new QueryManager(db); List<FacultyRankList> rankList = manager.getStudentRankList(user); foreach (var item in rankList) { if (item.ProgrammeName != programmeName) { db.FacultyRankLists.Attach(item); db.FacultyRankLists.Remove(item); db.SaveChanges(); } } //return RedirectToAction("Index", "StudentRankingInformation"); var redirectUrl = new UrlHelper(Request.RequestContext).Action("Index", "StudentRankingInformation"); return Json(new { Url = redirectUrl }); }
public Ranker(RankingContext context) { this.context = context; queryManager = new QueryManager(context); }
public ActionResult Index() { String user = User.Identity.Name; //user = "******"; ViewData["userName"] = user; List<String> l = programmes.Keys.ToList<string>(); l.Insert(0,"Please Select"); SelectList faculties = new SelectList(l); ViewData["faculties"] = faculties; RankingContext db = new RankingContext(); QueryManager mng = new QueryManager(db); DateTime end = Convert.ToDateTime(mng.getCampaignDates().PreferrencesLastDate); ViewData["isAddingPreferencesEnd"] = false; if (DateTime.Today > end) { ViewData["isAddingPreferencesEnd"] = true; } QueryManager queryManager = new QueryManager(db); List<Preference> studentPreferences = queryManager.getStudentPreferences(user); foreach (var preff in studentPreferences) { Faculty f = db.Faculties.Find(preff.ProgrammeName); String fac = (f != null ) ? f.FacultyName : ""; StudentPreferences pr = new StudentPreferences { Faculty = fac, ProgrammeName = preff.ProgrammeName, PrefNumber = preff.PrefNumber }; model.Add(pr); } ViewData["result"] = model; return View(model); }
public ActionResult deleteLastPreference() { QueryManager queryManager = new QueryManager(db); List<Preference> studentPreferences = queryManager.getStudentPreferences(User.Identity.Name); if (studentPreferences.Count() > 0 ) { Preference p = studentPreferences.Last(); db.Preferences.Attach(p); db.Preferences.Remove(p); db.SaveChanges(); } var redirectUrl = new UrlHelper(Request.RequestContext).Action("Index", "StudentPreferences"); return Json(new { Url = redirectUrl }); }
public ActionResult Index(String faculty, String programmeName) { String user = User.Identity.Name; ViewData["userName"] = user; RankingContext db = new RankingContext(); QueryManager mng = new QueryManager(db); DateTime finale = Convert.ToDateTime(mng.getCampaignDates().PreferrencesLastDate); ViewData["isAddingPreferencesEnd"] = true; if (DateTime.Today > finale) { ViewData["isAddingPreferencesEnd"] = true; } List<String> l = programmes.Keys.ToList<string>(); l.Insert(0, "Please Select"); SelectList faculties = new SelectList(l); ViewData["faculties"] = faculties; String egn = user; //int lastPreferenceNumber = db.Preferences.Where(t => t.EGN == egn ) // .OrderByDescending(t => t.PrefNumber) // .FirstOrDefault().PrefNumber; QueryManager queryManager = new QueryManager(db); List<Preference> studentPreferences = queryManager.getStudentPreferences(egn); bool isPreferrenceRepeated = false; foreach (var preff in studentPreferences) { String fac = db.Faculties.Find(preff.ProgrammeName).FacultyName; StudentPreferences pr = new StudentPreferences { Faculty = fac, ProgrammeName = preff.ProgrammeName, PrefNumber = preff.PrefNumber }; if (faculty == fac && preff.ProgrammeName == programmeName) { isPreferrenceRepeated = true; } model.Add(pr); } if (!isPreferrenceRepeated) { int nextPrefenceNumber = (studentPreferences.Count() != 0) ? studentPreferences.Max(t => t.PrefNumber) + 1 : 1; StudentPreferences pref = new StudentPreferences { Faculty = faculty, ProgrammeName = programmeName, PrefNumber = nextPrefenceNumber }; Preference p = new Preference { EGN = egn, PrefNumber = nextPrefenceNumber, ProgrammeName = programmeName, TotalGrade = 0 }; db.Preferences.Add(p); db.SaveChanges(); model.Add(pref); } ViewData["result"] = model; return PartialView("_StudentPreferencesTable", model); //return View("Index",model); }
public ActionResult Index() { RankingContext db = new RankingContext(); QueryManager mng = new QueryManager(db); String user = User.Identity.Name; String s = mng.getCampaignDates().FirstRankingDate; // класиране първи етап - дати DateTime first = Convert.ToDateTime(mng.getCampaignDates().FirstRankingDate); ViewData["isFirstRankingDate"] = false; if (DateTime.Today >= first) { ViewData["isFirstRankingDate"] = true; } ViewData["isFirstRankListPublished"] = false; if (db.Dates.ToList().Last().FirstRankingDate == "true") { ViewData["isFirstRankListPublished"] = true; } // класиране втори етап - дати DateTime second = Convert.ToDateTime(mng.getCampaignDates().SecondRankingDate); ViewData["isSecondRankingDate"] = false; if (DateTime.Today >= second) { ViewData["isSecondRankingDate"] = true; } ViewData["isSecondRankListPublished"] = false; if (db.Dates.ToList().Last().FirstRankingDate == "true") { ViewData["isSecondRankListPublished"] = true; } // класиране трети етап - дати DateTime third = Convert.ToDateTime(mng.getCampaignDates().ThirdRankingDate); ViewData["isThirdRankingDate"] = false; if (DateTime.Today >= third) { ViewData["isThirdRankingDate"] = true; } ViewData["isThirdRankListPublished"] = false; if (db.Dates.ToList().Last().FirstRankingDate == "true") { ViewData["isThirdRankListPublished"] = true; } ViewData["mainAdmin"] = false; if (user == "Admin") { ViewData["mainAdmin"] = true; } ViewData["userName"] = user; List<String> l = programmes.Keys.ToList<string>(); l.Insert(0, "Please Select"); SelectList faculties = new SelectList(l); ViewData["faculties"] = faculties; ViewData["result"] = model; return View(model); }
public ActionResult Index(String faculty, String programmeName) { //генериране на combobox List<String> l = programmes.Keys.ToList<string>(); l.Insert(0, "Please Select"); SelectList faculties = new SelectList(l); ViewData["faculties"] = faculties; //проверка дали е настъпила дата за обявяване на класиране RankingContext db = new RankingContext(); QueryManager mng = new QueryManager(db); // класиране първи етап - дати DateTime first = Convert.ToDateTime(mng.getCampaignDates().FirstRankingDate); ViewData["isFirstRankingDate"] = false; if (DateTime.Today >= first) { ViewData["isFirstRankingDate"] = true; } ViewData["isFirstRankListPublished"] = false; if (db.Dates.ToList().Last().FirstRankingDate == "true") { ViewData["isFirstRankListPublished"] = true; } // класиране втори етап - дати DateTime second = Convert.ToDateTime(mng.getCampaignDates().SecondRankingDate); ViewData["isSecondRankingDate"] = false; if (DateTime.Today >= second) { ViewData["isSecondRankingDate"] = true; } ViewData["isSecondRankListPublished"] = false; if (db.Dates.ToList().Last().FirstRankingDate == "true") { ViewData["isSecondRankListPublished"] = true; } // класиране трети етап - дати DateTime third = Convert.ToDateTime(mng.getCampaignDates().ThirdRankingDate); ViewData["isThirdRankingDate"] = false; if (DateTime.Today >= third) { ViewData["isThirdRankingDate"] = true; } ViewData["isThirdRankListPublished"] = false; if (db.Dates.ToList().Last().FirstRankingDate == "true") { ViewData["isThirdRankListPublished"] = true; } //вземане на потребителското име на потребителя String user = User.Identity.Name; ViewData["userName"] = user; //проверка кой администратор е влязъл ViewData["mainAdmin"] = false; if (user == "Admin") { ViewData["mainAdmin"] = true; } QueryManager queryManager = new QueryManager(db); List<FacultyRankList> rankList = queryManager.getRankList(programmeName); foreach (var item in rankList) { FacultyRankList rank = new FacultyRankList { ProgrammeName = programmeName, EGN = item.EGN, TotalGrade = item.TotalGrade }; model.Add(rank); } //FacultyRankList f = new FacultyRankList //{ // EGN = "12345678", // ProgrammeName = programmeName, // TotalGrade = 4.5 //}; //model.Add(f); ViewData["result"] = model; return PartialView("_ProgrammeRankListTable", model); }