Пример #1
0
 public Concept(String name, User author, Subject subject, Boolean isGroup, Boolean published)
 {
     Name = name;
     Author = author;
     Subject = subject;
     IsGroup = isGroup;
     Published = published;
     UserId = author.Id;
     SubjectId = subject.Id;
 }
Пример #2
0
 public SubjectViewModel(Subject model)
 {
     SubjectId = model.Id;
     DisplayName = model.Name;
     Name = model.ShortName;
 }
Пример #3
0
        public SubjectData GetSubject(int id)
        {
            SubjectData sub = new SubjectData();
            Subject subject = new Subject();
            using (var repositoriesContainer = new LmPlatformRepositoriesContainer())
            {
                subject = repositoriesContainer.SubjectRepository.GetBy(new Query<Subject>(e => e.Id == id)
                    .Include(e => e.SubjectGroups));
            }

            sub.Id = subject.Id;
            sub.Name = subject.Name;
            sub.ShortName = subject.ShortName;
            return sub;
        }
Пример #4
0
 public SubjectViewData(Subject subject)
 {
     Id = subject.Id;
     Name = subject.Name;
     ShortName = subject.ShortName;
 }
        public void Save(int userId)
        {
            var subject = new Subject
            {
                Id = SubjectId,
                Name = DisplayName,
                ShortName = ShortName,
                SubjectModules = new Collection<SubjectModule>(),
                SubjectLecturers = new Collection<SubjectLecturer>()
            };

            foreach (var module in Modules)
            {
                if (module.Checked)
                {
                    if (module.Type == ModuleType.Labs)
                    {
                        subject.SubjectModules.Add(new SubjectModule
                        {
                            ModuleId = ModulesManagementService.GetModules().First(e => e.ModuleType == ModuleType.ScheduleProtection).Id,
                            SubjectId = SubjectId
                        });
                        subject.SubjectModules.Add(new SubjectModule
                        {
                            ModuleId = ModulesManagementService.GetModules().First(e => e.ModuleType == ModuleType.StatisticsVisits).Id,
                            SubjectId = SubjectId
                        });
                        subject.SubjectModules.Add(new SubjectModule
                        {
                            ModuleId = ModulesManagementService.GetModules().First(e => e.ModuleType == ModuleType.Results).Id,
                            SubjectId = SubjectId
                        });
                    }

                    subject.SubjectModules.Add(new SubjectModule
                    {
                        ModuleId = module.ModuleId,
                        SubjectId = SubjectId
                    });
                }
            }

            subject.SubjectLecturers.Add(new SubjectLecturer
            {
                SubjectId = SubjectId,
                LecturerId = userId
            });

            if (SelectedGroups != null)
            {
                subject.SubjectGroups = SelectedGroups.Select(e => new SubjectGroup
                {
                    GroupId = e,
                    SubjectId = SubjectId
                }).ToList();
            }
            else
            {
                subject.SubjectGroups = new Collection<SubjectGroup>();
            }

            var acp = Context.AssignedCourseProjects.Include("Student").Where(x => x.CourseProject.SubjectId == subject.Id);

            foreach (var a in acp)
            {
                bool flag = false;
                foreach(var s in subject.SubjectGroups)
                {
                    if (s.GroupId == a.Student.GroupId)
                    {
                        flag = true;
                        break;
                    }
                }
                if (!flag)
                {
                    Context.AssignedCourseProjects.Remove(a);
                }
                CPManagementService.DeletePercenageAndVisitStatsForUser(a.StudentId);
            }

            var cpg = Context.CourseProjectGroups.Where(x => x.CourseProject.SubjectId == subject.Id);

            foreach (var a in cpg)
            {
                bool flag = false;
                foreach (var s in subject.SubjectGroups)
                {
                    if (s.GroupId == a.GroupId)
                    {
                        flag = true;
                        break;
                    }
                }
                if (!flag)
                {
                    Context.CourseProjectGroups.Remove(a);
                }
            }

            Context.SaveChanges();

            Subject sub = SubjectManagementService.SaveSubject(subject);

            foreach (var module in sub.SubjectModules)
            {
                if (module.ModuleId == 9)
                {
                    MaterialsManagementService.CreateRootFolder(module.Id, sub.Name);
                }
            }
        }
Пример #6
0
        public void Save(int userId)
        {
            var subject = new Subject
            {
                Id = SubjectId,
                Name = DisplayName,
                ShortName = ShortName,
                SubjectModules = new Collection<SubjectModule>(),
                SubjectLecturers = new Collection<SubjectLecturer>()
            };

            foreach (var module in Modules)
            {
                if (module.Checked)
                {
                    if (module.Type == ModuleType.Labs)
                    {
                        subject.SubjectModules.Add(new SubjectModule
                        {
                            ModuleId = ModulesManagementService.GetModules().First(e => e.ModuleType == ModuleType.ScheduleProtection).Id,
                            SubjectId = SubjectId
                        });
                        subject.SubjectModules.Add(new SubjectModule
                        {
                            ModuleId = ModulesManagementService.GetModules().First(e => e.ModuleType == ModuleType.StatisticsVisits).Id,
                            SubjectId = SubjectId
                        });
                        subject.SubjectModules.Add(new SubjectModule
                        {
                            ModuleId = ModulesManagementService.GetModules().First(e => e.ModuleType == ModuleType.Results).Id,
                            SubjectId = SubjectId
                        });
                    }

                    subject.SubjectModules.Add(new SubjectModule
                    {
                        ModuleId = module.ModuleId,
                        SubjectId = SubjectId
                    });
                }
            }

            subject.SubjectLecturers.Add(new SubjectLecturer
            {
                SubjectId = SubjectId,
                LecturerId = userId
            });

            if (SelectedGroups != null)
            {
                subject.SubjectGroups = SelectedGroups.Select(e => new SubjectGroup
                {
                    GroupId = e,
                    SubjectId = SubjectId
                }).ToList();
            }
            else
            {
                subject.SubjectGroups = new Collection<SubjectGroup>();
            }

            Subject sub = SubjectManagementService.SaveSubject(subject);

            foreach (var module in sub.SubjectModules)
            {
                if (module.ModuleId == 9)
                {
                    MaterialsManagementService.CreateRootFolder(module.Id, sub.Name);
                }
            }
        }
Пример #7
0
        public Subject SaveSubject(Subject subject)
        {
            using (var repositoriesContainer = new LmPlatformRepositoriesContainer())
            {
                repositoriesContainer.SubjectRepository.Save(subject);

                repositoriesContainer.ApplyChanges();
            }

            return subject;
        }
Пример #8
0
 public SubjectListViewModel _GetSubjectRow(Subject subject)
 {
     return new SubjectListViewModel
     {
         Name = string.Format("<a href=\"{0}\">{1}</a>", Url.Action("Index", "Subject", new { subjectId = subject.Id }), subject.Name),
         ShortName = subject.ShortName,
         Action = PartialViewToString("_SubjectActionList", new SubjectViewModel { SubjectId = subject.Id })
     };
 }