public async Task <ActionResult> AddOrUpdateDormitory([FromQuery] bool add, [FromQuery] int?dormitoryId) { var dormitoryRooms = await _dormitoryRoomService.GetRoomsWithoutDormitory(); var faculties = await _facultyService.GetAll(); var selectedDormitoryRooms = _dormitoryRoomSelectModelMapper.Map(dormitoryRooms).ToList(); var selectedFaculties = _facultySelectModelMapper.Map(faculties).ToList(); DormitoryPostModel model; if (add) { model = new DormitoryPostModel(); ViewBag.Header = ControllerConstants.AddDormitoryHeader; } else { var group = await _dormitoryService.GetById(dormitoryId.GetValueOrDefault()); model = _dormitoryPostModelMapper.Map(group); foreach (var dormitoryRoom in selectedDormitoryRooms) { if (model.DormitoryRooms.Contains(dormitoryRoom.DormitoryRoomId)) { dormitoryRoom.Checked = true; } } foreach (var faculty in selectedFaculties) { if (model.Faculties.Contains(faculty.Id)) { faculty.Checked = true; } } ViewBag.Header = ControllerConstants.UpdateDormitoryHeader; } ViewBag.Faculties = selectedFaculties; ViewBag.DormitoryRooms = selectedDormitoryRooms; return(View(model)); }