protected override async Task <TwilioResponseResult> HandleSelectionInternal(string phoneNumber, string selection) { var user = await _userService.GetByPhoneNumberOrCreateAsync(phoneNumber); if (user != null) { int chapterNumber; if (int.TryParse(selection, out chapterNumber)) { user.ChapterNumber = _bibleMetadataService.GetChapterNumber( new Chapter { Book = _book, ChapterNumber = int.Parse(selection) }); await _userService.AddOrUpdateAsync(user); return(new RedirectToCurrentContentResult()); } } return(new TwilioRedirectResult()); }