コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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>());
            }
        }