//ManageSchedule_ClassSession_StudentAttendance public ActionResult ManageSchedule_ClassModule_StudentAttendance(int?page, int id = 0, int day_id = 0, int student_id = 0) { Class_Module current_classmodule = null; var students = GetStudentExams(ref current_classmodule, id, day_id, student_id); if (current_classmodule == null || students == null) { return(RedirectToError()); } ViewBag.CurrentClassModule = current_classmodule; ViewBag.Day = day_id; ViewBag.Student = student_id; return(ManageModel( new Class_Module_Day_Student(), page, list: students, entityName: "Student Attendance", entityFilter: "Class_Module_Day_Student", currentParentId: current_classmodule.Id, currentParentName: GetClassModuleSmallText(current_classmodule), canAdd: false, noPaging: true, noSearchBox: true, filterSearch: SearchModelEnum.ByOthers)); }
public ActionResult EditClass_Module(Class_Module model) { if (model.Class_Id == 0) { model.Class_Id = null; } return(EditModel(model)); }
public ActionResult Generate_ClassModule(int Id, int Semester, DateTime Class_Module_Date_Start) { var current_class = IoCConfig.Service <IClassService>().FindById(Id); if (!IsValidModel(current_class)) { return(Error("Class is not valid!")); } var modules = current_class.Portal_Modules_List.Where(m => m.Semester == Semester); var fcs = current_class.Company.Faculties.Valid(); var res = current_class.Company.Resources.Valid().FirstOrDefault(); var start_date = Class_Module_Date_Start; foreach (var module in modules) { var fc = fcs.Where(f => f.HasModule(module)).FirstOrDefault(); if (fc != null && res != null) { var class_module = new Class_Module { Module_Id = module.Id, Faculty_Id = fc.Id, Resource_LT_Id = res.Id, Resource_TH_Id = res.Id, Resource_Exam_Id = res.Id, Class_Module_Day = current_class.Class_Day, Class_Module_Date_Start = start_date, Class_Module_DurationByDay = module.Module_DurationByDay, Class_Module_Hour_Start = current_class.Class_Hour_Start, Class_Module_Hour_End = current_class.Class_Hour_End, Class_Module_Status = (int)ClassModuleStatusEnum.Scheduled, Created_Date = DateTime.Now, Status = (int)EntityStatus.Visible, }; var end_date = class_module.GetClassModuleEndDate(); if (end_date == null) { end_date = start_date; } var exam_date = class_module.GetNextDateByCurrentDate(end_date); class_module.Class_Module_Date_End = end_date; class_module.Class_Module_Date_Exam = exam_date; current_class.Class_Modules.Add(class_module); start_date = class_module.GetNextDateByCurrentDate(exam_date); } } IoCConfig.Service <IClassService>().Update(current_class); return(Success()); }
private object GetClassModuleInfo(Class_Module s) { var start = s.Class_Module_Date_Start; var end = s.Class_Module_Date_End; return(new { id = s.Id, resourceId = s.Resource_LT_Id, start_day = start.Day, start_month = start.Month, start_year = start.Year, start_hour = s.Class_Module_Hour_Start, }); }
public ActionResult FilterClass_Module_Day_Student(//dùng model để generic int?page, int?page_size, int pageChange, string entity, int class_module_id = 0, int day_id = 0, int student_id = 0, string Model_Name = "", string sort_target = "", bool sort_rank = false) { int pageSize = (page_size ?? PAGE_SIZE_LARGE_20); int pageNumber = (page ?? 1); if (pageChange == 0) { pageNumber = 1; } Class_Module current_classmodule = null; var items = GetStudentExams(ref current_classmodule, class_module_id, day_id, student_id); if (current_classmodule == null || items == null) { return(Error()); } ViewBag.CurrentClassModule = current_classmodule; ViewBag.Day = day_id; ViewBag.Student = student_id; ViewBag.sort_target = sort_target; ViewBag.sort_rank = sort_rank ? "asc" : "desc"; return(ReturnPartialView(entity, items, pageNumber, pageSize)); }
private IEnumerable <Class_Module_StudentExam> GetStudentExams( ref Class_Module current_classmodule, int id = 0, int day_id = 0, int student_id = 0) { if (day_id <= 0 && id <= 0) { return(null); } if (day_id > 0) { var day = IoCConfig.Service <IClass_Module_DayService>().FindById(day_id); if (!IsValidModel(day)) { return(null); } id = day.Class_Module_Id; current_classmodule = day.Class_Module; } else { current_classmodule = IoCConfig.Service <IClass_ModuleService>().FindById(id); if (!IsValidModel(current_classmodule)) { return(null); } } var students = current_classmodule.Class_Module_StudentExams.Valid(); if (student_id > 0) { students = students.Where(s => s.Student_Id == student_id); } return(students); }
//Status = (int)EntityStatus.Visible public override IEntity ToModel()//add { var model = new Class_Module(); return(ToModel(model)); }
private IEnumerable <Class_Module_StudentExam> GetClassModuleStudentExam(Class_Module current_classmodule) { return(current_classmodule.Class_Module_StudentExams.Valid().OrderBy(s => s.Student_Status)); }
/// <summary> /// Parent Text (currentParentName) /// </summary> /// <param name="current_classmodule"></param> /// <returns></returns> private string GetClassModuleSmallText(Class_Module current_classmodule) { return(current_classmodule.Class.Class_Name + " - " + current_classmodule.Module.Module_Name + " (" + current_classmodule.Class_Module_Date_Start.ToDateString() + " - " + current_classmodule.Class_Module_Date_End.ToDateString() + ") " + " - FC " + current_classmodule.Faculty.FC_Name); }
public ActionResult ImportClassModule(HttpPostedFileBase file) { if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName)) { if (!file.FileName.EndsWith("xlsx")) { return(Error("File import phải là .xlsx!")); } ////////////////////////////////////////////////////// ////////////////////////////////////////////////////// //Constant Variables for importing //var CURRENT_COMPANY = 3; var Course_NgoaiKhoa_Id = 8; ////////////////////////////////////////////////////// ////////////////////////////////////////////////////// var center = IoCConfig.Service <ICompanyService>().FindById(CURRENT_COMPANY); CourseFamily ngoaikhoa = IoCConfig.Service <ICourseFamilyService>().FindById(Course_NgoaiKhoa_Id); var reserved_fc = center.Faculties.Valid().First(); using (var package = new ExcelPackage(file.InputStream)) { var sheets = package.Workbook.Worksheets; foreach (var workSheet in sheets) { var noOfCol = workSheet.Dimension.End.Column; var noOfRow = workSheet.Dimension.End.Row; //Current Class //AMMHCM //var class_name = workSheet.Name.Trim(); //var class_name = GetCellValue(workSheet, rowIterator, (int)TKBEnum.Class); //var current_class = center.Classes.Valid().FirstOrDefault(c => c.Class_Name.ToLower().Equals(class_name.ToLower()));//IoCConfig.Service<IClassService>().FindValidByCriteria(c => c.Class_Name.ToLower().Equals(class_name.ToLower())); //if (IsValidModel(current_class)) if (true) { //Class_Module Class_Module class_module = null;//current class_module for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++) { try { var class_name = GetCellValue(workSheet, rowIterator, (int)TKBEnum.Class); var current_class = center.Classes.Valid().FirstOrDefault(c => c.Class_Name.ToLower().Equals(class_name.ToLower())); if (current_class == null) { continue; } var class_module_day = GetClassModuleDay(workSheet, rowIterator, center, current_class, ngoaikhoa); if (class_module_day == null) { continue; } //Check existed var existed = IoCConfig.Service <IClass_ModuleService>() .FindValidByCriteria(c => c.Class_Id == current_class.Id && c.Module_Id == class_module_day.Module_Id); if (existed == null) { if (class_module_day.Faculty_Id == 0) { class_module_day.Faculty_Id = reserved_fc.Id; } class_module = new Class_Module { Class_Id = current_class.Id, Class_Module_Day = current_class.Class_Day, Class_Module_Hour_Start = current_class.Class_Hour_Start, Class_Module_Hour_End = current_class.Class_Hour_End, Class_Module_Status = (int)ClassModuleStatusEnum.Studying, Class_Module_Date_Start = class_module_day.Class_Module_Date_Start, Class_Module_Date_End = class_module_day.Class_Module_Date_Start, Class_Module_Date_Exam = class_module_day.Class_Module_Date_Start, Class_Module_DurationByDay = 0, Faculty_Id = class_module_day.Faculty_Id, Module_Id = class_module_day.Module_Id, Resource_LT_Id = class_module_day.Resource_LT_Id, Resource_TH_Id = class_module_day.Resource_TH_Id, Resource_Exam_Id = class_module_day.Resource_Exam_Id, Created_Date = DateTime.Now, Status = (int)EntityStatus.Visible, }; class_module.AddStudents(current_class); class_module = IoCConfig.Service <IClass_ModuleService>().Add(class_module); } else { class_module = existed; if (class_module_day.Faculty_Id != 0) { class_module.Faculty_Id = class_module_day.Faculty_Id; class_module.Resource_LT_Id = class_module_day.Resource_LT_Id; class_module.Resource_TH_Id = class_module_day.Resource_TH_Id; class_module.Resource_Exam_Id = class_module_day.Resource_Exam_Id; } else { class_module.Resource_Exam_Id = class_module_day.Resource_Exam_Id; } class_module = IoCConfig.Service <IClass_ModuleService>().Update(class_module); } //If first day if (class_module_day.Class_Module_Status == (int)ClassModuleDayStatusEnum.Studying) { var day_count = class_module_day.Class_Module_Day; if (class_module.Class_Module_Days_List.Count() >= day_count) { continue; } } else { if (class_module.Class_Module_Days_List.Any(d => d.Class_Module_Day_Status == (int)ClassModuleDayStatusEnum.Test)) { continue; } } //Add new class_module_day if (class_module != null) { var date = class_module_day.Class_Module_Date_Start; var status = (ClassModuleDayStatusEnum)class_module_day.Class_Module_Status; class_module.AddModuleDay(date, current_class, status); class_module.Class_Module_Date_End = date; class_module.Class_Module_Date_Exam = date; class_module.Class_Module_DurationByDay++; IoCConfig.Service <IClass_ModuleService>().Update(class_module); } } catch (Exception ex) { throw ex; } } } } return(MyContent("Upload successfully!")); } } return(Error()); }
private Class_Module GetClassModuleDay(ExcelWorksheet workSheet, int rowIterator, Company center, Class current_class, CourseFamily ngoaikhoa) { Class_Module item = new Class_Module(); var Class_Module_Date_Start = GetCellValue_DateTime(workSheet, rowIterator, (int)TKBEnum.Date); if (Class_Module_Date_Start == null) { return(null); } item.Class_Module_Date_Start = Class_Module_Date_Start.Value; var module = GetCellValue(workSheet, rowIterator, (int)TKBEnum.Module); if (string.IsNullOrEmpty(module)) { return(null); } module = module.ToLower(); var module_names = module.Split("-".ToCharArray()); if (module_names.Length != 2) { return(null); } var module_code = module_names[0].Trim(); var module_day = module_names[1].Trim(); if (string.IsNullOrEmpty(module_day)) { return(null); } //1. Module var _module = current_class.CourseFamily.Modules_List .FirstOrDefault(m => m.Module_Code != null && m.Module_Code.ToLower().Equals(module_code));//IoCConfig.Service<IModuleService>().FindValidByCriteria(m => m.Module_Code != null && m.Module_Code.ToLower().Equals(module_code)); if (!IsValidModel(_module) && ngoaikhoa != null) { _module = ngoaikhoa.Modules_List .FirstOrDefault(m => m.Module_Code != null && m.Module_Code.ToLower().Equals(module_code)); } if (!IsValidModel(_module)) { return(null); } item.Module_Id = _module.Id; if (module_day != "test") { item.Class_Module_Day = int.Parse(module_day); item.Class_Module_Status = (int)ClassModuleDayStatusEnum.Studying; } else { item.Class_Module_Day = 0; item.Class_Module_Status = (int)ClassModuleDayStatusEnum.Test; } //2. FC item.Faculty_Id = 0; var FC_Nickname = GetCellValue(workSheet, rowIterator, (int)TKBEnum.FC); if (!string.IsNullOrEmpty(FC_Nickname)) { var _fc = IoCConfig.Service <IFacultyService>().FindValidByCriteria(f => f.Company_Id == center.Id && f.FC_Nickname != null && f.FC_Nickname.ToLower().Equals(FC_Nickname.ToLower())); //center.Faculties.Valid().FirstOrDefault(f => f.FC_Nickname != null && f.FC_Nickname.ToLower().Equals(FC_Nickname.ToLower())); if (!IsValidModel(_fc)) { _fc = IoCConfig.Service <IFacultyService>().Add(new Faculty { Company_Id = center.Id, FC_Name = FC_Nickname, FC_Nickname = FC_Nickname, FC_Type = (int)FacultyTypeEnum.PartTime, FC_Gender = (int)GenderEnum.Male, FC_Birthday = DateTime.Today, FC_Salary = 0, FC_WorkingHour = 0, FC_CMND_NgayCap = DateTime.Today, Status = (int)EntityStatus.Visible }); } item.Faculty_Id = _fc.Id; } //3. Resource var Resource_Name = GetCellValue(workSheet, rowIterator, (int)TKBEnum.Resource); if (string.IsNullOrEmpty(Resource_Name)) { return(null); } var _resource = IoCConfig.Service <IResourceService>().FindValidByCriteria(r => r.Company_Id == center.Id && r.Resource_Name != null && r.Resource_Name.ToLower().Equals(Resource_Name.ToLower())); //center.Resources.Valid().FirstOrDefault(r => r.Resource_Name != null && r.Resource_Name.ToLower().Equals(Resource_Name.ToLower())); if (!IsValidModel(_resource)) { _resource = IoCConfig.Service <IResourceService>().Add(new Resource { Company_Id = center.Id, Resource_Name = Resource_Name, Status = (int)EntityStatus.Visible }); } item.Resource_LT_Id = _resource.Id; item.Resource_TH_Id = _resource.Id; item.Resource_Exam_Id = _resource.Id; return(item); }