/* Refresh the button's possible to push */
 private void buttonRefreshDelayedPost_Click(object sender, EventArgs e)
 {
     try
     {
         if (this.m_delayedPost.OperateTime >= DateTime.Now)
         {
             //// Operate time has not passed
             if (this.m_delayedPost.InnerException != null)
             {
                 //// Exception.
                 MessageBox.Show(this.m_delayedPost.InnerException.Message, k_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                 this.m_delayedPost = null;
                 this.buttonSendDelayedPost.Enabled   = true;
                 this.buttonCancelDelayedPost.Enabled = false;
             }
             else
             {
                 this.buttonCancelDelayedPost.Enabled = true;
             }
         }
         else
         {
             //// Operate time has passed
             //// Check if any error has occurd .
             if (this.m_delayedPost.InnerException == null)
             {
                 //// No exception occurd.
                 this.m_delayedPost = null;
                 this.buttonCancelDelayedPost.Enabled = false;
                 this.buttonSendDelayedPost.Enabled   = true;
             }
             else
             {
                 this.buttonCancelDelayedPost.Enabled = false;
                 this.buttonSendDelayedPost.Enabled   = true;
                 //// Exception occurd.
                 MessageBox.Show(this.m_delayedPost.InnerException.Message, k_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, k_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        /* Send Delayed post */
        private void buttonSendAsyncPost_Click(object sender, EventArgs e)
        {
            try
            {
                DateTime     dateToPublishPost    = this.dateTimePickerStatusPost.Value;
                const string noDelayedPostMassege = "No Delayed Post detcted !";
                const string invalidDateMessage   = "Choosen date as passed, Please choose Another Date";

                if (dateToPublishPost > DateTime.Now)
                {
                    if (!string.IsNullOrEmpty(this.textBoxAsyncPost.Text))
                    {
                        this.m_delayedPost = new managedDelayedPost(dateToPublishPost, this.textBoxAsyncPost.Text);

                        if (this.m_delayedPost.InnerException != null)
                        {
                            //// inner exception exists.
                            MessageBox.Show(this.m_delayedPost.InnerException.Message, k_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            this.buttonSendDelayedPost.Enabled = false;
                        }
                    }
                    else
                    {
                        MessageBox.Show(noDelayedPostMassege, k_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show(invalidDateMessage, k_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, k_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }