by ssi
11. September 2013 10:55
Dynamic LINQ clause with Join that allows items to be concatenated.
if (FormLoaded)
{
var loans = dc.TRACKING_FILEs;
var status = dc.TRACKING_FILE_As;
var results = loans.Join(status, sta => sta.Loan_ID, tr => tr.Loan_ID,
(tr, sta) => new { tr.Loan_ID, tr.f463_loan_status, tr.f450_loan_officer_code, tr.f2b1_last_name_buyer, tr.F430B1_dob_buyer, tr.f413_application_date, tr.f426_disbursement_date, tr.f7001_Buyer_1_First_and_Last_Name, tr.f13B1_B1_Curr_Street, tr.f14B1_B1_Curr_City, tr.f15B1_B1_Curr_St_Zip, tr.f440b1_Buyers_mailing_street_address, tr.f441b1_Buyers_mailing_city_State_zip, sta.f447b1_b1_email_address }).OrderBy(c => c.Loan_ID)
.Select(r => new { r.Loan_ID, r.f450_loan_officer_code, r.f463_loan_status, r.f2b1_last_name_buyer, r.F430B1_dob_buyer, r.f413_application_date, r.f426_disbursement_date, r.f7001_Buyer_1_First_and_Last_Name, r.f13B1_B1_Curr_Street, r.f14B1_B1_Curr_City, r.f15B1_B1_Curr_St_Zip, r.f440b1_Buyers_mailing_street_address, r.f441b1_Buyers_mailing_city_State_zip, r.f447b1_b1_email_address });
if (!string.IsNullOrEmpty(cbLO.Text))
{
results = results.Where(r => r.f450_loan_officer_code == cbLO.Text);
}
if (rbApplicationDate.Checked)
results = results.Where(c => c.f413_application_date >= dtpStart.Value.Date
& c.f413_application_date <= dtpEnd.Value.Date);
if (rbDisbursementDate.Checked)
results = results.Where(c => c.f426_disbursement_date >= dtpStart.Value.Date
& c.f426_disbursement_date <= dtpEnd.Value.Date);
if (ckStatus.Checked)
results = results.Where(c => c.f463_loan_status == cbStatus.Text);
dataGridView1.DataSource = results;
lblStatus.Text = string.Format("Record Count: {0:#,##0}", results.Count());
SetColumns();
}
dd5d9de4-3358-4960-9fa8-21c6f4107ac1|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags: linq, c# Linq.Join
by ssi
11. September 2013 10:33
Dynamic LINQ clause with Join that allows items to be concatenated.
if (FormLoaded)
{
var loans = dc.TRACKING_FILEs;
var status = dc.TRACKING_FILE_As;
var results = loans.Join(status, sta => sta.Loan_ID, tr => tr.Loan_ID,
(tr, sta) => new { tr.Loan_ID, tr.f463_loan_status, tr.f450_loan_officer_code, tr.f2b1_last_name_buyer, tr.F430B1_dob_buyer, tr.f413_application_date, tr.f426_disbursement_date, tr.f7001_Buyer_1_First_and_Last_Name, tr.f13B1_B1_Curr_Street, tr.f14B1_B1_Curr_City, tr.f15B1_B1_Curr_St_Zip, tr.f440b1_Buyers_mailing_street_address, tr.f441b1_Buyers_mailing_city_State_zip, sta.f447b1_b1_email_address }).OrderBy(c => c.Loan_ID)
.Select(r => new { r.Loan_ID, r.f450_loan_officer_code, r.f463_loan_status, r.f2b1_last_name_buyer, r.F430B1_dob_buyer, r.f413_application_date, r.f426_disbursement_date, r.f7001_Buyer_1_First_and_Last_Name, r.f13B1_B1_Curr_Street, r.f14B1_B1_Curr_City, r.f15B1_B1_Curr_St_Zip, r.f440b1_Buyers_mailing_street_address, r.f441b1_Buyers_mailing_city_State_zip, r.f447b1_b1_email_address });
if (!string.IsNullOrEmpty(cbLO.Text))
{
results = results.Where(r => r.f450_loan_officer_code == cbLO.Text);
}
if (rbApplicationDate.Checked)
results = results.Where(c => c.f413_application_date >= dtpStart.Value.Date
& c.f413_application_date <= dtpEnd.Value.Date);
if (rbDisbursementDate.Checked)
results = results.Where(c => c.f426_disbursement_date >= dtpStart.Value.Date
& c.f426_disbursement_date <= dtpEnd.Value.Date);
if (ckStatus.Checked)
results = results.Where(c => c.f463_loan_status == cbStatus.Text);
dataGridView1.DataSource = results;
lblStatus.Text = string.Format("Record Count: {0:#,##0}", results.Count());
SetColumns();
}
fd63240c-63e9-4544-a896-923c4d53f6dd|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags: linq, c# Linq.Join
linq