Exemplo n.º 1
0
        public ActionResult DelayedRecords()
        {
            //return null;
            string url = "http://www.explore-schools.com/thankyou/affiliate_submission.php";

            DelayedRecordClient drc = new DelayedRecordClient();
            //drc.DeleteTable();
            List <DelayedRecord> allrecords = new List <DelayedRecord>(drc.GetAll().Execute());

            DateTime cursordate = DateTime.UtcNow.AddMinutes(-30);

            UserProfileClient upc = new UserProfileClient();

            int cnt = 0;

            foreach (DelayedRecord dr in allrecords)
            {
                cnt++;
                if (dr.Timestamp < cursordate)
                {
                    dr.Submitted = true;
                    try
                    {
                        string strPost = dr.GetPostString(upc);

                        StreamWriter   myWriter   = null;
                        HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
                        objRequest.Method        = "POST";
                        objRequest.ContentLength = System.Text.ASCIIEncoding.ASCII.GetByteCount(strPost);
                        objRequest.ContentType   = "application/x-www-form-urlencoded";

                        myWriter = new StreamWriter(objRequest.GetRequestStream());
                        myWriter.Write(strPost);
                        myWriter.Close();

                        HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
                        using (StreamReader sr =
                                   new StreamReader(objResponse.GetResponseStream()))
                        {
                            string result = sr.ReadToEnd();
                            if (result.Contains("Success") || result.ToLower().Contains("already in our database"))
                            {
                                drc.Delete(dr);
                            }
                            else
                            {
                                dr.SubmissionError = true;
                            }

                            // Close and clean up the StreamReader
                            sr.Close();
                        }
                    }catch (Exception e)
                    {
                        drc.Delete(dr);
                    }



                    //if (++cnt >= 30)
                    //{
                    //    break;
                    //}
                }
            }

            ViewBag.SubmittedRecords = cnt;

            return(View(allrecords));
        }