public void Update(EditPeresentedCoursesViewModel viewModel)
        {
            var obj = GetById(viewModel.Id);

            obj.Capacity        = viewModel.Capacity;
            obj.Course          = viewModel.Course;
            obj.Professor       = viewModel.Professor;
            obj.Remain_Capacity = viewModel.Remain_Capacity;
            obj.Term            = viewModel.Term;
        }
        public virtual async Task <ActionResult> Edit(EditPeresentedCoursesViewModel viewModel)
        {
            var adv = new EditPeresentedCoursesViewModel
            {
                Id              = viewModel.Id,
                Course_Id       = viewModel.Course_Id,
                Professor_Id    = viewModel.Professor_Id,
                Term_Id         = viewModel.Term_Id,
                Course          = _CourseService.GetById(viewModel.Course_Id.Value),
                Professor       = _ProfessorService.GetById(viewModel.Professor_Id.Value),
                Term            = _TermService.GetById(viewModel.Term_Id.Value),
                Capacity        = viewModel.Capacity,
                Remain_Capacity = viewModel.Capacity
            };

            _PeresentedCoursesService.Update(adv);
            await _unitOfWork.SaveChangesAsync();

            CacheManager.InvalidateChildActionsCache();
            return(RedirectToAction("Index", "AvailableCourses"));


            if (viewModel.Course_Id.HasValue)
            {
                PopulateCourcesDropDownList(viewModel.Course_Id.Value);
            }
            else
            {
                PopulateCourcesDropDownList(null);
            }
            if (viewModel.Professor_Id.HasValue)
            {
                PopulateProfessorDropDownList(viewModel.Professor_Id.Value);
            }
            else
            {
                PopulateProfessorDropDownList(null);
            }
            if (viewModel.Term_Id.HasValue)
            {
                PopulateTermDropDownList(viewModel.Term_Id.Value);
            }
            else
            {
                PopulateTermDropDownList(null);
            }

            return(View(viewModel));
        }