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)); }
// GET: Member/Create public ActionResult Create() { var viewModel = new MemberCreateVM(); return(View(viewModel)); }