public ActionResult Researcher() { //Gets the id from JWT. The id is used to retrieve user from database. int resID = IdentityHelper.getUserID(User); ResearcherHomepageHelper researcherHomepageHelper = new ResearcherHomepageHelper(); ResearcherHomepageModel researcherHomepageModel = researcherHomepageHelper.CreateResearcherHompepageModel(resID); return(View(researcherHomepageModel)); }
public static ResearcherProfileModel getdefaultResearcher(int id) { ResearcherHomepageHelper helper = new ResearcherHomepageHelper(); ResearcherProfileModel rpm = new ResearcherProfileModel(); var curResearcher = helper.getResearcher(id); rpm.Id = id; rpm.Verify = curResearcher.Isverified; rpm.Admin = curResearcher.Isadmin; rpm.Firstname = curResearcher.FirstName; rpm.Lastname = curResearcher.LastName; rpm.Email = curResearcher.Email; rpm.OldPassword = curResearcher.Password; return(rpm); }
public IActionResult SavePasswordResearcher(ResearcherProfileModel rpm) { int resID = IdentityHelper.getUserID(User); var err = ""; if (ModelState.IsValid && rpm.Password != null) { //Creating a local version with changes parametes of Participant obj. IManageProfileHandler mph = new ManageProfileHandler(new bachelordbContext()); Researcher curResearcher = new Researcher { Email = rpm.Email, IdResearcher = resID, Password = rpm.Password, }; var status = mph.ChangePasswordResearcherDB(curResearcher, rpm.OldPassword); //Check that old password is correct if (status.success) { ResearcherProfileModel srpm = new ResearcherProfileModel(); ResearcherHomepageHelper smodel = new ResearcherHomepageHelper(); var curSResearcher = smodel.getResearcher(resID); srpm = ProfileResearcherHelper.convertToModel(curSResearcher, status.success, true); return(View("Researcher", srpm)); } else { err = status.errormessage; this.ModelState.AddModelError("OldPassword", err.ToString()); } } else { err = "Must Assign a Password"; this.ModelState.AddModelError("Password", err.ToString()); } rpm = ProfileResearcherHelper.getdefaultResearcher(resID); return(View("Researcher", rpm)); }