Exemplo n.º 1
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);
        }
Exemplo n.º 2
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");
        }