コード例 #1
0
 private void AddInmateFromIDCode(List <string> inmateIDs, List <string> codes)
 {
     UpdateStatus(statusSeperator);
     UpdateStatus("Adding Inmate From ID Code Began");
     for (int i = 0; i < inmateIDs.Count; i++)
     {
         UpdateStatus("Adding Inmate ID from IDCode => inmateID: " + inmateIDs[i] + ", IDCode: " + codes[i]);
         String url = "http://ddtext.com/corrlinks/add-inmate-from-IDcode.php?inmateID=" + inmateIDs[i] + "&IDCode=" + codes[i];
         MyUtil.GetRequest(url);
     }
     UpdateStatus("Adding Inmate From ID Code Ended");
     UpdateStatus(statusSeperator);
 }
コード例 #2
0
        private void ValidateSentMessages()
        {
            UpdateStatus("Validating Sent Messages");
            UpdateStatus(statusSeperator);
            mChrome.GoToUrl("https://www.corrlinks.com/SentMessages.aspx");
            Thread.Sleep(1000);

            List <string> messageIDs = new List <string>();

            try
            {
                for (int i = 2; i < 12; i++)
                {
                    IWebElement ele = mChrome.FindByXPath("//table[@class='MessageDataGrid PhotoMessageDataGrid']//tr[" + i.ToString() + "]//td//a[@class='tooltip'][1]");
                    if (ele == null)
                    {
                        continue;
                    }
                    string subject = ele.GetAttribute("innerHTML");

                    bool messageIDAvailable = subject.IndexOf('[') == -1 ? false : true;
                    if (!messageIDAvailable)
                    {
                        continue;
                    }

                    string messageID = subject.Substring(subject.IndexOf('[') + 1, subject.IndexOf(']') - subject.IndexOf('[') - 1);
                    messageIDs.Add(messageID);
                }

                string validationURL = "http://ddtext.com/corrlinks/sentmessage-update.php?";
                for (int i = 0; i < messageIDs.Count; i++)
                {
                    validationURL += "msgID[]=" + messageIDs[i] + "&";
                }

                string validationResult = MyUtil.GetRequest(validationURL);
                UpdateStatus(validationResult);
            }
            catch (Exception ex)
            {
            }
        }
コード例 #3
0
        private bool SendMessage(MessageOut msg)
        {
            mChrome.GoToUrl("https://www.corrlinks.com/NewMessage.aspx");
            Thread.Sleep(1000);

            mChrome.SetTextByID("ctl00_mainContentPlaceHolder_subjectTextBox", msg.SUBJECT);

            UpdateStatus("Fill the message body");

            if (!mChrome.SetTextByID("ctl00_mainContentPlaceHolder_messageTextBox", msg.MESSAGE))
            {
                mChrome.FindById("ctl00_mainContentPlaceHolder_messageTextBox").SendKeys(msg.MESSAGE);
            }
            Thread.Sleep(500);

            mChrome.TryCloseAlert();

            try
            {
                mChrome.FindById("ctl00_mainContentPlaceHolder_addressBox_addressTextBox").Click();
            } catch
            {
                UpdateStatus("Error when clicking addressbox field");
                return(false);
            }


            String addressHtmlBody = mChrome.FindByXPath("//table[@class='AddressBoxDataGrid']/tbody").GetAttribute("innerHTML");
            int    addressCount    = Regex.Matches(addressHtmlBody, "<tr").Count - 1;

            bool addressFound = false;

            for (int j = 0; j < addressCount; j++)
            {
                String tr      = "//table[@class='AddressBoxDataGrid']/tbody/tr[" + (j + 2).ToString() + "]";
                String address = mChrome.FindByXPath(tr + "/th").GetAttribute("innerHTML");

                int inmate_id = MyUtil.GetMateID(address);
                if (inmate_id == msg.INMATE_ID)
                {
                    addressFound = true;
                    mChrome.FindByXPath(tr + "/td[1]//input").Click();
                    mChrome.FindById("ctl00_mainContentPlaceHolder_addressBox_okButton").Click();
                    Thread.Sleep(3000);

                    mChrome.FindById("ctl00_mainContentPlaceHolder_sendMessageButton").Click();
                    Thread.Sleep(3000);
                    UpdateStatus("Sent message to " + msg.INMATE_ID);
                    break;
                }
            }
            if (!addressFound) // Send request if address not found
            {
                UpdateStatus("Address not found" + msg.INMATE_ID.ToString());

                string validationURL = "http://ddtext.com/corrlinks/sentmessage-update.php?";
                validationURL += "msgID[]=" + msg.INBOX_ID + "&" + "addressnotfound=" + msg.INMATE_ID;

                string validationResult = MyUtil.GetRequest(validationURL);
                UpdateStatus(validationResult);
            }
            return(addressFound);
        }
コード例 #4
0
        private void ReadFromInbox()
        {
            UpdateStatus("Start processing for new messages...");
            UpdateStatus(statusSeperator);
            // Open Email box
            //mChrome.FindByAttr("a", "href", "Inbox.aspx", 1).Click();
            // Open new messages
            int messageCount;

            try
            {
                string alert           = mChrome.FindById("ctl00_mainContentPlaceHolder_newMessageLink").Text;
                var    startPos        = 9;
                var    endPos          = alert.IndexOf(" unread");
                string strMessageCount = alert.Substring(9, endPos - 9);
                messageCount = Convert.ToInt32(strMessageCount);

                mChrome.FindById("ctl00_mainContentPlaceHolder_newMessageLink").Click();
            } catch
            {
                UpdateStatus("No new messages found");
                UpdateStatus("Finished processing for new messages...");
                UpdateStatus(statusSeperator);
                mChrome.GoToUrl("https://www.corrlinks.com/Default.aspx");
                return;
            }

            Thread.Sleep(2000);

            IWebElement tbodyWebElement = mChrome.FindByXPath("//table[@class='MessageDataGrid']/tbody");

            if (tbodyWebElement == null)
            {
                UpdateStatus("No new messages found");
                UpdateStatus("Finished processing for new messages...");
                UpdateStatus(statusSeperator);
                return;
            }

            for (int i = 0; i < messageCount; i++)
            {
                try
                {
                    Thread.Sleep(4000);
                    mChrome.FindByXPath("//table[@class='MessageDataGrid']/tbody/tr[" + (2).ToString() + "]").Click();
                    Thread.Sleep(4000);

                    MessageIn message = new MessageIn();
                    message.FROM      = mChrome.FindById("ctl00_mainContentPlaceHolder_fromTextBox").GetAttribute("value");
                    message.INMATE_ID = MyUtil.GetMateID(message.FROM);
                    message.DATE      = Convert.ToDateTime(mChrome.FindById("ctl00_mainContentPlaceHolder_dateTextBox").GetAttribute("value"));
                    message.SUBJECT   = mChrome.FindById("ctl00_mainContentPlaceHolder_subjectTextBox").GetAttribute("value");
                    message.MESSAGE   = mChrome.FindById("ctl00_mainContentPlaceHolder_messageTextBox").Text;
                    message.TIMESTAMP = new DateTime();

                    inbox.Add(message);
                    SubmitInbox();

                    mChrome.GoToUrl("https://www.corrlinks.com/Inbox.aspx?UnreadMessages");

                    UpdateStatus("Read message from " + message.FROM);
                }
                catch (Exception ex)
                {
                    UpdateStatus(ex.Message);
                }
            }

            UpdateStatus("Finished processing for new messages...");
            UpdateStatus(statusSeperator);

            mChrome.GoToUrl("https://www.corrlinks.com/Default.aspx");
        }