public ActionResult ResetPassword(string id, string _email) { string password = Membership.GeneratePassword(5, 1); var hashed = FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5"); Registered_Person rp = db.Registered_Person.Find(id); rp.Person_Password = hashed; //Email start MailMessage message = new MailMessage(); SmtpClient client = new SmtpClient(); client.Host = "smtp.gmail.com"; client.Port = 587; message.From = new MailAddress("*****@*****.**"); message.To.Add(_email); message.Subject = "UP Library Assistant - Password Reset"; message.Body = "Hi " + id + ", your password for UP Library Assistant has been reset by an Admin. </br> Your new password is: " + password; message.IsBodyHtml = true; client.EnableSsl = true; client.UseDefaultCredentials = true; client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "tester123#"); client.Send(message); //Email end return(RedirectToAction("Edit", id)); }
public ActionResult Details() { var id = User.Identity.Name; if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Registered_Person registered_Person = db.Registered_Person.Find(id); if (registered_Person == null) { return(HttpNotFound()); } var pt = (from t in db.Person_Topic where t.Person_ID.Equals(User.Identity.Name) select t).Include(t => t.Topic); var c = (from d in db.Categories select d); TempData["categories"] = c; TempData["personTopic"] = pt; return(View(registered_Person)); }
public ActionResult Login(Login l, string ReturnUrl = "") { if (ModelState.IsValid) { var hashedPass = FormsAuthentication.HashPasswordForStoringInConfigFile(l.Person_Password, "MD5"); bool isValidUser = Membership.ValidateUser(l.Person_ID, hashedPass); LibraryAssistantEntities db = new LibraryAssistantEntities(); if (isValidUser) { Registered_Person registered_person = null; registered_person = db.Registered_Person.Where(a => a.Person_ID.Equals(l.Person_ID)).FirstOrDefault(); if (registered_person != null) { //initiate an instance of a passable registered student Registered_Person passablePerson = new Registered_Person(); passablePerson.Person_ID = registered_person.Person_ID; passablePerson.Person_Name = registered_person.Person_Name; passablePerson.Person_Surname = registered_person.Person_Surname; passablePerson.Person_Email = registered_person.Person_Email; passablePerson.Person_Password = registered_person.Person_Password; JavaScriptSerializer js = new JavaScriptSerializer(); string data = js.Serialize(passablePerson); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, registered_person.Person_ID, DateTime.Now, DateTime.Now.AddMinutes(20), false, data); string encToken = FormsAuthentication.Encrypt(ticket); HttpCookie authCookies = new HttpCookie(FormsAuthentication.FormsCookieName, encToken); Response.Cookies.Add(authCookies); Person_Session_Log newSession = new Person_Session_Log(); newSession.Person_ID = l.Person_ID; newSession.Login_DateTime = DateTime.Now; newSession.Logout_DateTime = newSession.Login_DateTime.AddMinutes(20); db.Person_Session_Log.Add(newSession); db.SaveChanges(); Session["loginSession"] = newSession; if (ReturnUrl != "") { return(Redirect(ReturnUrl)); } else { return(RedirectToAction("Index", "Home")); } } } else { TempData["Message"] = "Invalid Login Details!"; TempData["classStyle"] = "danger"; return(View()); } } ModelState.Remove("Person_Password"); return(View()); }
public ActionResult Create(MemberCreateVM viewModel) { //Role id has been hardcoded to represent student (4) TempData["Show"] = false; if (db.Registered_Person.Any(x => x.Person_ID == viewModel.person_id)) { ModelState.AddModelError("person_id", "Username is already registered"); } if (!db.Registered_Person.Any(x => x.Person_ID.StartsWith("p"))) { ModelState.AddModelError("person_id", "Username must start with a 'p' and follow with 8 digits"); } if (ModelState.IsValid) { string password = Membership.GeneratePassword(5, 1); var hashed = FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5"); var mem = new Registered_Person(); mem.Person_ID = viewModel.person_id; mem.Person_Name = viewModel.person_name; mem.Person_Surname = viewModel.person_surname; mem.Person_Type = "Student"; mem.Person_Password = hashed; mem.Person_Registration_DateTime = DateTime.Now; mem.Person_Email = viewModel.person_email; db.Registered_Person.Add(mem); var pRole = new Person_Role(); pRole.Person_ID = viewModel.person_id; pRole.Role_ID = 4; db.Person_Role.Add(pRole); //Email start MailMessage message = new MailMessage(); SmtpClient client = new SmtpClient(); client.Host = "smtp.gmail.com"; client.Port = 587; message.From = new MailAddress("*****@*****.**"); message.To.Add(viewModel.person_email); message.Subject = "Member Registerstration"; message.Body = "Hi, " + viewModel.person_id + " you have been registered to UP Library Assistant by an Admin, use your UP username to login, your password is: " + password; message.IsBodyHtml = true; client.EnableSsl = true; client.UseDefaultCredentials = true; client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "tester123#"); client.Send(message); //Email end db.SaveChanges(); TempData["Msg"] = "New member created successfully."; TempData["Show"] = true; TempData["color"] = "alert-success"; return(RedirectToAction("Index")); } TempData["Show"] = true; TempData["color"] = "alert-warning"; TempData["Msg"] = "Something went wrong."; return(View(viewModel)); }
public ActionResult Edit(string id, EmployeeEditModel viewModel) { var topicchecks = (List <TopicCheck>)Session["TopicChecked"]; //TODO: validate to make sure at least one role is selected if (ModelState.IsValid) { Registered_Person rp = db.Registered_Person.Find(id); rp.Person_ID = id; rp.Person_Name = viewModel.person_name; rp.Person_Surname = viewModel.person_surname; rp.Person_Email = viewModel.person_email; rp.Person_Type = "Employee"; db.Entry(rp).State = EntityState.Modified; var roleRemove = db.Person_Role.Where(x => x.Person_ID == id); foreach (var item in roleRemove) { db.Person_Role.Remove(item); } foreach (var item in viewModel.emprolecheckeditlist) { if (item.role_ind == true) { var pRole = new Person_Role(); pRole.Person_ID = id; pRole.Role_ID = item.role_id; db.Person_Role.Add(pRole); } } var trainerRemove = db.Trainer_Topic.Where(x => x.Person_ID == id); foreach (var item in trainerRemove) { db.Trainer_Topic.Remove(item); } if (viewModel.emprolecheckeditlist.Where(x => x.role_id == 7).Where(y => y.role_ind == true).Any()) { foreach (var item in topicchecks) { if (item.topic_ind == true) { var tTopic = new Trainer_Topic(); tTopic.Person_ID = id; tTopic.Topic_Seq = item.topic_seq; db.Trainer_Topic.Add(tTopic); } } } db.SaveChanges(); } TempData["Check2"] = false; ViewBag.Person_Type = new SelectList(db.Person_Type, "Person_Type1", "Person_Type1", 2); return(RedirectToAction("Index")); }
protected void Application_PostAuthenticateRequest() { HttpCookie authoCookies = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authoCookies != null) { FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authoCookies.Value); JavaScriptSerializer js = new JavaScriptSerializer(); Registered_Person user = js.Deserialize <Registered_Person>(ticket.UserData); MyIdentity myIdentity = new MyIdentity(user); MyPrincipal myPrincipal = new MyPrincipal(myIdentity); HttpContext.Current.User = myPrincipal; } }
public ActionResult Edit(string id, MemberEditVM viewModel) { TempData["Show"] = false; if (ModelState.IsValid) { Registered_Person rp = db.Registered_Person.Find(id); rp.Person_ID = id; rp.Person_Name = viewModel.person_name; rp.Person_Surname = viewModel.person_surname; rp.Person_Email = viewModel.person_email; rp.Person_Type = "Student"; db.Entry(rp).State = EntityState.Modified; db.SaveChanges(); TempData["Msg"] = "Member updated successfully."; TempData["Show"] = true; TempData["color"] = "alert-success"; } return(RedirectToAction("Index")); }
public ActionResult RegisterStudent(CreatePersonModel b) { if (ModelState.IsValid) { Registered_Person a = new Registered_Person(); //hash password var hashPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(b.Person_Password, "MD5"); a.Person_ID = b.Person_ID; a.Person_Name = b.Person_Name; a.Person_Surname = b.Person_Surname; a.Person_Email = b.Person_Email; a.Person_Password = hashPassword; a.Person_Type = "Student"; a.Person_Registration_DateTime = DateTime.Now; Session["newStudent"] = a; return(RedirectToAction("oneTimePin")); } return(View(b)); }
public ActionResult Create(EmployeeAddModel viewModel) { TempData["Show"] = false; var topicchecklist = (List <TopicCheck>)Session["Topic_Checked"]; if (db.Registered_Person.Any(x => x.Person_ID == viewModel.person_id)) { ModelState.AddModelError("person_id", "Username is already registered"); } if (!db.Registered_Person.Any(x => x.Person_ID.StartsWith("p"))) { ModelState.AddModelError("person_id", "Username must start with a 'p' and follow with 8 digits"); } if (ModelState.IsValid) { string password = Membership.GeneratePassword(5, 1); var hashed = FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5"); var emp = new Registered_Person(); emp.Person_ID = viewModel.person_id; emp.Person_Name = viewModel.person_name; emp.Person_Surname = viewModel.person_surname; emp.Person_Type = "Employee"; emp.Person_Password = hashed; emp.Person_Registration_DateTime = DateTime.Now; emp.Person_Email = viewModel.person_email; db.Registered_Person.Add(emp); foreach (var item in viewModel.role_check) { var prole = new Person_Role(); if (item.role_ind) { prole.Role_ID = item.role_id; prole.Person_ID = emp.Person_ID; db.Person_Role.Add(prole); } } try { foreach (var item in topicchecklist) { var trainertopic = new Trainer_Topic(); if (item.topic_ind) { trainertopic.Person_ID = emp.Person_ID; trainertopic.Topic_Seq = item.topic_seq; db.Trainer_Topic.Add(trainertopic); } } } catch { } //Email start MailMessage message = new MailMessage(); SmtpClient client = new SmtpClient(); client.Host = "smtp.gmail.com"; client.Port = 587; message.From = new MailAddress("*****@*****.**"); message.To.Add(viewModel.person_email); message.Subject = "Employee Registration"; message.Body = "Hi, " + viewModel.person_id + " you have been registered to UP Library Assistant by an Admin, use your UP username to login, your password is: " + password; message.IsBodyHtml = true; client.EnableSsl = true; client.UseDefaultCredentials = true; client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "tester123#"); client.Send(message); //Email end db.SaveChanges(); TempData["Msg"] = "New employee created successfully."; TempData["Show"] = true; TempData["color"] = "alert-success"; return(RedirectToAction("Index")); } ViewBag.Check1 = true; ViewBag.Check2 = true; viewModel.role = (db.Roles .Include(i => i.Role_Action.Select(x => x.Action))).ToList(); var rolechecklist = new List <RoleCheck>(); for (int i = 0; i < viewModel.role.Count(); i++) { var roleCheck = new RoleCheck(); roleCheck.role_id = viewModel.role[i].Role_ID; rolechecklist.Add(roleCheck); } viewModel.role_check = rolechecklist; ViewBag.Person_Type = new SelectList(db.Person_Type, "Person_Type1", "Person_Type1", 2); TempData["Msg"] = "Something went wrong."; TempData["Show"] = true; TempData["color"] = "alert-success"; return(View(viewModel)); }