public ActionResult Create([Bind(Include = "Id,StudentCode,StudentName,Email,ClassByGrade,Username,Password,Status,IsDeleted")] Student student) { if (db.Students.Any(x => x.Username == student.Username)) { //if username exists in DB before ViewBag.DuplicateError = "Username này đã tồn tại. Vui lòng nhập tên khác"; return(View(student)); } //if all validation is accepted if (ModelState.IsValid) { //hash password before adding to DB student.Password = HashPassword.ComputeSha256Hash(student.Password); db.Students.Add(student); db.SaveChanges(); //get student added ID int id = db.Students.Max(x => x.Id); //add user User user = new User() { Username = student.Username, Password = student.Password, Position = "Student", StudentId = id }; db.Users.Add(user); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(student)); }
public ActionResult Create([Bind(Include = "Id,ClassName,ClassCode,Semester,NumberOfDegrees,Status,IsDeleted")] Class @class) { //ModelState.IsValid cho biet rang khong co loi model nao duoc add vao ModelState if (ModelState.IsValid) { //them moi vao database db.Classes.Add(@class); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(@class)); }
//check ability to save new student from excel public bool SaveStudent(string username, string password, string fullname, string email, string classbygrade, ClassSurveyDbContext db) { var result = false; try { //save student //if students exist before, then not import again //just import new student not exists in system if (db.Students.Where(x => x.Username.Equals(username)).Count() == 0) { var student = new Student(); student.Username = username; //hash password before adding student.Password = HashPassword.ComputeSha256Hash(password); student.StudentCode = username; student.StudentName = fullname; student.Email = email; student.ClassByGrade = classbygrade; db.Students.Add(student); db.SaveChanges(); int id = db.Students.Max(x => x.Id); //add new user User user = new User() { Username = username, Password = HashPassword.ComputeSha256Hash(password), Position = "Student", StudentId = id }; db.Users.Add(user); db.SaveChanges(); result = true; } } catch (Exception) { throw; } return(result); }
public ActionResult Create([Bind(Include = "Id,Content,Status,IsDeleted")] SurveyQuestion surveyQuestion) { //1 ham trong Entity Framework //Disable create Proxy when create a new context //useful in lazy loading if (ModelState.IsValid) { //Tao moi 1 cau hoi trong danh sach cau hoi cua survey va add vao DB db.SurveyQuestions.Add(surveyQuestion); db.SaveChanges(); //Xoa bo diem danh gia theo tieu chi cu => Yeu cau sinh vien cap nhat ban danh gia khac voi noi dung moi db.Surveys.RemoveRange(db.Surveys.ToList()); db.SaveChanges(); return(RedirectToAction("Index", "Surveys", new { area = "Admin" })); } return(View(surveyQuestion)); }
//check if we can save new teachers public bool SaveTeacher(string username, string password, string name, string email, ClassSurveyDbContext db) { var result = false; try { //if teacher not exists in system before //just add new teachers when they dont exist in system if (db.Teachers.Where(x => x.Username.Equals(username)).Count() == 0) { var teacher = new Teacher(); teacher.Username = username; //hash password before adding teacher.Password = HashPassword.ComputeSha256Hash(password); teacher.TeacherName = name; teacher.Email = email; db.Teachers.Add(teacher); db.SaveChanges(); int id = db.Teachers.Max(x => x.Id); //add new user User user = new User() { Username = username, Password = HashPassword.ComputeSha256Hash(password), Position = "Teacher", TeacherId = id }; db.Users.Add(user); db.SaveChanges(); result = true; } } catch (Exception) { throw; } return(result); }
public ActionResult ShowStudentInfo(FormCollection form) { //get user from session User user = Session["User"] as User; //input old password string password = form["oldpassword"].ToString(); //hash old password string hashedPassword = HashPassword.ComputeSha256Hash(password); //input new password string newPassword = HashPassword.ComputeSha256Hash(form["newpassword"]); //if user exists if (user != null) { //get student Student student = db.Students.FirstOrDefault(s => s.Id == user.StudentId); //type old password fail if (hashedPassword != user.Password) { Response.Write("<script>alert('Mật khẩu cũ không đúng. Vui lòng kiểm tra lại')</script>"); return(View(student)); } //rewrite new password fail else if (form["newpassword"].ToString().Trim() != form["repassword"].ToString().Trim()) { Response.Write("<script>alert('Mật khẩu mới không trùng nhau. Vui lòng kiểm tra lại')</script>"); return(View(student)); } //get user User u = db.Users.FirstOrDefault(us => us.Username == user.Username); u.Password = newPassword; student.Password = newPassword; db.SaveChanges(); Response.Write("<script>alert('Thay đổi mật khẩu thành công')</script>"); return(View(student)); } return(RedirectToAction("Index", "Authentication", new { area = "Authentication" })); }
public ActionResult Create([Bind(Include = "Id,TeacherName,Email,Phone,Office,Username,Password,Status,IsDeleted")] Teacher teacher) { if (ModelState.IsValid) { //hash password before adding teacher.Password = HashPassword.ComputeSha256Hash(teacher.Password); db.Teachers.Add(teacher); db.SaveChanges(); int id = db.Teachers.Max(t => t.Id); //add new user User user = new User() { Username = teacher.Username, Password = teacher.Password, Position = "Teacher", TeacherId = id }; db.Users.Add(user); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(teacher)); }
//get data to above function public bool ImportData(out int count, out int successNumber, ExcelPackage excel) { count = 0; successNumber = 0; var result = false; try { //add student, student info in the file starts at column 1 and row 12 int startColumn = 1; int startRow = 12; ExcelWorksheet worksheet = excel.Workbook.Worksheets[1]; ClassSurveyDbContext db = new ClassSurveyDbContext(); object data = null; //C7: teacherName object teacherName = worksheet.Cells[7, 3].Value; //C10: ClassName object className = worksheet.Cells[10, 3].Value; //C9: ClassCode object classCode = worksheet.Cells[9, 3].Value; //F9: Number of degrees object numberOfDegrees = worksheet.Cells[9, 6].Value; //add data if (!db.Classes.Any(x => x.ClassCode.ToLower().Equals(classCode.ToString().ToLower()))) { //new class Class @class = new Class(); @class.ClassName = className.ToString(); @class.ClassCode = classCode.ToString(); @class.Semester = 1; @class.NumberOfDegrees = int.Parse(numberOfDegrees.ToString()); db.Classes.Add(@class); db.SaveChanges(); //class Id int classId = db.Classes.Max(c => c.Id); //teacher Id int teacherId = db.Teachers.FirstOrDefault(t => t.TeacherName.ToLower() .Equals(teacherName.ToString().ToLower())).Id; do { data = worksheet.Cells[startRow, startColumn].Value; //get student name object studentName = worksheet.Cells[startRow, startColumn + 2].Value; //get student code object studentCode = worksheet.Cells[startRow, startColumn + 1].Value; //get class by grade object classByGrade = worksheet.Cells[startRow, startColumn + 4].Value; //get username string username = worksheet.Cells[startRow, startColumn + 1].Value.ToString(); startRow++; //if data exists if (data != null) { //get students in that class count++; Student student = db.Students.FirstOrDefault(s => s.Username.Trim() .Equals(username.Trim())); if (student == null) { continue; } if (student.StudentCode == null) { student.StudentCode = username; } StudentClass studentClass = new StudentClass(); studentClass.StudentId = student.Id; studentClass.TeacherId = teacherId; studentClass.ClassId = classId; db.StudentClasses.Add(studentClass); db.SaveChanges(); successNumber++; result = true; } } while (data != null); } } catch (Exception) { } return(result); }