/// <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; }