public IActionResult Edit(int id)
        {
            var classroom = this.classroomsServices.GetClassroom(id);
            var teachers  = this.teacherServises.GetAll <TeacherDropDownViewModel>();
            var viewModel = new ClassroomEditViewModel
            {
                Id          = classroom.Id,
                Number      = classroom.Number,
                Description = classroom.Description,
                TeacherId   = classroom.TeacherId,
                Teachers    = teachers,
            };

            return(this.View(viewModel));
        }
        public async Task <IActionResult> Edit(ClassroomEditViewModel viewModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(viewModel));
            }

            var classroom = this.classroomsServices.GetClassroom(viewModel.Id);

            await this.teacherServises.RemoveClassroomFromTeacher(classroom.TeacherId);

            classroom.Number      = viewModel.Number;
            classroom.Description = viewModel.Description;
            classroom.TeacherId   = viewModel.TeacherId;

            await this.classroomsServices.UpdateClassroom(classroom);

            await this.teacherServises.SetClassroomToTeacher(viewModel.TeacherId);

            return(this.RedirectToAction("Details", new { id = viewModel.Id }));
        }