57 lines
1.5 KiB
C#
57 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace HFUTCourseSimulation {
|
|
|
|
public class Semester {
|
|
|
|
public Semester() {
|
|
this.Courses = new List<CourseItem>();
|
|
StartDate = DateTime.Today.ToString();
|
|
WeekCount = 1;
|
|
}
|
|
|
|
public string StartDate { get; set; }
|
|
public int WeekCount { get; set; }
|
|
public List<CourseItem> Courses { get; set; }
|
|
}
|
|
|
|
public class CourseItem {
|
|
|
|
public CourseItem() {
|
|
this.Schedule = new List<ScheduleItem>();
|
|
}
|
|
|
|
public string Name { get; set; }
|
|
public string Description { get; set; }
|
|
|
|
public List<ScheduleItem> Schedule { get; set; }
|
|
|
|
public CourseItem Clone() {
|
|
var newobj = new CourseItem();
|
|
newobj.Name = this.Name;
|
|
newobj.Description = this.Description;
|
|
newobj.Schedule = new List<ScheduleItem>();
|
|
newobj.Schedule.AddRange((from item in this.Schedule select item.Clone()));
|
|
return newobj;
|
|
}
|
|
}
|
|
|
|
public class ScheduleItem {
|
|
public string Week { get; set; }
|
|
public string Day { get; set; }
|
|
public string Index { get; set; }
|
|
|
|
public ScheduleItem Clone() {
|
|
return new ScheduleItem() { Week = this.Week, Index = this.Index, Day = this.Day };
|
|
}
|
|
public override string ToString() {
|
|
return Week + " - " + Day + " - " + Index;
|
|
}
|
|
}
|
|
|
|
}
|