示例#1
0
        /// <summary>
        /// Retrieves a list of Email headers based on specified filters
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnReceiveEmail_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtEmail.Text) || String.IsNullOrEmpty(txtPassword.Text))
            {
                MessageBox.Show("Please input Email Address and password!");
                return;
            }

            dgvEmailHeaders.Columns.Clear();

            DataGridViewTextBoxColumn columnSubject = new DataGridViewTextBoxColumn();

            columnSubject.HeaderText       = "Subject";
            columnSubject.DataPropertyName = "Subject";
            columnSubject.Width            = 600;
            dgvEmailHeaders.Columns.Add(columnSubject);

            DataGridViewTextBoxColumn columnReceivedDate = new DataGridViewTextBoxColumn();

            columnReceivedDate.HeaderText       = "Received";
            columnReceivedDate.DataPropertyName = "ReceivedDateTime";
            columnReceivedDate.Width            = 160;
            dgvEmailHeaders.Columns.Add(columnReceivedDate);

            DataGridViewTextBoxColumn columnFrom = new DataGridViewTextBoxColumn();

            columnFrom.HeaderText       = "From";
            columnFrom.DataPropertyName = "From";
            columnFrom.Width            = 160;
            dgvEmailHeaders.Columns.Add(columnFrom);

            DataGridViewCheckBoxColumn columnProcessed = new DataGridViewCheckBoxColumn();

            columnProcessed.HeaderText       = "Processed";
            columnProcessed.DataPropertyName = "Processed";
            columnProcessed.Width            = 60;
            columnProcessed.ReadOnly         = true;
            dgvEmailHeaders.Columns.Add(columnProcessed);

            DataGridViewButtonColumn columnCommand = new DataGridViewButtonColumn();

            columnCommand.HeaderText = "Retrieve Detail";
            columnCommand.Name       = "ColumnCommand";
            columnCommand.Text       = "Detail";
            columnCommand.UseColumnTextForButtonValue = true;
            dgvEmailHeaders.Columns.Add(columnCommand);


            DateTime        startDate = dtSince.Value;
            EmailRepository repo      = new EmailRepository(txtEmail.Text, txtPassword.Text);

            List <MailPreview> mailPreviews = repo.GetMailPreviews(startDate, txtFrom.Text.Trim()).ToList();

            mailPreviews.ForEach(x => {
                x.Processed = this.mProcessedMailPreviews.Any(y => y.From == x.From && y.ReceivedDateTime == x.ReceivedDateTime);
            });

            dgvEmailHeaders.DataSource = mailPreviews;

            webBrowserEmailBody.DocumentText = "";
            txtPONumber.Text    = "";
            txtQuantity.Text    = "";
            txtInvoiceDate.Text = "";
            txtPrice.Text       = "";
            txtItemNumber.Text  = "";
            txtShipTo.Text      = "";
            txtCompany.Text     = "";

            btnScrap.Enabled  = false;
            btnExport.Enabled = false;
        }