public void btnSend_Click(Object sender, EventArgs e) { if (Page.IsValid) { using (var context = new DatabaseContext()) { Models.Suggestion suggestion = new Models.Suggestion { Description = txtInput.Text, Status = "N", Mentor = context.Mentor .Single(m => m.ID == CurrentMentor.ID), Student = context.Student .Single(m => m.ID == CurrentStudent.ID), }; var student = context.Student.Single(m => m.ID == CurrentStudent.ID); student.Status = "N"; context.Update(student); context.Add(suggestion); context.SaveChanges(); } txtInput.Text = String.Empty; Reset(); } }
public async Task <IEnumerable <Models.Suggestion> > RetrieveSuggestionsAsync(string word, Models.Dictionary dictionary) { using (var httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Add("Accept-Language", "fr-FR, fr; q=0.8, en-US; q=0.5, en; q=0.3"); httpClient.DefaultRequestHeaders.Add("Cache-Control", "no-cache"); httpClient.DefaultRequestHeaders.Add("Accept-Encoding", "deflate"); httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586"); var response = await httpClient.GetAsync($"http://www.wordreference.com/2012/autocomplete/autocomplete.aspx?dict={dictionary.Value}&query={word}"); if (response.IsSuccessStatusCode) { string result = await response.Content.ReadAsStringAsync(); // Split result to retrieve data (each result is separated by a line return) var splitResult = result.Split('\n'); var suggestions = new List <Models.Suggestion>(); // Handle max number of suggestions int maxResult = 15; foreach (string splitObject in splitResult) { if (suggestions.Count >= maxResult) { break; } // Each property is separated by a tab var splitProperties = splitObject.Split('\t'); if (string.IsNullOrWhiteSpace(splitProperties[0]) || string.IsNullOrWhiteSpace(splitProperties[1])) { continue; } var suggestion = new Models.Suggestion { Word = splitProperties[0], Language = splitProperties[1], MatchValue = int.Parse(splitProperties[2]) }; suggestions.Add(suggestion); } return(suggestions); } return(new List <Models.Suggestion>()); } }