示例#1
0
        public static bool AddToTimetable(int courseId)
        {
            using (var context = new Classmaister5000Entities())
            {
                var course = context.Courses.Find(courseId);
                ICollection <Timetable> records = context.Timetables.ToList();
                ICollection <Course>    courses = new List <Course>();
                foreach (var item in records)
                {
                    courses.Add(context.Courses.Where(c => c.Id == item.Course_Id).First());
                }

                bool   exists     = false;
                Course changeThis = null;
                foreach (var item in courses)
                {
                    if (item.Subject_Id == course.Subject_Id)
                    {
                        exists     = true;
                        changeThis = item;
                    }
                }
                if (!exists)
                {
                    int?id = context.Timetables.Max(i => (int?)i.Id) + 1;
                    if (id == null)
                    {
                        id = 0;
                    }
                    TimetableModel record = new TimetableModel();
                    record.UserId   = GetUserId;
                    record.CourseId = courseId;
                    record.Id       = (int)id + 1;

                    context.Timetables.Add(TimetableMapper.ModelToEntity(record));
                    context.SaveChanges();
                }
                else
                {
                    var changeThisPlease = context.Timetables.Where(t => t.Course_Id == changeThis.Id).First();
                    changeThisPlease.Course_Id            = courseId;
                    context.Entry(changeThisPlease).State = System.Data.Entity.EntityState.Modified;
                    context.SaveChanges();
                }
            }
            return(true);
        }