Ejemplo n.º 1
0
        public ActionResult EditLesson(int courseInstanceId, int id, Lesson editedLesson)
        {
            Lesson lesson = db.Lesson.Where(l => l.ID == id).First();

            if (lesson == null)
            {
                return(HttpNotFound());
            }

            CourseInstance courseInstance = db.CourseInstance.Where(c => c.ID == courseInstanceId).First();

            if (courseInstance.BaseCourse.Teachers.Where(t => User.Identity.Name == t.UserName).FirstOrDefault() == null && !User.IsInRole("admin"))
            {
                ViewBag.Message = "У вас нет прав на редактирование этих материалов";
                return(View("Error"));
            }

            lesson.Name        = editedLesson.Name;
            lesson.Description = editedLesson.Description;
            lesson.Links       = editedLesson.Links;

            if (!ModelState.IsValid)
            {
                ViewBag.CourseId = courseInstanceId;
                return(View(lesson));
            }

            db.SaveChanges();

            return(RedirectToAction("CourseInstance", new { id = courseInstanceId }));
        }
Ejemplo n.º 2
0
        public ActionResult Create(int courseId, CourseInstanceCreateEdit newCourseInstance)
        {
            newCourseInstance.BaseCourse = db.Course.Where(c => c.ID == courseId).FirstOrDefault();
            if (newCourseInstance.Year < 0 || newCourseInstance.BaseCourse == null)
            {
                return(View(newCourseInstance));
            }
            List <Person> studentsList = new List <Person>();

            for (int i = 0; i < newCourseInstance.Chosen_Students.Count(); i++)
            {
                if (newCourseInstance.Chosen_Students[i])
                {
                    string id      = newCourseInstance.Students[i].Id;
                    Person student = db.Users.Where(p => p.Id == id).FirstOrDefault();
                    studentsList.Add(student);
                }
            }

            var courseInstance = new CourseInstance {
                Year = newCourseInstance.Year,
                AdditionalDescription = newCourseInstance.AdditionalDescription,
                BaseCourse            = newCourseInstance.BaseCourse,
                Place       = newCourseInstance.Place,
                Report_Date = newCourseInstance.Report_Date,
                Students    = studentsList,
            };

            db.CourseInstance.Add(courseInstance);
            db.SaveChanges();
            return(RedirectToAction("course", "Courses", new { id = courseId }));
        }
        public async Task <InstanceDto> AddIUniClass(InstanceDto instanceDto)
        {
            string attendenSubstring = Guid.NewGuid().ToString().Trim('-').Substring(0, 7);

            switch (instanceDto.UniClassType)
            {
            case UniClassType.Course:
                CourseInstance course = new CourseInstance()
                {
                    Description    = instanceDto.Description,
                    AttendenceCode = attendenSubstring,
                    Date           = instanceDto.Date,
                    Name           = instanceDto.Name,
                    ProfId         = instanceDto.ProfId,
                    SubjectId      = instanceDto.SubjectId,
                    UniClassType   = UniClassType.Course
                };
                course = await Repository.InsertAsync(course);

                return(ObjectMapper.Map <InstanceDto>((IUniClass)course));

                break;
            }

            return(null);
        }
        public async Task CourseInstancesDetailsAsync_WithValidCourseInstance_ShouldReturnCorrectDetails()
        {
            // Arrange
            const int    expectedId   = 1;
            const string expecterName = "First course";

            var courseInstance = new CourseInstance
            {
                Id   = expectedId,
                Name = expecterName
            };

            this.context.CourseInstances.Add(courseInstance);
            await this.context.SaveChangesAsync();

            this.courseInstancesRepositoryMock
            .Setup(m => m.Details())
            .Returns(this.context.CourseInstances)
            .Verifiable();

            var service = new AdminCourseInstancesService(this.courseInstancesRepositoryMock.Object, this.mapper);

            // Act
            var result = await service.CourseInstancesDetailsAsync <DetailsCourseInstanceViewModel>(expectedId);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(expectedId, result.Id);
            Assert.Equal(expecterName, result.Name);
        }
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
        /// <summary>
        /// Course department view page.
        /// </summary>
        /// <param name="Dept"></param>
        /// <param name="Num"></param>
        /// <param name="Sem"></param>
        /// <param name="Year"></param>
        /// <returns></returns>
        public async Task <IActionResult> Course(string Dept, int?Num, string Sem, int?Year)
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
        {
            if (Dept.Equals(null) || Num == null || Sem.Equals(null) || Year == null)
            {
                return(View("Error", new ErrorViewModel()
                {
                    ErrorMessage = "Insufficient information to locate course."
                }));
            }
            CourseInstance course = _context.CourseInstance.Where(c => c.Department == Dept && c.Number == Num &&
                                                                  c.Semester == Sem && c.Year == Year)
                                    .Include(c => c.CourseNotes)
                                    .Include(c => c.LearningOutcomes)
                                    .ThenInclude(lo => lo.EvaluationMetrics)
                                    .ThenInclude(em => em.SampleFiles)
                                    .Include(c => c.LearningOutcomes)
                                    .ThenInclude(lo => lo.LONotes)
                                    .FirstOrDefault();

            if (course == null)
            {
                return(Forbid());
            }
            return(View("Course", course));
        }
Ejemplo n.º 6
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            CourseInstance course = this.Data.CourseInstances
                                    .All(new string[] { "Course" }).Where(c => c.Id == id).FirstOrDefault();

            if (course == null)
            {
                return(HttpNotFound());
            }

            PublicCourseModel courseModel = new PublicCourseModel()
            {
                Description   = course.Course.Description,
                Id            = course.Id,
                LecturerName  = course.Course.Lecturer,
                Title         = course.Course.Title,
                EnrolledCount = this.Data.CourseInstances
                                .All(new string[] { "Course" })
                                .Where(c => c.Course.Id == id)
                                .Count(),
                StartDate = course.StartDate,
                EndDate   = course.EndDate
            };

            return(View(courseModel));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Return a webpage containing information about the selected course.
        /// </summary>
        /// <param name="Dept"></param>
        /// <param name="Num"></param>
        /// <param name="Sem"></param>
        /// <param name="Year"></param>
        /// <returns></returns>
        public async Task <IActionResult> Course(string Dept, int?Num, string Sem, int?Year)
        {
            if (Dept == null || Num == null || Sem.Equals(null) || Year == null)
            {
                return(View("Error", new ErrorViewModel()
                {
                    ErrorMessage = "Insufficient information to locate course."
                }));
            }
            //Retrieves the associated course, the user must be an instructor of the course, or the course must be archived.
            CourseInstance course = _context.CourseInstance.Where(c => c.Department == Dept && c.Number == Num &&
                                                                  c.Semester == Sem && c.Year == Year)
                                    .Include(c => c.CourseNotes)
                                    .Include(c => c.Instructors).ThenInclude(i => i.User)
                                    .Include(c => c.LearningOutcomes).ThenInclude(lo => lo.EvaluationMetrics).ThenInclude(em => em.SampleFiles)
                                    .Include(c => c.LearningOutcomes).ThenInclude(lo => lo.LONotes)
                                    .Include(c => c.Status)
                                    .Where(c => c.Instructors.Where(i => i.User.UserLoginEmail == User.Identity.Name).Any() || c.Status.Status == CourseStatusNames.Archived)
                                    .FirstOrDefault();

            if (course == null)
            {
                return(Forbid());
            }
            return(View("Course", course));
        }
Ejemplo n.º 8
0
        public FullOpportunityListModel(CourseInstance opportunity, DateTime?lastStartDate, Constants.OpportunityFilterDateStatus?opportunityDateStatus) : this()
        {
            this.OpportunityId  = opportunity.CourseInstanceId;
            this.CourseId       = opportunity.CourseId;
            this.Status         = opportunity.RecordStatu.RecordStatusName;
            this.RecordStatusId = opportunity.RecordStatusId;

            this.CourseTitle = opportunity.Course.CourseTitle;

            this.CourseDetails = this.CourseTitle;
            if (opportunity.Course.LearningAim != null)
            {
                this.CourseDetails = String.IsNullOrWhiteSpace(opportunity.Course.LearningAim.Qualification) ?
                                     String.Format("{0} | {1}", opportunity.Course.CourseTitle, opportunity.Course.LearningAim.LearningAimTitle) :
                                     String.Format("{0} | {1} | {2}", opportunity.Course.CourseTitle, opportunity.Course.LearningAim.LearningAimTitle, opportunity.Course.LearningAim.Qualification);
            }


            //TODO - CHECK WITH STEVE WHETHER WE WANT LONG PRICE DISPLAYING
            //Populate opportunity details
            this.OpportunityDetails = opportunity.GetOpportunityDetails();

            this.DateStatus = opportunityDateStatus;

            this.StartDate = String.Join(", ", opportunity.CourseInstanceStartDates.Select(d => d.StartDate.ToShortDateString()));

            this.LastUpdate = opportunity.ModifiedDateTimeUtc ?? opportunity.CreatedDateTimeUtc;

            //We cannot enable automatic advance start dates functionality unless the opportunity has a single start date
            this.CanAdvanceStartDate = opportunity.CourseInstanceStartDates != null && opportunity.CourseInstanceStartDates.Count == 1;
        }
        public async Task CreateCourseInstanceAsync_WithValidCourseInstance_ShouldAddCourseInstance()
        {
            // Arrange
            const string name = "Course test";
            const string slug = "course-test";

            var courseInstance = new CourseInstance
            {
                Name = name,
                Slug = slug
            };

            this.courseInstancesRepositoryMock
            .Setup(x => x.AddAsync(courseInstance))
            .Returns(Task.CompletedTask)
            .Verifiable();

            var service = new AdminCourseInstancesService(this.courseInstancesRepositoryMock.Object, this.mapper);

            // Act
            var result = await service.CreateCourseIntancesAsync(courseInstance);

            // Assert
            Assert.Equal(name, courseInstance.Name);
        }
Ejemplo n.º 10
0
        private async Task EndCourseAsync(int courseInstanceId)
        {
            CourseInstance courseInstance = await _context.FindAsync <CourseInstance>(courseInstanceId);

            courseInstance.EndedAt = DateTime.Now;
            await SaveChangesAsync();
        }
        public ActionResult EnrollUser(EnrollmentModel model)
        {
            if ((model.StartDate != null) && (model.EndDate != null) &&
                (model.StartDate.Value.CompareTo(model.EndDate) > 0))
            {
                ModelState.AddModelError("EndDate", "Start date must preceed end date.");
                return(View("Index", model));
            }

            var course         = this.Data.Courses.GetById(model.CourseId);
            var user           = this.Data.Users.All().FirstOrDefault(u => u.Id == model.Id);
            var courseInstance = new CourseInstance()
            {
                User      = user,
                Course    = course,
                Mark      = null,
                StartDate = model.StartDate,
                EndDate   = model.EndDate
            };

            this.Data.CourseInstances.Add(courseInstance);
            this.Data.SaveChanges();
            model.Message = "User enrolled";

            return(View("Index", model));
        }
        /// <summary>
        /// Sets the course status to in-review for the given course.
        /// </summary>
        /// <param name="courseId"></param>
        /// <returns></returns>
        public async Task <IActionResult> SetReviewCourse(int?courseId, string message)
        {
            if (courseId == null)
            {
                return(new JsonResult(new { success = false }));
            }
            CourseInstance course = await _context.CourseInstance.Include(c => c.Status)
                                    .Include(c => c.Instructors).ThenInclude(i => i.User)
                                    .Where(c => c.CourseInstanceId == courseId).FirstOrDefaultAsync();

            CourseStatus inRev = _context.CourseStatus.Where(s => s.Status == CourseStatusNames.InReview).FirstOrDefault();

            if (inRev == null)
            {
                return(new JsonResult(new { success = false }));
            }
            course.Status = inRev;
            //Notify Instructors
            foreach (Instructors inst in course.Instructors)
            {
                Notifications notify = new Notifications()
                {
                    CourseInstance = course,
                    User           = inst.User,
                    Text           = "The course status was set to in-review. Chair message: " + message,
                    DateNotified   = DateTime.Now,
                    Read           = false
                };
                _context.Notifications.Add(notify);
            }
            _context.SaveChanges();
            return(new JsonResult(new { success = true }));
        }
        /// <summary>
        /// Sets the course status to approved for the given course.
        /// </summary>
        /// <param name="courseId"></param>
        /// <returns></returns>
        public async Task <IActionResult> ApproveCourse(int?courseId)
        {
            if (courseId == null)
            {
                return(new JsonResult(new { success = false }));
            }
            CourseInstance course = await _context.CourseInstance.Include(c => c.Status).Include(c => c.Instructors).ThenInclude(i => i.User)
                                    .Where(c => c.CourseInstanceId == courseId).FirstOrDefaultAsync();

            CourseStatus complete = _context.CourseStatus.Where(s => s.Status == CourseStatusNames.Complete).FirstOrDefault();

            if (complete == null)
            {
                return(new JsonResult(new { success = false }));
            }
            course.Status = complete;
            //Notify Instructors
            foreach (Instructors inst in course.Instructors)
            {
                Notifications notify = new Notifications()
                {
                    CourseInstance = course,
                    User           = inst.User,
                    Text           = "This course was approved.",
                    DateNotified   = DateTime.Now,
                    Read           = false
                };
                _context.Notifications.Add(notify);
            }
            _context.SaveChanges();
            return(new JsonResult(new { success = true }));
        }
        public IActionResult OnGet(int id)
        {
            var currentUser = this.userManager.GetUserAsync(this.User).Result;

            this.CourseInstance = this.contex.CourseInstances.FirstOrDefault(ci => ci.Id == id);

            //  bool hasSuchUser = this.CourseInstance.Students.Any(ci => ci.StudentId == currentUser.Id);
            if (this.CourseInstance == null)
            {
                return(RedirectToPage("NoInsyances"));
            }
            bool hasSuchUser = this.contex.StudentsInCourses.Any(c => c.CourseId == CourseInstance.Id && c.StudentId == currentUser.Id);

            if (hasSuchUser)
            {
                return(RedirectToPage("AlreadyEnrolled"));
            }

            var studentInCourse = new StudentsInCourses()
            {
                StudentId = currentUser.Id,
                CourseId  = this.CourseInstance.Id
            };

            this.contex.StudentsInCourses.Add(studentInCourse);
            this.CourseInstance.Students.Add(studentInCourse);
            this.contex.SaveChanges();

            return(Page());
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Name,Description,Department,Number,Semester,Professor")] CourseInstance courseInstance)
        {
            if (id != courseInstance.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(courseInstance);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CourseInstanceExists(courseInstance.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(courseInstance));
        }
Ejemplo n.º 16
0
        public async Task CreateInstance(int courseId, int semesterId)
        {
            if (!context.Course.Any(_ => _.Id == courseId))
            {
                throw new ValidationException("Requested course doesn't exist.");
            }

            if (!context.Semester.Any(_ => _.Id == semesterId))
            {
                throw new ValidationException("Requested semester doesn't exist.");
            }

            if (context.CourseInstance.Any(_ => _.SemesterId == semesterId && _.CourseId == courseId))
            {
                throw new ValidationException("Course instance already exists.");
            }

            var courseInstance = new CourseInstance
            {
                CourseId   = courseId,
                SemesterId = semesterId
            };

            await context.CourseInstance.AddAsync(courseInstance);

            await context.SaveChangesAsync();
        }
Ejemplo n.º 17
0
        public void Create_Instance_Should_Also_Add_A_New_Course()
        {
            // Arrange
            var newCourse = new Course()
            {
                Id = 5, Title = "Fifth title", Code = "Fifth Code", Duration = 3
            };
            var newInstance = new CourseInstance()
            {
                Id = 5, StartDate = DateTime.Parse("24-03-2021"), Course = newCourse
            };

            // Act
            var created         = _repository.Create(newInstance).Result;
            var courseInstances = _repository.GetAllCourseInstances().Result;
            var result          = courseInstances.Count();

            // Assert
            int expectedCount = 5;

            Assert.IsInstanceOfType(created, typeof(CourseInstance));
            Assert.AreEqual(expectedCount, result);
            Assert.IsInstanceOfType(courseInstances[4].Course, typeof(Course));
            Assert.IsNotNull(courseInstances[4].Course.Title);
            Assert.IsNotNull(courseInstances[4].Course.Duration);
        }
Ejemplo n.º 18
0
        public static void Initialize(CourseContext context)
        {
            context.Database.EnsureCreated();

            // Look for any students.
            if (context.Courses.Any())
            {
                return;   // DB has been seeded
            }

            var courses = new CourseDescription[]
            {
                new CourseDescription {
                    Description = "Coding class 1"
                },
                new CourseDescription {
                    Description = "Another coding class 2"
                },
                new CourseDescription {
                    Description = "Another coding class 3"
                },
                new CourseDescription {
                    Description = "Another coding class 4"
                },
                new CourseDescription {
                    Description = "Another coding class 5"
                }
            };

            foreach (CourseDescription c in courses)
            {
                context.Description.Add(c);
            }
            context.SaveChanges();

            var coursesList = new CourseInstance[]
            {
                new CourseInstance {
                    ID = 1, Dept = "Computer Science", Number = 1410, Semester = "Fall", Year = 2019, Description = courses[1]
                },
                new CourseInstance {
                    ID = 2, Dept = "Computer Science", Number = 2420, Semester = "Fall", Year = 2019, Description = courses[1]
                },
                new CourseInstance {
                    ID = 3, Dept = "Computer Science", Number = 2420, Semester = "Spring", Year = 2020, Description = courses[1]
                },
                new CourseInstance {
                    ID = 4, Dept = "Computer Science", Number = 3500, Semester = "Fall", Year = 2019, Description = courses[3]
                },
                new CourseInstance {
                    ID = 5, Dept = "Computer Science", Number = 3505, Semester = "Fall", Year = 2019, Description = courses[3]
                },
            };

            foreach (CourseInstance s in coursesList)
            {
                context.Courses.Add(s);
            }
            context.SaveChanges();
        }
        public async Task <IActionResult> Create([Bind("Name,Description,Department,Number,Semester,Year,StatusId,DueDate")] CourseInstance courseInstance, string[] instructors)
        {
            if (ModelState.IsValid)
            {
                _context.Add(courseInstance);
                if (instructors != null)
                {
                    foreach (string instructor in instructors)
                    {
                        UserLocator instr = _context.UserLocator.Where(u => u.UserLoginEmail == instructor).FirstOrDefault();
                        if (instr != null)
                        {
                            _context.Instructors.Add(new Instructors()
                            {
                                CourseInstance = courseInstance, User = instr
                            });
                        }
                    }
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CourseInstanceId"] = new SelectList(_context.CourseInstance, "CourseInstanceId", "Department", courseInstance.CourseInstanceId);
            return(View(courseInstance));
        }
        public async Task GetExistingCourseInstanceShouldReturnCourseInstance()
        {
            //Arrange
            var fixture = new CourseInstanceRepositoryFixture()
                          .WithXCourseInstances(1);
            CourseInstance expected = new CourseInstance()
            {
                Course = new Course()
                {
                    CourseId = 1, Code = "C1", LengthInDays = 5, Title = "Course1"
                }, StartDate = DateTime.Now.Date, CourseInstanceId = 1
            };

            //Act
            var result = await fixture.ExecuteGet(new CourseInstance()
            {
                Course = new Course()
                {
                    Code = "C1"
                }, StartDate = DateTime.Now.Date
            });

            //Assert
            expected.Should().BeEquivalentTo(result);
        }
Ejemplo n.º 21
0
        public async Task DeleteCourseInstanceAsync(int idCourseInstance)
        {
            await CheckAccessToCourseInstance(idCourseInstance);

            CourseInstance instance = await _context.FindAsync <CourseInstance>(idCourseInstance);


            IList <CourseInstanceQuestionOption> courseInstanceQuestionOptions =
                await _context.CourseInstancesQuestionOption
                .Where(x => x.CourseInstanceQuestion.CourseInstance.Id == instance.Id)
                .ToListAsync();

            foreach (CourseInstanceQuestionOption courseInstanceQuestionOption in courseInstanceQuestionOptions)
            {
                _context.CourseInstancesQuestionOption.Remove(courseInstanceQuestionOption);
            }

            IList <CourseInstanceQuestion> coureInstanceQuestions = await _context.CourseInstancesQuestion
                                                                    .Where(x => x.CourseInstance.Id == instance.Id)
                                                                    .ToListAsync();

            foreach (CourseInstanceQuestion courseInstanceQuestion in coureInstanceQuestions)
            {
                _context.Remove(courseInstanceQuestion);
            }

            _context.Remove(instance);

            await SaveChangesAsync();
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Create a course from given NewCourseViewModel
        /// </summary>
        public bool CreateCourse(AdminNewCourseViewModel newCourseViewModel)
        {
            var    course    = _db.Courses.SingleOrDefault(x => x.Name == newCourseViewModel.Name);
            Course newCourse = new Course {
                Name        = newCourseViewModel.Name,
                Description = newCourseViewModel.Description
            };

            if (course == null)
            {
                course = _db.Courses.Add(newCourse);
            }

            CourseInstance newCourseInstance = new CourseInstance()
            {
                CourseId   = course.Id,
                Year       = newCourseViewModel.Year,
                SemesterId = newCourseViewModel.Semester
            };

            _db.CourseInstances.Add(newCourseInstance);

            try {
                _db.SaveChanges();
                return(true);
            }
            catch (Exception e) {
                return(false);
            }
        }
Ejemplo n.º 23
0
        public void CreateCourse(NewCourseViewModel newCourseViewModel)
        {
            var    _course   = _db.Courses.SingleOrDefault(x => x.Name == newCourseViewModel.Name);
            Course newCourse = new Course()
            {
                Name        = newCourseViewModel.Name,
                Description = newCourseViewModel.Description
            };

            if (_course == null)
            {
                _course = _db.Courses.Add(newCourse);
            }

            CourseInstance newCourseInstance = new CourseInstance()
            {
                CourseId   = _course.Id,
                Year       = newCourseViewModel.Year,
                SemesterId = newCourseViewModel.Semester
            };

            try
            {
                _db.SaveChanges();
            } catch (Exception e)
            {
                // halp
                return;
            }
        }
Ejemplo n.º 24
0
        public ActionResult Remove(int courseId, int id, bool cameFromCoursePage)
        {
            CourseInstance courseInstance = db.CourseInstance.Where(c => c.ID == id).First();

            if (courseInstance == null)
            {
                return(HttpNotFound());
            }

            Course course = db.Course.Where(c => c.ID == courseId).First();

            if (course.Teachers.Where(t => User.Identity.Name == t.UserName).FirstOrDefault() == null && !User.IsInRole("admin"))
            {
                ViewBag.Message = "У вас нет прав на редактирование этих материалов";
                return(View("Error"));
            }

            courseInstance.Students.Clear();
            courseInstance.Lessons.Clear();
            db.CourseInstance.Remove(courseInstance);
            db.SaveChanges();
            if (cameFromCoursePage)
            {
                return(RedirectToAction("course", "Courses", new { id = courseId }));
            }
            else
            {
                return(RedirectToAction("CourseInstance", new { id = id }));
            }
        }
Ejemplo n.º 25
0
 public OpportunityListModel(CourseInstance courseInstance) : this()
 {
     this.OpportunityId      = courseInstance.CourseInstanceId;
     this.Status             = courseInstance.RecordStatu.RecordStatusName;
     this.OpportunityDetails = courseInstance.GetOpportunityDetails();
     this.LastUpdate         = courseInstance.ModifiedDateTimeUtc ?? courseInstance.CreatedDateTimeUtc;
 }
Ejemplo n.º 26
0
        public async Task <CourseInstance> Create(CourseInstance instance)
        {
            _context.Add(instance);
            await _context.SaveChangesAsync();

            return(instance);
        }
Ejemplo n.º 27
0
 public AdvanceStartDatesNotUpdated(CourseInstance opportunity)
 {
     this.CourseTitle        = opportunity.Course.CourseTitle;
     this.OpportunityId      = opportunity.CourseInstanceId;
     this.StartDate          = String.Join(", ", opportunity.CourseInstanceStartDates.Select(d => d.StartDate.ToShortDateString()));
     this.OpportunityDetails = opportunity.GetOpportunityDetails(false, false);
 }
Ejemplo n.º 28
0
        static void Main(string[] args)
        {
            using (efCoreMVCContext DB = new efCoreMVCContext())
            {
                // List<Course> c = DB.Course.ToList();
                // // CourseType cy = DB.CourseTypes.Single();
                // CourseType ct = DB.CourseTypes.First(u => u.CourseTypeID == "1");
                // DB.CourseTypes.Remove(ct);
                // Console.WriteLine(DB.Entry(ct).State);
                // Console.WriteLine(DB.Entry(c.First()).State);
                // Console.WriteLine(DB.Entry(c.First().CourseType).State);

                // DB.SaveChanges();
                // Console.WriteLine(DB.Entry(ct).State);
                // Console.WriteLine(DB.Entry(c.First()).State);
                // Console.WriteLine(DB.Entry(c.First().CourseType).State);

                CourseInstance c  = DB.Set <CourseInstance>().Include(u => u.Course.CourseType).Single(u => u.InstanceID == "1");
                CourseInstance c1 = DB.Set <CourseInstance>().Include(u => u.Course.CourseType).Single(u => u.InstanceID == "2");

                Console.WriteLine(c.Course.CourseType.GetHashCode());
                Console.WriteLine(c1.Course.CourseType.GetHashCode());
            }
            Console.WriteLine("ok");
        }
Ejemplo n.º 29
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Dept,Number,Semester,Year,DescriptionID")] CourseInstance courseInstance)
        {
            if (id != courseInstance.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(courseInstance);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CourseInstanceExists(courseInstance.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["Id"] = new SelectList(_context.Description, "DescriptionId", "DescriptionId", courseInstance.ID);
            return(View(courseInstance));
        }
Ejemplo n.º 30
0
        public ActionResult Edit(int courseId, int id, bool cameFromCoursePage)
        {
            ViewBag.CourseID           = courseId;
            ViewBag.CameFromCoursePage = cameFromCoursePage;
            CourseInstance courseInstance = db.CourseInstance.Where(ci => ci.ID == id).First();

            if (courseInstance == null)
            {
                return(HttpNotFound());
            }

            Course course = db.Course.Where(cs => cs.ID == courseId).First();

            if (course.Teachers.Where(t => User.Identity.Name == t.UserName).FirstOrDefault() == null && !User.IsInRole("admin"))
            {
                ViewBag.Message = "У вас нет прав на редактирование этих материалов";
                return(View("Error"));
            }

            CourseInstanceCreateEdit c = new Models.CourseInstanceCreateEdit();

            c.ID                    = courseInstance.ID;
            c.Year                  = courseInstance.Year;
            c.BaseCourse            = courseInstance.BaseCourse;
            c.AdditionalDescription = courseInstance.AdditionalDescription;
            c.Place                 = courseInstance.Place;
            c.Report_Date           = courseInstance.Report_Date;
            List <Person> students = new List <Person>();

            foreach (Person p in db.Users)
            {
                if (p.Person_Type == "Student")
                {
                    students.Add(p);
                }
            }
            c.Chosen_Students = new bool[students.Count];
            c.Students        = students.ToArray();
            for (int i = 0; i < students.Count; i++)
            {
                if (courseInstance.Students != null)
                {
                    if (courseInstance.Students.Where(t => t.Id == c.Students[i].Id).FirstOrDefault() != null)
                    {
                        c.Chosen_Students[i] = true;
                    }
                    else
                    {
                        c.Chosen_Students[i] = false;
                    }
                }
                else
                {
                    c.Chosen_Students[i] = false;
                }
            }
            return(View(c));
        }