Exemple #1
0
        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);
        }
Exemple #3
0
        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));
        }
Exemple #6
0
    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);
    }
Exemple #7
0
        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");
 }
Exemple #15
0
    public void SearchFromSchedule(ClassSchedule classSchedule)
    {
        //  List<Listing> listings;

        listings = db.SearchForListing();

        // return listings;
    }
Exemple #16
0
        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"));
        }
Exemple #18
0
        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));
        }
Exemple #20
0
 public ActionResult Index(ClassSchedule classSchedule)
 {
     if (classSchedule.DepartmentId > 0)
     {
         ViewBag.ClassScheduleList = GetScheduleByDepartmentId(classSchedule.DepartmentId);
     }
     ViewBag.Department = GetAllDepartments();
     return(View());
 }
Exemple #21
0
        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));
            }
        }
Exemple #23
0
 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));
        }
Exemple #28
0
 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 { }
 }
Exemple #29
0
        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);
        }
Exemple #35
0
        /// <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);
            }
        }