예제 #1
0
        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));
        }
예제 #2
0
        // GET: Member/Create
        public ActionResult Create()
        {
            var viewModel = new MemberCreateVM();

            return(View(viewModel));
        }