public async Task <bool> SendFeedbackAsync(FeedbackTeacherModel model)
        {
            try
            {
                Dictionary <string, string> formData = new Dictionary <string, string>()
                {
                    ["__VIEWSTATE"]          = model.__ViewState,
                    ["__VIEWSTATEGENERATOR"] = model.__VIEWSTATEGENERATOR,
                    ["__EVENTVALIDATION"]    = model.__EVENTVALIDATION,
                    ["ctl00$ContentPlaceHolder1$reload$ctl00$chkList"] = model.FeedbackChoice[0].ToString(),
                    ["ctl00$ContentPlaceHolder1$reload$ctl01$chkList"] = model.FeedbackChoice[1].ToString(),
                    ["ctl00$ContentPlaceHolder1$reload$ctl02$chkList"] = model.FeedbackChoice[2].ToString(),
                    ["ctl00$ContentPlaceHolder1$reload$ctl03$chkList"] = model.FeedbackChoice[3].ToString(),
                    ["ctl00$ContentPlaceHolder1$reload$ctl04$chkList"] = model.FeedbackChoice[4].ToString(),
                    ["ctl00$ContentPlaceHolder1$reload$ctl05$chkList"] = model.FeedbackChoice[5].ToString(),
                    ["ctl00$ContentPlaceHolder1$txtComment"]           = model.Comment,
                    ["ctl00$ContentPlaceHolder1$btSendFeedback"]       = "Gửi ý kiến"
                };

                HttpWebRequest req = WebRequest.CreateHttp($"{FschoolDomain}{model.ID}");
                req.Method      = "POST";
                req.ContentType = "application/x-www-form-urlencoded";
                _acct.AddSessionIdCookie(req);

                using (var reqStream = await req.GetRequestStreamAsync())
                {
                    using (var urlEncoded = new FormUrlEncodedContent(formData))
                    {
                        await urlEncoded.CopyToAsync(reqStream);

                        var test = await urlEncoded.ReadAsStringAsync();
                    }

                    using (var resp = await req.GetResponseAsync())
                    {
                        using (var stream = resp.GetResponseStream())
                        {
                            using (var reader = new StreamReader(stream))
                            {
                                string res = await reader.ReadToEndAsync();


                                if (await AccountModel.IsLoginPage(res))
                                {
                                    throw new InvalidSessionIDException($"{_acct.Email} session id: {_acct.SessionID} is invalid or expired, please request a new one and try again");
                                }

                                // Validate feedback
                                HtmlDocument doc = new HtmlDocument();
                                doc.LoadHtml(res);
                                return(doc.DocumentNode.SelectSingleNode("/html/body/div/div[1]/section[2]/form/div/div/div/div[3]/div/div[1]/span/font") != null);
                            }
                        }
                    }
                }
            }
            catch (InvalidSessionIDException) // We don't wrap this exception
            {
                throw;
            }
            catch (Exception e)
            {
                throw new InvalidOperationException("Failed to send feedback", e);
            }
        }