Beispiel #1
0
        public async Task <ActionResult> Add(TeacherActivity model, string submit)
        {
            if (model != null)
            {
                if (submit == "Thêm")
                {
                    isAddNew = true;
                    var entity = new TeacherActivity
                    {
                        ActivityId = model.ActivityId,
                        TeacherId  = model.TeacherId
                    };

                    var existedEnitty = await _teacherActitvityService.IsTeacherRegisterActivity(model.TeacherId, model.ActivityId);

                    if (existedEnitty)
                    {
                        SetAlert("Cán bộ đã tồn tại", "error");
                    }
                    else
                    {
                        await _teacherActitvityService.AddTeacherActivityAsync(entity);

                        SetAlert("Thêm thông tin thành công!", "success");
                    }

                    return(RedirectToAction($"GetTeacherListByActivity/{model.ActivityId}"));
                }
            }

            return(RedirectToAction($"GetTeacherListByActivity/{model.ActivityId}"));
        }
        public ActionResult Approve(int?id)
        {
            if (!HasSession())
            {
                return(RedirectToAction("Index", "Home"));
            }

            Boolean IsChairman = Convert.ToBoolean(HttpContext.Session[Variables.IsChairmanSession]);

            if (!IsChairman || id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TeacherActivity activity = db.TeacherActivity.Where(p => p.id == id).FirstOrDefault();

            string[] arr = activity.Content.Split(',');
            if (arr != null)
            {
                ViewBag.Faculty = arr[0];
                ViewBag.Course  = arr[1];

                for (int i = 2; i < arr.Length; i++)
                {
                    new Marks().SubmitMark(arr[0], arr[1], Convert.ToInt32(arr[i]), true);
                }
            }
            CourseStatus.UpdateCourseStatus(activity.CourseCode, activity.Session, true);

            activity.Approved = true;
            db.SaveChanges();

            return(RedirectToAction("ApproveMarks", "Marks"));
        }
Beispiel #3
0
        public ActionResult DetailsHistory(int?nid)
        {
            if (!HasSession())
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (nid == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TeacherActivity activity = db.TeacherActivity.Where(p => p.id == nid).FirstOrDefault();

            string[] arr = activity.Content.Split(',');

            List <Marks> marks = new List <Marks>();

            if (arr != null)
            {
                ViewBag.Faculty = arr[0];
                ViewBag.Course  = arr[1];

                for (int i = 2; i < arr.Length; i++)
                {
                    marks.Add(new Marks().GetMark(arr[0], arr[1], Convert.ToInt32(arr[i])));
                }
            }
            ViewBag.marks      = marks;
            ViewBag.id         = nid;
            ViewBag.ActivityId = activity.id;
            ViewBag.Approved   = activity.Approved;

            return(View());
        }
Beispiel #4
0
        public async Task <TeacherActivity> AddTeacherActivityAsync(TeacherActivity model)
        {
            _dbContext.TeacherActivities.Add(model);
            await _dbContext.SaveChangesAsync();

            return(model);
        }
        public async Task GetMySubjects_gets_teaching_subject_title_not_null()
        {
            var           service = new TeacherActivity(context);
            List <string> result  = await service.GetMySubjects(1);

            Assert.IsNotNull(result[0]);
        }
        public async Task GetMySubjects_gets_teaching_subject_title()
        {
            var           service = new TeacherActivity(context);
            List <string> result  = await service.GetMySubjects(1);

            Assert.AreEqual("Discrete Math", result[0]);
        }
        public async Task GetAvailableSubjects_gets_available_subjects_by_teacher_id_is_equal()
        {
            var            service = new TeacherActivity(context);
            List <Subject> result  = await service.GetAvailableSubjects(1);

            Assert.AreEqual("Algorithm Theory", result[0].Title);
        }
        public async Task GetAvailableSubjects_gets_available_subjects_by_teacher_id_is_not_null()
        {
            var            service = new TeacherActivity(context);
            List <Subject> result  = await service.GetAvailableSubjects(1);

            Assert.IsNotNull(result);
        }
Beispiel #9
0
        public ActionResult DeleteMarksFromExcel(int?id, int dest)
        {
            if (!HasSession())
            {
                return(RedirectToAction("Index", "Home"));
            }

            TeacherActivity activity = db.TeacherActivity.Find(id);

            string[] Ids = activity.Content.Split(',');

            Boolean isDeleted = new Marks().DeleteEntries(Ids);

            if (isDeleted)
            {
                activity.FilePath = null;

                TeacherActivity newActivity = new TeacherActivity();
                newActivity.Name        = activity.Name;
                newActivity.Designation = activity.Designation;
                newActivity.CourseCode  = activity.CourseCode;
                newActivity.UserId      = activity.UserId;
                newActivity.Time        = DateTime.Now.ToString();
                newActivity.Message     = activity.Message.Replace("uploaded", "deleted").Replace("changed", "deleted");

                db.TeacherActivity.Add(newActivity);
                db.SaveChanges();
            }

            if (dest == 0)
            {
                return(RedirectToAction("Index", "History"));
            }
            else if (dest == 1)
            {
                return(RedirectToAction("ApproveMarks", "Marks"));
            }
            else
            {
                return(RedirectToAction("Index", "Teacher"));
            }
        }
        public ActionResult UploadMark(int?activityId)
        {
            if (!HasSession())
            {
                return(RedirectToAction("Index", "Home"));
            }
            Teacher teacher = HttpContext.Session[Variables.TeacherSession] as Teacher;

            ViewBag.courses     = db.Courses.Where(dp => dp.CourseTeacherID == teacher.TeacherID).ToList();
            ViewBag.faculties   = db.Faculty.ToList();
            ViewBag.all_session = db.AllSession.ToList();

            if (activityId != null)
            {
                TeacherActivity activity = db.TeacherActivity.Where(p => p.id == activityId).FirstOrDefault();

                string[] arr = activity.Content.Split(',');

                List <Marks> marks = new List <Marks>();

                if (arr != null)
                {
                    ViewBag.Faculty = arr[0];
                    ViewBag.Course  = arr[1];

                    for (int i = 2; i < arr.Length; i++)
                    {
                        marks.Add(new Marks().GetMark(arr[0], arr[1], Convert.ToInt32(arr[i])));
                    }
                }
                ViewBag.Marks      = marks;
                ViewBag.Course     = arr[1];
                ViewBag.Faculty    = arr[0];
                ViewBag.ActivityId = activityId;
            }

            return(View());
        }
        public ActionResult UploadMark(string faculty, string session, string course_code, HttpPostedFileBase file, string msg)
        {
            if (!HasSession())
            {
                return(RedirectToAction("Index", "Home"));
            }
            Teacher teacher = HttpContext.Session[Variables.TeacherSession] as Teacher;

            if (faculty != null && session != null && course_code != null && file != null)
            {
                course_code = course_code.Trim().Replace(" ", "_").ToUpper();
                string fileName = "", targetFileName = course_code + "_" + session.Replace("-", "_");

                if ((file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
                {
                    //string fileContentType = Path.GetExtension(file.FileName).ToLower();
                    fileName = Path.GetFileName(file.FileName);

                    if (fileName.ToLower().Contains(".xls") || fileName.ToLower().Contains(".xlsx"))
                    {
                        List <Marks> marks = new ExcelReader().readMarksFromExcel(file);

                        if (marks != null)
                        {
                            string ValidityCheckRes = new Marks().IsValid(marks);
                            if (ValidityCheckRes.Equals(Messasges.Valid))
                            {
                                string InsertionRes = new Marks().InserMarkList(marks, faculty, course_code);
                                ViewBag.Marks   = marks;
                                ViewBag.Course  = course_code;
                                ViewBag.Faculty = faculty;

                                if (!InsertionRes.Contains(Messasges.InsertionFailed))
                                {
                                    ViewBag.Message = Messasges.DataUploadedSuccessfully;
                                    CourseStatus.AddCourseStatus(course_code, session, false);

                                    try
                                    {
                                        //targetFileName += "_" + DateTime.Now.ToString().Replace("/", "_").Replace(" ", "_").Replace(":", "_") + ".xlsx";
                                        targetFileName += ".xlsx";
                                        string path = Path.Combine(Server.MapPath("~/App_Data/Marks/"), targetFileName);
                                        file.SaveAs(path);
                                        ViewBag.FileInfo = targetFileName + " uploaded successfully!";

                                        TeacherActivity activity = new TeacherActivity();
                                        activity.Name        = teacher.Name;
                                        activity.Designation = teacher.Department;
                                        activity.CourseCode  = course_code;
                                        activity.Session     = session;
                                        activity.UserId      = teacher.TeacherID.ToString();
                                        activity.Time        = DateTime.Now.ToString();
                                        msg = "Marks uploaded for: " + course_code + ", " + session + ".\n" + msg;
                                        activity.Message  = msg;
                                        activity.Content  = InsertionRes;
                                        activity.FilePath = path;

                                        db.TeacherActivity.Add(activity);
                                        db.SaveChanges();

                                        TeacherActivity act = db.TeacherActivity.Where(p => p.Time == activity.Time).FirstOrDefault();
                                        ViewBag.ActivityId = act.id;
                                    }
                                    catch (Exception ex)
                                    {
                                        ViewBag.Error = "ERROR:" + ex.Message.ToString();
                                    }
                                }
                                else
                                {
                                    ViewBag.Error = Messasges.DataUploadFailed;
                                }
                            }
                            else
                            {
                                ViewBag.Error = ValidityCheckRes;
                            }
                        }
                        else
                        {
                            ViewBag.Error = Messasges.InvalidExcelData;
                        }
                    }
                    else
                    {
                        //format not supported
                        ViewBag.Error = Messasges.InvalidExcelFileFormate;
                    }
                }
            }
            else
            {
                ViewBag.Error = Messasges.RequiredFiledsMissing;
            }

            ViewBag.courses     = db.Courses.Where(dp => dp.CourseTeacherID == teacher.TeacherID).ToList();
            ViewBag.faculties   = db.Faculty.ToList();
            ViewBag.all_session = db.AllSession.ToList();

            return(View());
        }
Beispiel #12
0
        public ActionResult ChangeExcelHistory(int id, HttpPostedFileBase file)
        {
            if (!HasSession())
            {
                return(RedirectToAction("Index", "Home"));
            }

            TeacherActivity activity = db.TeacherActivity.Find(id);

            string[] Ids = activity.Content.Split(',');
            //string content = Ids[0] + "," + Ids[1];

            if ((file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
            {
                //string fileContentType = Path.GetExtension(file.FileName).ToLower();
                string fileName = Path.GetFileName(file.FileName);
                if (fileName.ToLower().Contains(".xls") || fileName.ToLower().Contains(".xlsx"))
                {
                    //delete old marks
                    Boolean isDeleted = new Marks().DeleteEntries(Ids);

                    //insert new marks
                    List <Marks> marks = new ExcelReader().readMarksFromExcel(file);
                    if (marks != null)
                    {
                        string ValidityCheckRes = new Marks().IsValid(marks);
                        if (ValidityCheckRes.Equals(Messasges.Valid))
                        {
                            string res = new Marks().InserMarkList(marks, Ids[0], Ids[1]);

                            if (res.Contains(Messasges.InsertionFailed))
                            {
                                ViewBag.Error = Messasges.DataUpdateFailed;
                            }
                            else
                            {
                                ViewBag.Message = Messasges.DataUpdatedSuccessfully;
                            }

                            try
                            {
                                file.SaveAs(activity.FilePath);

                                TeacherActivity newActivity = new TeacherActivity();
                                newActivity.Name        = activity.Name;
                                newActivity.Designation = activity.Designation;
                                newActivity.CourseCode  = activity.CourseCode;
                                newActivity.UserId      = activity.UserId;
                                newActivity.Time        = DateTime.Now.ToString();
                                newActivity.Message     = activity.Message.Replace("uploaded", "changed");
                                newActivity.Content     = res;
                                newActivity.FilePath    = activity.FilePath;

                                db.TeacherActivity.Add(newActivity);
                                activity.FilePath = null;
                                db.SaveChanges();
                            }
                            catch (Exception ex)
                            {
                                ViewBag.FileInfo = "ERROR:" + ex.Message.ToString();
                            }

                            return(RedirectToAction("Index", "History"));
                        }
                        else
                        {
                            ViewBag.Error = ValidityCheckRes;
                        }
                    }
                    else
                    {
                        ViewBag.Error = Messasges.InvalidExcelData;
                    }
                }
                else
                {
                    //format not supported
                    ViewBag.Error = Messasges.InvalidExcelFileFormate;
                }
            }
            else
            {
                ViewBag.Error = "No input data!";
            }

            ViewBag.Id = id;

            return(View());
        }
        private void Seed(RateMyPDbContext context)
        {
            m_course1 = new Course
            {
                Id         = Guid.NewGuid(),
                Name       = "Komparchas",
                Credits    = 5,
                Faculty    = "MIF",
                CourseType = CourseType.BUS
            };

            m_course2 = new Course
            {
                Id         = Guid.NewGuid(),
                Name       = "Duomenu strukturos",
                Credits    = 10,
                Faculty    = "MIF",
                CourseType = CourseType.Complimentary
            };

            var course3 = new Course
            {
                Id         = Guid.NewGuid(),
                Name       = "malkos",
                Credits    = 6,
                Faculty    = "Zap",
                CourseType = CourseType.BUS
            };

            context.Courses.AddRange(m_course1, m_course2, course3);

            m_teacher = new Teacher
            {
                Id          = Guid.NewGuid(),
                FirstName   = "AAA",
                LastName    = "aaa",
                Description = "a desc",
                Rank        = "Professor",
                Faculty     = "MIF"
            };
            var teacherSingleCourse = new Teacher
            {
                Id          = Guid.NewGuid(),
                FirstName   = "BBB",
                LastName    = "bbb",
                Description = "b desc",
                Rank        = "Professor",
                Faculty     = "MIF"
            };

            context.Teachers.AddRange(m_teacher, teacherSingleCourse);

            var teacherActivity1 = new TeacherActivity
            {
                Id          = Guid.NewGuid(),
                TeacherId   = m_teacher.Id,
                CourseId    = m_course1.Id,
                DateStarted = DateTime.Now,
                LectureType = LectureType.Practice
            };
            var teacherActivity2 = new TeacherActivity
            {
                Id          = Guid.NewGuid(),
                TeacherId   = m_teacher.Id,
                CourseId    = m_course2.Id,
                DateStarted = DateTime.Now,
                LectureType = LectureType.Practice
            };
            var teacherSingleCourseActivity = new TeacherActivity
            {
                Id          = Guid.NewGuid(),
                TeacherId   = teacherSingleCourse.Id,
                CourseId    = course3.Id,
                DateStarted = DateTime.Now,
                LectureType = LectureType.Seminar
            };

            context.TeacherActivities.AddRange(teacherActivity1, teacherActivity2, teacherSingleCourseActivity);
            context.SaveChanges();
        }