public IActionResult AddClass(ClassSchedule ntc) { string msg; var account = db.class_info.Where(a => a.group == ntc.group).FirstOrDefault(); if (account == null) { db.class_info.Add(ntc); db.SaveChanges(); return(RedirectToAction("AdminWork")); } else { account = db.class_info.Where(a => a.date == ntc.date).FirstOrDefault(); if (account == null) { db.class_info.Add(ntc); db.SaveChanges(); return(RedirectToAction("AdminWork")); } else { msg = "Already exist as an Class."; } } ViewBag.message = msg; return(View("AdminWork")); }
public List <ClassSchedule> GetScheduleByDepartmentId(int departmentId) { List <ClassSchedule> classScheduleList = new List <ClassSchedule>(); string query = "SELECT Course.CourseId, Course.CourseCode, Course.CourseName, Room.RoomNo, Day.Day, CONVERT(varchar(15), CAST(t1.TimeFrom AS TIME),100) AS TimeFrom, CONVERT(varchar(15), CAST(t1.TimeTo AS TIME),100) AS TimeTo FROM Course LEFT JOIN (SELECT * FROM AllocateClassrooms WHERE AllocateClassrooms.Status = 1) AS t1 ON Course.CourseId = t1.CourseId LEFT JOIN Room ON Room.RoomId = t1.RoomId LEFT JOIN Day ON Day.DayId = t1.DayId WHERE Course.DepartmentId = @DepartmentId ORDER BY Course.CourseId"; Command = new SqlCommand(query, Connection); Command.Parameters.Clear(); Command.Parameters.Add("@DepartmentId", SqlDbType.Int); Command.Parameters["@DepartmentId"].Value = departmentId; Connection.Open(); Reader = Command.ExecuteReader(); if (Reader.HasRows) { while (Reader.Read()) { ClassSchedule classSchedule = new ClassSchedule(); classSchedule.CourseId = Convert.ToInt32(Reader["CourseId"]); classSchedule.CourseCode = Reader["CourseCode"].ToString(); classSchedule.CourseName = Reader["CourseName"].ToString(); classSchedule.RoomNo = Reader["RoomNo"].ToString(); classSchedule.Day = Reader["Day"].ToString(); classSchedule.TimeFrom = Reader["TimeFrom"].ToString(); classSchedule.TimeTo = Reader["TimeTo"].ToString(); classScheduleList.Add(classSchedule); } Reader.Close(); } Connection.Close(); return(classScheduleList); }
public ApiResult <ClassSchedule> CloseClass(int classScheduleId) { ApiResult <ClassSchedule> r = new ApiResult <ClassSchedule>(); ClassSchedule cs = RCSContext.ClassSchedules.Where(i => i.Id == classScheduleId).FirstOrDefault(); if (cs == null) { r.Messages.Add("Lớp học không tồn tại."); return(r); } if (cs.Status == (int)EClassStatus.Schedule) { r.Messages.Add("Lớp học chưa mở."); return(r); } if (cs.Status == (int)EClassStatus.Closed) { r.Messages.Add("Lớp học đã kết thúc."); return(r); } cs.Status = (int)EClassStatus.Closed; cs.EndDatetime = DateTime.Now; RCSContext.SaveChanges(); r.IsSuccess = true; r.Data = cs; r.Messages.Add("Kết thúc lớp học thành công."); return(r); }
public StudentClassSchedule GetStudentClassSchedule(int studentNo) { var query = new StringBuilder(); query.AppendFormat("SELECT StudentNo, Student, TermBeginDate, Course, CourseDescription, Room, Instructor, Units, FirstClassDate, LastClassDate") .AppendFormat(" FROM vWebScheduleOfCourses") .AppendFormat(" WHERE StudentNo = {0}", studentNo); var classSchedules = new List <ClassSchedule>(); using (var reader = this.ExecuteReader(CommandType.Text, query.ToString())) { while (reader.Read()) { int colIndex = -1; var classSchedule = new ClassSchedule() { StudentNo = reader[++colIndex] as int?, Student = reader[++colIndex] as string, TermBeginDate = reader[++colIndex] as DateTime?, Course = reader[++colIndex] as string, CourseDescription = reader[++colIndex] as string, Room = reader[++colIndex] as string, Instructor = reader[++colIndex] as string, Units = reader[++colIndex] as double?, FirstClassDate = reader[++colIndex] as string, LastClassDate = reader[++colIndex] as string }; classSchedules.Add(classSchedule); } } return(new StudentClassSchedule(classSchedules)); }
public JsonResult AddClassSchedule(ClassSchedule ClassSchedule) { db_context.ClassSchedules.Add(ClassSchedule); for (DateTime date = ClassSchedule.StartDate; date.Date <= ClassSchedule.EndDate.Date; date = date.AddDays(1)) { if (ClassSchedule.Days.Contains(date.ToString("ddd"))) { Class c = new Class() { ClassScheduleID = ClassSchedule.ClassScheduleID, ClassTypeID = ClassSchedule.ClassTypeID, StartDate = date, EndDate = date, StartTime = ClassSchedule.StartTime, EndTime = ClassSchedule.EndTime, AllowWaitlist = true, IsCancelled = false }; db_context.Classes.Add(c); } } db_context.SaveChanges(); return(Json(true)); }
public ClassSchedule FromString(string str) //what isthis for? { ClassSchedule tempsched = new ClassSchedule(); Course tempcourse = new Course(); List <string> tempcc = new List <string>(); List <string> tempcl = new List <string>(); char seperator = ','; string[] substr = str.Split(seperator); for (int i = 0; i < substr.Length; i++) { if (i % 2 == 1) { tempcc.Add(substr[i]); } else { tempcl.Add(substr[i]); } } for (int i = 0; i < substr.Length; i++) { tempcourse = new Course(tempcc[i], tempcl[i]); tempsched.AddClass(tempcourse); } return(tempsched); }
public int Add(ClassScheduleModel aModel) { int result = 0; //await Task.Run(() => //{ try { ClassSchedule aNew = new ClassSchedule { Id = aModel.Id, IdBranchOficce = aModel.IdBranchOffice, IdWorkout = aModel.IdWorkout, DayWeek = aModel.WeekDay, StarTime = aModel.StarTime, EndTime = aModel.EndTime, IdTrainer = aModel.IdTrainer == 0 ? null : aModel.IdTrainer, Active = true, DateCreated = DateTime.Now, StartDate = aModel.StartDate, EndDate = aModel.EndDate }; fcontext.ClassSchedule.Add(aNew); fcontext.SaveChanges(); result = aNew.Id; } catch (Exception ex) { result = 0; } //}); return(result); }
public List <ClassSchedule> GetCourseInformation(string code) { List <ClassSchedule> classScheduleList = new List <ClassSchedule>(); GenarateConnection(); using (Connection) { string query = "select * from Course where Department = @Department ;"; Command = new SqlCommand(query, Connection); Connection.Open(); Command.Parameters.Add("@Department", SqlDbType.VarChar); Command.Parameters["@Department"].Value = code; Reader = Command.ExecuteReader(); if (Reader.HasRows) { while (Reader.Read()) { ClassSchedule classSchedule = new ClassSchedule(); classSchedule.CourseID = Convert.ToInt32(Reader["ID"].ToString()); classSchedule.CourseCode = Reader["Code"].ToString(); classSchedule.CourseName = Reader["Name"].ToString(); classScheduleList.Add(classSchedule); } } Connection.Close(); } return(classScheduleList); }
public int SaveClassSchedule(ClassSchedule classSchedule) { try { connection = new SqlConnection(connectionString); string query = "INSERT INTO AllocateClassRoom VALUES(@DeptId,@CourseId,@RoomId,@DayId,@StartTime,@EndTime,@Status)"; connection.Open(); command = new SqlCommand(query, connection); command.Parameters.Clear(); command.Parameters.AddWithValue("@DeptId", classSchedule.DepartmentId); command.Parameters.AddWithValue("@CourseId", classSchedule.CourseId); command.Parameters.AddWithValue("@RoomId", classSchedule.RoomId); command.Parameters.AddWithValue("@DayId", classSchedule.DayId); command.Parameters.AddWithValue("@StartTime", classSchedule.StartTime.ToShortTimeString()); command.Parameters.AddWithValue("@EndTime", classSchedule.EndTime.ToShortTimeString()); command.Parameters.AddWithValue("@Status", 1); return(command.ExecuteNonQuery()); } catch (Exception exception) { throw new Exception("Unable to Seve course", exception); } finally { connection.Close(); } }
public void TestLoad() { TestSave(); Storage storage = new Storage(); ClassSchedule classSchedule = storage.Load("test.json"); // Course Start Informations Assert.AreEqual(new DateTime(2020, 6, 14), classSchedule.StartWeek); Assert.AreEqual(3, classSchedule.NumWeeks); Assert.AreEqual(new DateTime(2020, 6, 15), classSchedule.StartDate); // Each Individual Class Informations Assert.AreEqual("TestLecture", classSchedule.Schedule[0].CourseName); Assert.AreEqual("TestLecture Lecture", classSchedule.Schedule[0].Classes[0].Summary); Assert.AreEqual(classSchedule.StartWeek.AddDays(2).Add(new TimeSpan(7, 30, 0)), classSchedule.Schedule[0].Classes[0].StartTime); Assert.AreEqual(classSchedule.StartWeek.AddDays(2).Add(new TimeSpan(8, 30, 0)), classSchedule.Schedule[0].Classes[0].EndTime); Assert.AreEqual("TU,TH", classSchedule.ConvertDays( classSchedule.Schedule[0].Classes[0].Days )); Assert.AreEqual("TestLecture Section", classSchedule.Schedule[0].Classes[1].Summary); Assert.AreEqual(classSchedule.StartWeek.AddDays(5).Add(new TimeSpan(7, 30, 0)), classSchedule.Schedule[0].Classes[1].StartTime); Assert.AreEqual(classSchedule.StartWeek.AddDays(5).Add(new TimeSpan(8, 30, 0)), classSchedule.Schedule[0].Classes[1].EndTime); Assert.AreEqual("FR", classSchedule.ConvertDays( classSchedule.Schedule[0].Classes[1].Days )); }
public async Task <IActionResult> Edit(string id, [Bind("Id,Schedule")] ClassSchedule classSchedule) { if (id != classSchedule.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(classSchedule); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ClassScheduleExists(classSchedule.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(classSchedule)); }
public List <ClassSchedule> ClassSchedule(int deptId, int courseId) { Query = "Select * from ScheduleOfClass where DepartmentId='" + deptId + "'AND CourseId='" + courseId + "' AND RoomStatus='Allocated'"; Command = new SqlCommand(Query, Connection); Connection.Open(); Reader = Command.ExecuteReader(); List <ClassSchedule> schedules = new List <ClassSchedule>(); while (Reader.Read()) { ClassSchedule schedule = new ClassSchedule() { CourseCode = Reader["CourseCode"].ToString(), CourseName = Reader["CourseName"].ToString(), RoomName = Reader["Room_Name"].ToString(), DayName = Reader["Day_Name"].ToString(), StartTime = Reader["StartTime"].ToString(), EndTime = Reader["EndTime"].ToString(), Status = Reader["RoomStatus"].ToString() }; schedules.Add(schedule); } Reader.Close(); Connection.Close(); return(schedules); }
public async Task <PartialViewResult> UpdateClassSchedule(int ClassScheduleID) { ClassSchedule model = await db_context.ClassSchedules.AsNoTracking().SingleAsync(x => x.ClassScheduleID == ClassScheduleID); ViewBag.RoomLayouts = db_context.RoomLayouts.Include(r => r.Location).AsNoTracking().ToList <RoomLayout>(); ViewBag.ClassTypes = db_context.ClassTypes.Include(c => c.Location).AsNoTracking().ToList <ClassType>(); return(PartialView(model)); }
public string SaveClassSchedule(ClassSchedule classSchedule) { if (classScheduleGateway.SaveClassSchedule(classSchedule) > 0) { return("Allocate Class Room"); } return("Failed to Allocate"); }
public void SearchFromSchedule(ClassSchedule classSchedule) { // List<Listing> listings; listings = db.SearchForListing(); // return listings; }
private void printPreview_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { // rptScheduleModel scheduleDetails = new rptScheduleModel(); ClassSchedule classScheduleModel = new ClassSchedule(); PrintScedule printScedule = new PrintScedule(); printScedule.ShowDialog(); }
public ActionResult DeleteConfirmed(int id) { ClassSchedule classSchedule = db.ClassSchedules.Find(id); db.ClassSchedules.Remove(classSchedule); db.SaveChanges(); return(RedirectToAction("Index")); }
private void deleteSubjectFromSchedule_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { int scheduleId = Convert.ToInt32(dgvSubjectList.Rows[scheduleRowIndex].Cells["Id"].Value.ToString()); ClassSchedule scheduleToDelete = _context.ClassSchedules.FirstOrDefault(t => t.Id == scheduleId); _context.ClassSchedules.Remove(scheduleToDelete); _context.SaveChanges(); LoadSchedules(); }
public JsonResult UpdateClassSchedule(ClassSchedule ClassSchedule) { ClassSchedule model = db_context.ClassSchedules.Single(x => x.ClassScheduleID == ClassSchedule.ClassScheduleID); db_context.Entry(model).CurrentValues.SetValues(ClassSchedule); int result = db_context.SaveChanges(); return(Json(true)); }
public ActionResult Index(ClassSchedule classSchedule) { if (classSchedule.DepartmentId > 0) { ViewBag.ClassScheduleList = GetScheduleByDepartmentId(classSchedule.DepartmentId); } ViewBag.Department = GetAllDepartments(); return(View()); }
public JsonResult GetClassScheduleInfo(int deptId) { var courses = db.Courses.Where(t => t.DepartmentId == deptId).ToList(); List <ClassSchedule> classSchedules = new List <ClassSchedule>(); foreach (var course in courses) { string schedule = ""; int counter = 0; var courseSchedules = db.RoomAllocations.Where(t => t.DepartmentId == course.DepartmentId && t.CourseId == course.CourseId && t.Status == "Allocated").ToList(); foreach (var courseSchedule in courseSchedules) { if (counter != 0) { schedule += "; "; } schedule += "R. No : " + courseSchedule.Room.Name + ", " + courseSchedule.Day.Name.Substring(0, 3) + ", "; int h, m; string p = "AM"; int st = courseSchedule.StartTime; h = st / 60; m = st - (h * 60); if (st >= 720) { h -= 12; if (h == 0) { h = 12; } p = "PM"; } schedule += h + ":" + m.ToString("00") + " " + p + " - "; int et = courseSchedule.EndTime; h = et / 60; m = et - (h * 60); p = "AM"; if (et >= 720) { h -= 12; if (h == 0) { h = 12; } p = "PM"; } schedule += h + ":" + m.ToString("00") + " " + p; counter++; } if (schedule == "") { schedule = "Not Scheduled Yet."; } ClassSchedule classSchedule = new ClassSchedule(course.CourseCode, course.CourseName, schedule); classSchedules.Add(classSchedule); } return(Json(classSchedules, JsonRequestBehavior.AllowGet)); }
public ResultDTO Create(CreateClassDTO createClassDTO) { createClassDTO.Validate(); if (createClassDTO.Invalid) { return(new ResultDTO(false, "Invalid fields.", createClassDTO.Notifications)); } try { using (var transaction = _context.Database.BeginTransaction()) { var userExistis = _userRepository.Get(createClassDTO.Name); if (userExistis != null) { return(new ResultDTO(false, "User already exist!", null)); } var user = User.Create(createClassDTO.UserId, createClassDTO.Name, createClassDTO.Avatar, createClassDTO.Whatsapp, createClassDTO.Bio); _userRepository.Create(user); if (!_userRepository.Save()) { return(new ResultDTO(false, "Cannot be saved.", null)); } var classese = Class.Create(createClassDTO.ClassId, createClassDTO.Subject, createClassDTO.Cost, user.Id); _classRepository.Create(classese); if (!_classRepository.Save()) { return(new ResultDTO(false, "Cannot be saved.", null)); } foreach (var item in createClassDTO.Schedule) { var classSchedule = ClassSchedule.Create( item.ClassScheduleId, item.WeekDay, ConvertHours.ToMinute(item.From), ConvertHours.ToMinute(item.To), classese.Id); _classScheduleRepository.Create(classSchedule); } if (!_classRepository.Save()) { return(new ResultDTO(false, "Cannot be saved.", null)); } transaction.Commit(); return(new ResultDTO(true, "Successfuly registered.", null)); } } catch (Exception e) { return(new ResultDTO(false, "Cannot be saved.", e)); } }
public static void DisplayValuesInConsoleWindow(ClassSchedule newClassSchedule) { Console.WriteLine("Section = " + newClassSchedule.SectionId.ToString()); Console.WriteLine("Subject = " + newClassSchedule.SubjectId.ToString()); Console.WriteLine("Room = " + newClassSchedule.RoomId.ToString()); Console.WriteLine("Teacher = " + newClassSchedule.TeacherId.ToString()); Console.WriteLine("Start = " + newClassSchedule.StartTime.ToString()); Console.WriteLine("End = " + newClassSchedule.EndTime.ToString()); Console.WriteLine("Days = " + newClassSchedule.Days); }
public IHttpActionResult GetClassSchedule(int id) { ClassSchedule result = BusinessLayer.GetRow <ClassSchedule>(id); if (result == null) { return(NotFound()); } return(Ok(result)); }
public JsonResult SaveClassScheduleChanges(Dictionary <long, long> inputData) { foreach (KeyValuePair <long, long> kv in inputData) { ClassSchedule cs = db_context.ClassSchedules.Include(x => x.ClassType).ThenInclude(x => x.Location).Single(x => x.ClassScheduleID == kv.Key); cs.RoomLayoutID = kv.Value; db_context.SaveChanges(); } return(Json(true)); }
public ActionResult Edit([Bind(Include = "Id,ClassId,Datetime,Status")] ClassSchedule classSchedule) { if (ModelState.IsValid) { db.Entry(classSchedule).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ClassId = new SelectList(db.Classes, "Id", "Name", classSchedule.ClassId); return(View(classSchedule)); }
public async Task <IActionResult> Create([Bind("Id,Schedule")] ClassSchedule classSchedule) { if (ModelState.IsValid) { _context.Add(classSchedule); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(classSchedule)); }
private void dgvSubjectList_CellClick(object sender, DataGridViewCellEventArgs e) { try { FormHelper.ClearForm(groupBoxDetails.Controls); int scheduleId = Convert.ToInt32(dgvSubjectList.Rows[e.RowIndex].Cells[0].Value.ToString()); _classSchedule = _context.ClassSchedules.FirstOrDefault(t => t.Id == scheduleId); LoadControlData(e.RowIndex, _classSchedule); } catch { } }
public ApiResult <ClassSchedule> UpdateClassSchedule(ClassSchedule classSchedule) { var r = new ApiResult <ClassSchedule>(); var cs1 = RCSContext.ClassSchedules.Where(i => i.Id == classSchedule.Id).FirstOrDefault(); if (cs1 == null) { r.IsSuccess = false; r.Messages.Add("Không tìm thấy lớp học."); } else { } cs1.Status = classSchedule.Status; cs1.Datetime = classSchedule.Datetime; try { RCSContext.SaveChanges(); } catch (Exception e) { r.Messages.Add(e.Message); return(r); } var temp = (from cs in RCSContext.ClassSchedules where cs.Id == classSchedule.Id join c in RCSContext.Classes on cs.ClassId equals c.Id into c1 from c in c1.DefaultIfEmpty() join s in RCSContext.Studyings on c.Id equals s.ClassId into s1 from s in s1.DefaultIfEmpty() join sj in RCSContext.Subjects on c.SubjectId equals sj.Id into sj1 from sj in sj1.DefaultIfEmpty() join rc in RCSContext.RollCalls on cs.Id equals rc.ClassScheduleId into rc1 from rc in rc1.DefaultIfEmpty() join src in RCSContext.Students on rc.StudentId equals src.Id into src1 from src in src1.DefaultIfEmpty() join ss in RCSContext.Students on s.StudentId equals ss.Id into ss1 from ss in ss1.DefaultIfEmpty() select new { c, s, sj, cs, rc, src, ss } ).ToList(); var cs2 = temp.Select(t => t.cs).Distinct().FirstOrDefault(); cs2.Class.ClassSchedules = null; cs2.Class.Subject.Classes = null; cs2.Class.Studyings.ForEach(s => { s.Class = null; s.Student.Studyings = null; }); cs2.RollCalls.ForEach(rc => { rc.ClassSchedule = null; rc.Student.RollCalls = null; }); r.Data = cs2; r.IsSuccess = true; return(r); }
public ActionResult Create([Bind(Include = "Id,ClassId,Datetime,Status")] ClassSchedule classSchedule) { if (ModelState.IsValid) { db.ClassSchedules.Add(classSchedule); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ClassId = new SelectList(db.Classes, "Id", "Name", classSchedule.ClassId); return(View(classSchedule)); }
public void Setup() { _testClassSchedule = new ClassSchedule(_testListOfCoursesBasicList); }
public void Cleanup() { _testClassSchedule = null; }
public ActionResult EditSchedule(ClassSchedule model) { Academy.Current.AddOrUpdate(model); return Content("Class Schedule Updated"); }
public ActionResult EditSchedule(Guid classId, string dtFrom, string dtTo) { ClassSchedule schedule = Academy.Current.GetClassScheduleByClassId(classId); var veryFirst = schedule == null || schedule.Days == null; if (veryFirst) { schedule = new ClassSchedule() { ClassId = classId, Start = DateTime.Today }; } if (veryFirst && string.IsNullOrEmpty(dtFrom) && string.IsNullOrEmpty(dtTo)) schedule.Init(); else if ( !string.IsNullOrEmpty(dtFrom) && !string.IsNullOrEmpty(dtTo)) schedule.DateRange(dtFrom, dtTo); var cls = Academy.Current.GetClassById(classId); schedule.CmbStudents.Clear(); //schedule.Students.Clear(); var studentsByCourse = Academy.Current.GetStudentsByCourseId(cls.CourseId); foreach (var student in studentsByCourse) { if(schedule.Students.Contains(student.Id)) schedule.CmbStudents.Add(new SelectListItem() { Selected=true, Text = student.Name, Value = student.Id + "" }); else schedule.CmbStudents.Add(new SelectListItem() { Text = student.Name, Value = student.Id + "" }); } return View(schedule); }
/// <summary> /// 交叉算子,双亲交配并产生下一代种群 /// </summary> private void Cross() { int first, second; for (int i = 0; i < _populationSize; i++) { Schedule s; //交叉概率80% if (Global.Random.Next(100) < Global.CrossRate) { Global.RandomGeneric2Value(_populationSize, out first, out second); //切分的标志,标志以前用第一个个体的基因,标志之后用第二个个体的基因. int f = Global.Random.Next(Global.ClassCount); s = new Schedule(Global.ClassCount); for (int j = 0; j < f; j++) { s[j] = new ClassSchedule(_selectedSchedule[first]); } for (int j = f; j < Global.ClassCount; j++) { s[j] = new ClassSchedule(_selectedSchedule[second]); } s.Dirty(); } else { s = new Schedule(_selectedSchedule[Global.Random.Next(_populationSize)]); } //将新个体放入新种群 _newPopulation.Add(s); } }