Пример #1
0
        public void UpdateClass(EditClassViewModel model)
        {
            Class c = GetClassById(model.ClassId);

            c.Name = model.Name;
            autoGraderDbContext.Classes.Update(c);
        }
        // GET: SchoolClasses/Edit/5
        public async Task <IActionResult> Edit(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var schoolClass = await _context.SchoolClasses.FindAsync(id);

            if (schoolClass == null)
            {
                return(NotFound());
            }

            //++ from editclassVM
            var viewModel = new EditClassViewModel()
            {
                CurrentClass = schoolClass,
                Teachers     = _userManager.Users,//.Include(x=>x.Id)
                // Teachers = (IEnumerable<AppUser>)_userManager.Users.Where(x => x.Id == id).FirstOrDefault()  //??
                //IsSelected = _userManager.Users.
                //(x => x.Id == id).FirstOrDefault()
                //    Any(x=>xid==id)?true:false
            };                       //).ToList();

            return(View(viewModel)); //skicka viewModel med Current class info---> nu måste hämta alla lärare
        }//vald lärare --> spara (post)
        public EditClassViewModel GetEditClassViewModel(int id)
        {
            var _class = GetClass(id);

            if (_class == null)
            {
                return(null);
            }

            var teachers = GetAllTeachers();

            var vm = new EditClassViewModel
            {
                Class    = _class,
                Teachers = teachers,
                Selected = new bool[teachers.Count()]
            };

            for (int i = 0; i < vm.Teachers.Count(); i++)
            {
                if (vm.Class.Teachers.Contains(vm.Teachers.ElementAt(i)))
                {
                    vm.Selected[i] = true;
                }
            }

            return(vm);
        }
        public void EditClass(EditClassViewModel vm)
        {
            var teachers = GetAllTeachers();
            var _class   = GetClass(vm.Class.ClassID);

            _class.Teachers = new List <Teacher>();
            for (int i = 0; i < teachers.Count(); i++)
            {
                if (vm.Selected[i])
                {
                    _class.Teachers.Add(teachers.ElementAt(i));
                }
                else
                {
                    var teacher = teachers.ElementAt(i);
                    if (teacher.Classes.Contains(_class))
                    {
                        teacher.Classes.Remove(_class);
                        context.Entry(teacher).State = System.Data.Entity.EntityState.Modified;
                    }
                }
            }
            _class.ClassName = vm.Class.ClassName;

            context.Entry(_class).State = System.Data.Entity.EntityState.Modified;
            Save();
        }
Пример #5
0
        public ActionResult GiveGrade(int studentId, int teacherId, int grade, string desc)
        {
            Grade _grade = new Grade
            {
                StudentId   = studentId,
                TeacherId   = teacherId,
                Value       = grade,
                Date        = DateTime.Now.ToShortDateString(),
                Description = desc
            };

            Context.Grades.Add(_grade);
            Context.SaveChanges();

            Student student = Context.Students.Single(s => s.Id == studentId);
            _Class  _class  = Context._Classes.Single(c => c.Id == student._ClassId);
            Teacher teacher = Context.Teachers.Single(t => t.Id == teacherId);

            EditClassViewModel ecvm = new EditClassViewModel
            {
                FirstName = teacher.FirstName,
                LastName  = teacher.LastName,
                ClassId   = _class.Id,
                ClassName = _class.Name,
                Students  = Context.Students.Where(s => s._ClassId == _class.Id).ToList()
            };

            return(View("EditClass", ecvm));
        }
Пример #6
0
        public ActionResult AddStudentToClass(int _classId, string fname, string lname)
        {
            _Class         _class   = Context._Classes.Single(c => c.Id == _classId);
            List <Student> students = Context.Students.Where(s => s.FirstName == fname).ToList();

            if (students.Count == 0)
            {
                return(Content("Invalid student."));
            }

            Student student = students.First(s => s.LastName == lname);

            if (student != null)
            {
                student._ClassId = _classId;
                Context.SaveChanges();

                Teacher teacher = Context.Teachers.Single(t => t.Email == Email);

                EditClassViewModel ecvm = new EditClassViewModel
                {
                    FirstName = teacher.FirstName,
                    LastName  = teacher.LastName,
                    ClassId   = _class.Id,
                    ClassName = _class.Name,
                    Students  = Context.Students.Where(s => s._ClassId == _classId).ToList()
                };

                return(View("EditClass", ecvm));
            }
            else
            {
                return(Content("Invalid student."));
            }
        }
Пример #7
0
 public ActionResult Edit([Bind(Include = "Class, Selected")] EditClassViewModel vm)
 {
     if (ModelState.IsValid)
     {
         repo.EditClass(vm);
         return(RedirectToAction("Index"));
     }
     return(View(vm));
 }
Пример #8
0
        public ActionResult DropDownList(string type, string selected)
        {
            var query = new EditClassViewModel(from context in _context.PLEDGE_CLASS
                                               select new DropdownListItem {
                Text = context.PLEDGE_CLASS_NAME, Value = context.PLEDGE_CLASS_NAME
            }).ClassList();

            return(PartialView("EditClassPartialView", query));
        }
Пример #9
0
        public async Task <IActionResult> EditClass(EditClassViewModel model)
        {
            ClassDataService classDataService = new ClassDataService(dbContext);

            classDataService.UpdateClass(model);

            await dbContext.SaveChangesAsync();

            return(RedirectToAction("Index", "Home"));
        }
Пример #10
0
        public IActionResult EditClass(int id)
        {
            ClassDataService classDataService = new ClassDataService(dbContext);
            Class            c = classDataService.GetClassById(id);

            EditClassViewModel model = new EditClassViewModel()
            {
                Name    = c.Name,
                ClassId = c.Id
            };

            return(View(model));
        }
Пример #11
0
        public ActionResult EditClass(int classId)
        {
            _Class  classToEdit = Context._Classes.Single(c => c.Id == classId);
            Teacher teacher     = Context.Teachers.Single(t => t.Email == Email);

            EditClassViewModel ecvm = new EditClassViewModel
            {
                FirstName = teacher.FirstName,
                LastName  = teacher.LastName,
                ClassId   = classToEdit.Id,
                ClassName = classToEdit.Name,
                Students  = Context.Students.Where(s => s._ClassId == classId).ToList()
            };

            return(View("EditClass", ecvm));
        }
Пример #12
0
        public ActionResult RemoveStudentFromClass(int studentId)
        {
            Student studentToRemove = Context.Students.Single(s => s.Id == studentId);
            _Class  _class          = Context._Classes.Single(c => c.Id == studentToRemove._ClassId);

            studentToRemove._ClassId = 0;
            Context.SaveChanges();

            Teacher teacher = Context.Teachers.Single(t => t.Email == Email);

            EditClassViewModel ecvm = new EditClassViewModel
            {
                FirstName = teacher.FirstName,
                LastName  = teacher.LastName,
                ClassId   = _class.Id,
                ClassName = _class.Name,
                Students  = Context.Students.Where(s => s._ClassId == _class.Id).ToList()
            };

            return(View("EditClass", ecvm));
        }
        public async Task <IActionResult> Edit(string id, EditClassViewModel model)
        {
            if (id != model.CurrentClass.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    //_context.Update(model); //det är editClassVM, måste ha gamla -SchoolClass
                    //++ new object
                    var SchoolClass = new SchoolClass()
                    {
                        Id = model.CurrentClass.Id,
                        //Teacher = (x=>x.IsSelected==true).Select()//select del ERROR
                        //Teacher = model.IsSelected.ToString()
                        //((x => x.Id == id).FirstOrDefault())
                    };


                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SchoolClassExists(model.CurrentClass.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
Пример #14
0
        public async Task <IHttpActionResult> EditClass([FromUri] int id, [FromBody] EditClassViewModel info)
        {
            #region Parameter validation

            if (info == null)
            {
                info = new EditClassViewModel();
                Validate(info);
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            #endregion

            #region Find class

            var classes = UnitOfWork.RepositoryClass.Search();

            var iClass = await classes.Where(x => x.Id == id).FirstOrDefaultAsync();

            if (iClass == null)
            {
                return(ResponseMessage(
                           Request.CreateErrorResponse(HttpStatusCode.NotFound, HttpMessages.ClassNotFound)));
            }

            #endregion

            #region Update class information

            // Check whether information has been updated or not.
            var bHasInformationChanged = false;

            // Specialized id is specified
            if (info.SpecializedId != iClass.SpecializedId)
            {
                iClass.SpecializedId   = info.SpecializedId;
                bHasInformationChanged = true;
            }

            // Name is specified.
            if (info.Name != null && info.Name != iClass.Name)
            {
                iClass.Name            = info.Name;
                bHasInformationChanged = true;
            }

            // Status is defined.
            if (info.Status != null && info.Status != iClass.Status)
            {
                iClass.Status          = info.Status.Value;
                bHasInformationChanged = true;
            }

            // Information has been changed. Update the date time.
            if (bHasInformationChanged)
            {
                // Save information into database.
                await UnitOfWork.CommitAsync();
            }

            #endregion

            return(Ok(iClass));
        }