Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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());
        }
Example #4
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));
        }
Example #5
0
        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"));
        }
Example #6
0
        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;
            }
        }
Example #7
0
 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"));
 }
Example #8
0
        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));
        }
Example #9
0
        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));
        }