Beispiel #1
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
            // Lấy user hiện tại từ session
            User user = HttpContext.Current.Session["user"] as User;

            // Kiểm tra xem user có tồn tại không
            if (user == null)
            {
                // Chuyển hướng đến trang đăng nhập
                filterContext.Result = new RedirectResult("/dang-nhap");
                return;
            }
            // Lấy token của trang hiện tại
            var dataTokens = HttpContext.Current.Request.RequestContext.RouteData.DataTokens;
            // Lấy dữ liệu router
            var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;
            // Lấy action của router
            string action = routeValues.ContainsKey("action") ? (string)routeValues["action"] : string.Empty;
            // Lấy controller của router
            string controller = routeValues.ContainsKey("controller") ? (string)routeValues["controller"] : string.Empty;
            // Lấy area của router
            string area = dataTokens.ContainsKey("area") ? (string)dataTokens["area"] : string.Empty;
            // Khởi tạo DBcontext để thao tác csdl
            UetSurveyDbContext db = new UetSurveyDbContext();
            // Kiểm tra các action, controller, area có hợp lệ không
            bool check = db.Roles.Any(s => s.Position == user.Position && s.Area == area && s.Controller == controller && s.Action == action);

            // Nếu không hợp lệ thì điều hướng tới trang error
            if (!check)
            {
                filterContext.Result = new RedirectResult("/error");
                return;
            }
        }
        // Import dữ liệu từ file
        public bool ImportData(out int count, ExcelPackage package)
        {
            count = 0;
            var result = false;

            try
            {
                // Bắt đầu từ cột 1
                int startColumn = 1;
                // Bắt đầu từ dòng 2
                int startRow = 2;
                // Lấy sheet 1 của file excel
                ExcelWorksheet workSheet = package.Workbook.Worksheets[1];
                object         data      = null;
                // Khởi tạo đối tượng DBcontext và thao tác csdl
                UetSurveyDbContext db = new UetSurveyDbContext();

                do
                {
                    // Lấy các dữ liệu của một dòng excel
                    data = workSheet.Cells[startRow, startColumn].Value;
                    object userName    = workSheet.Cells[startRow, startColumn + 1].Value;
                    object passWord    = workSheet.Cells[startRow, startColumn + 2].Value;
                    object fullName    = workSheet.Cells[startRow, startColumn + 3].Value;
                    object email       = workSheet.Cells[startRow, startColumn + 4].Value;
                    object checkColumn = workSheet.Cells[startRow, startColumn + 5].Value;
                    if (checkColumn != null)
                    {
                        throw new Exception("error");
                    }
                    // Kiểm tra xem đã cuối danh sách chưa
                    if (data != null)
                    {
                        var isSuccess = SaveTeacher(userName.ToString(), passWord.ToString(), fullName.ToString(), email.ToString(), db);
                        if (isSuccess)
                        {
                            count++;
                            result = true;
                        }
                    }
                    startRow++;
                } while (data != null);
            }
            catch (Exception)
            {
            }
            return(result);
        }
Beispiel #3
0
        // Import data
        public bool ImportData(out int count, ExcelPackage package)
        {
            count = 0;
            var result = false;

            try
            {
                // Bắt đầu từ cột 1
                int startColumn = 1;
                // Bắt đầu từ hàng 2
                int startRow = 2;
                // Lấy sheet 1 của file excel
                ExcelWorksheet workSheet = package.Workbook.Worksheets[1];
                object         data      = null;
                // Khởi tạo đối tượng context để thao tác csdl
                UetSurveyDbContext db = new UetSurveyDbContext();

                do
                {
                    // Lấy các giá trị của từng hàng
                    data = workSheet.Cells[startRow, startColumn].Value;
                    object userName = workSheet.Cells[startRow, startColumn + 1].Value;
                    object passWord = workSheet.Cells[startRow, startColumn + 2].Value;
                    object fullName = workSheet.Cells[startRow, startColumn + 3].Value;
                    object email    = workSheet.Cells[startRow, startColumn + 4].Value;
                    object course   = workSheet.Cells[startRow, startColumn + 5].Value;

                    // Kiểm tra xem đã cuối danh sách excel chưa
                    if (data != null)
                    {
                        // Truyền dữ liệu một sinh viên vào lưu vào DB
                        var isSuccess = SaveStudent(userName.ToString(), passWord.ToString(), fullName.ToString(), email.ToString(), course.ToString(), db);
                        if (isSuccess)
                        {
                            count++;
                            result = true;
                        }
                    }
                    startRow++;
                } while (data != null);
            }
            catch (Exception)
            {
            }
            return(result);
        }
Beispiel #4
0
        // Import dữ liệu
        public bool ImportData(out int count, out int countSuccess, ExcelPackage package)
        {
            count        = 0;
            countSuccess = 0;
            var result = false;

            try
            {
                // Bắt đầu từ cột 1
                int startColumn = 1;
                // Bắt đầu từ hàng 12
                int startRow = 12;
                // Lấy sheet 1 của file excel
                ExcelWorksheet workSheet = package.Workbook.Worksheets[1];
                object         data      = null;
                // Khởi tạo DBcontext đẻ thao tác csdl
                UetSurveyDbContext db = new UetSurveyDbContext();
                // Lấy các thông tin của học phần
                object teacherName  = workSheet.Cells[7, 3].Value;
                object subjectName  = workSheet.Cells[10, 3].Value;
                object subjectCode  = workSheet.Cells[9, 3].Value;
                object classRoom    = workSheet.Cells[8, 6].Value;
                object creditNumber = workSheet.Cells[9, 6].Value;
                object time         = workSheet.Cells[8, 3].Value;
                // Kiểm tra xem học phần đó đã tồn tại chưa
                if (!db.Subjects.Any(x => x.SubjectCode.ToLower().Equals(subjectCode.ToString().ToLower())))
                {
                    // Khởi tạo học phần và gán các giá trị cho thuộc tính
                    Subject sub = new Subject();
                    sub.Name         = subjectName.ToString();
                    sub.SubjectCode  = subjectCode.ToString();
                    sub.ClassRoom    = classRoom.ToString();
                    sub.CreditNumber = int.Parse(creditNumber.ToString());
                    sub.TimeTeach    = time.ToString();
                    // lưu học phần vào DB
                    db.Subjects.Add(sub);
                    db.SaveChanges();

                    // Lấy id của học phần vừa thêm
                    int subID = db.Subjects.Max(x => x.SubjectID);
                    // Lấy ID của giáo viên
                    int teacherID = db.Teachers.FirstOrDefault(x => x.Name.ToLower().Equals(teacherName.ToString().ToLower())).TeacherID;

                    do
                    {
                        data = workSheet.Cells[startRow, startColumn].Value;
                        string userName = workSheet.Cells[startRow, startColumn + 1].Value.ToString();
                        object dob      = workSheet.Cells[startRow, startColumn + 3].Value;
                        startRow++;
                        // Kiểm tra xem đã cuối danh sách chưa
                        if (data != null)
                        {
                            count++;
                            // Lấy ra sinh viên có username bằng username trong excel
                            Student stu = db.Students.FirstOrDefault(x => x.UserName.Trim().Equals(userName.Trim()));
                            if (stu == null)
                            {
                                continue;
                            }
                            // Kiểm tra thông tin ngày sinh và cập nhật cho sinh viên
                            if (stu.DateOfBirth == null)
                            {
                                stu.DateOfBirth = DateTime.ParseExact(dob.ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                            }
                            // Kiểm tra mã sinh viên và cập nhật cho sinh viên
                            if (stu.StudentCode == null)
                            {
                                stu.StudentCode = userName;
                            }
                            // Khởi tạo đối tượng sinh viên chi tiết theo môn học
                            StudentDetail stuDetail = new StudentDetail();
                            stuDetail.StudentID = stu.StudentID;
                            stuDetail.SubjectID = subID;
                            stuDetail.TeacherID = teacherID;
                            // Lưu một sinh viên vào danh sách học phần
                            db.StudentDetails.Add(stuDetail);
                            db.SaveChanges();
                            countSuccess++;
                            result = true;
                        }
                    } while (data != null);
                }
            }
            catch (Exception)
            {
            }
            return(result);
        }
        // Lưu từng giảng viên vào DB
        public bool SaveTeacher(string userName, string passWord, string fullName, string email, UetSurveyDbContext db)
        {
            var result = false;

            try
            {
                // Kiểm tra giảng viên đã tồn tại chưa
                if (!db.Teachers.Any(x => x.UserName.Equals(userName)))
                {
                    // Khởi tạo giảng viên và gán giá trị cho các thuộc tính
                    Teacher teacher = new Teacher();
                    teacher.UserName = userName;
                    teacher.PassWord = passWord;
                    teacher.Name     = fullName;
                    teacher.Email    = email;
                    // Lưu giảng viên vào DB
                    db.Teachers.Add(teacher);
                    db.SaveChanges();
                    // Lấy mã giảng viên vừa tạo
                    int teacherid = db.Teachers.Max(x => x.TeacherID);
                    // Khởi tạo user và gán giá trị cho các thuộc tính
                    User user = new User()
                    {
                        UserName  = userName,
                        PassWord  = passWord,
                        Position  = "Teacher",
                        TeacherID = teacherid
                    };
                    // Thêm user vào DB
                    db.Users.Add(user);
                    db.SaveChanges();
                    result = true;
                }
            }
            catch (Exception)
            {
            }
            return(result);
        }
Beispiel #6
0
        // Lưu mỗi sinh viên vào DB
        public bool SaveStudent(string userName, string passWord, string fullName, string email, string course, UetSurveyDbContext db)
        {
            var result = false;

            try
            {
                // Kiểm tra xem sinh viên đã tồn tại chưa
                if (!db.Students.Any(x => x.UserName.Equals(userName)))
                {
                    // Khởi tạo sinh viên và gán dữ liệu rồi lưu vào db
                    var stu = new Student();
                    stu.UserName    = userName;
                    stu.PassWord    = passWord;
                    stu.StudentCode = userName;
                    stu.Name        = fullName;
                    stu.Email       = email;
                    stu.Course      = course;
                    db.Students.Add(stu);
                    db.SaveChanges();
                    // Lấy Id sinh viên vừa tạo
                    int studentid = db.Students.Max(x => x.StudentID);
                    // Khởi tạo user rồi gán giá trị sinh viên vừa lưu
                    User user = new User()
                    {
                        UserName  = userName,
                        PassWord  = passWord,
                        Position  = "Student",
                        StudentID = studentid
                    };
                    db.Users.Add(user);
                    db.SaveChanges();
                    result = true;
                }
            }
            catch (Exception)
            {
            }
            return(result);
        }
        // Import dữ liệu
        public bool ImportData(out int count, ExcelPackage package)
        {
            count = 0;
            var result = false;

            try
            {
                // Bắt đầu từ cột 1
                int startColumn = 1;
                // Bắt đầu từ hàng 12
                int startRow = 12;
                // Lấy sheet 1 của file excel
                ExcelWorksheet workSheet = package.Workbook.Worksheets[1];
                object         data      = null;
                // Khởi tạo DBcontext đẻ thao tác csdl
                UetSurveyDbContext db = new UetSurveyDbContext();
                // Lấy các thông tin của học phần
                object teacherName  = workSheet.Cells[7, 3].Value;
                object subjectName  = workSheet.Cells[10, 3].Value;
                object subjectCode  = workSheet.Cells[9, 3].Value;
                object classRoom    = workSheet.Cells[8, 6].Value;
                object creditNumber = workSheet.Cells[9, 6].Value;
                object time         = workSheet.Cells[8, 3].Value;
                // Kiểm tra xem học phần đó đã tồn tại chưa
                if (!SubjectBusinessModel.CheckBySubjectCode(subjectCode.ToString()))
                {
                    int creditnumber = int.Parse(creditNumber.ToString());

                    // Tạo và lưu một môn học
                    SubjectBusinessModel.CreateAndSaveSubject(subjectName.ToString(), subjectCode.ToString(),
                                                              classRoom.ToString(), creditnumber, time.ToString());

                    // Lấy id của học phần vừa thêm
                    int subID = SubjectBusinessModel.GetLastId();
                    // Lấy ID của giáo viên
                    int teacherID = TeacherBusinessModel.GetIdTeacherByName(teacherName.ToString());

                    do
                    {
                        data = workSheet.Cells[startRow, startColumn].Value;
                        string userName = workSheet.Cells[startRow, startColumn + 1].Value.ToString();
                        object dob      = workSheet.Cells[startRow, startColumn + 3].Value;
                        // Kiểm tra xem đã cuối danh sách chưa
                        if (data != null)
                        {
                            // Lấy ra sinh viên có username bằng username trong excel
                            Student stu = StudentBusinessModel.GetStudentByUserName(userName);
                            // Kiểm tra thông tin ngày sinh và cập nhật cho sinh viên
                            if (stu.DateOfBirth == null)
                            {
                                stu.DateOfBirth = DateTime.Parse(dob.ToString());
                            }
                            // Kiểm tra mã sinh viên và cập nhật cho sinh viên
                            if (stu.StudentCode == null)
                            {
                                stu.StudentCode = userName;
                            }
                            // tạo và lưu một studentdetail
                            StudentDetailBusinessModel.CreateAndSaveStudentDetail(stu.StudentID, subID, teacherID);
                            result = true;
                        }
                        startRow++;
                    } while (data != null);
                }
            }
            catch (Exception x)
            {
            }
            return(result);
        }