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));
        }
 public ActionResult Create( int courseId )
 {
     ViewBag.CourseID = courseId;
     CourseInstanceCreateEdit c = new Models.CourseInstanceCreateEdit();
     List<Person> studentsList = new List<Person>();
     foreach( Person p in db.Users ) {
         if( p.Person_Type == "Student" ) {
             studentsList.Add( p );
         }
     }
     c.Chosen_Students = new bool[studentsList.Count];
     for( int i = 0; i < studentsList.Count; i++ ) {
         c.Chosen_Students[i] = false;
     }
     c.Students = studentsList.ToArray();
     return View( c );
 }
        public ActionResult Create(int courseId)
        {
            ViewBag.CourseID = courseId;
            CourseInstanceCreateEdit c            = new Models.CourseInstanceCreateEdit();
            List <Person>            studentsList = new List <Person>();

            foreach (Person p in db.Users)
            {
                if (p.Person_Type == "Student")
                {
                    studentsList.Add(p);
                }
            }
            c.Chosen_Students = new bool[studentsList.Count];
            for (int i = 0; i < studentsList.Count; i++)
            {
                c.Chosen_Students[i] = false;
            }
            c.Students = studentsList.ToArray();
            return(View(c));
        }
        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 );
        }