|
|
private void Lookups(System.Collections.IList collection)
{
/////////////////////////////////////////////////
//Mines information about claimants from customer
//systems.
cancelBackgroundWorkers = false;
lookupsProcessing = true;
button4.IsEnabled = true;
bool agencyList = (bool)checkBox2.IsChecked;
//Show and start animation
rectangle1.Visibility = Visibility.Visible;
((Storyboard)this.Resources["Storyboard2"]).Begin(MainWindowGrid);
//Reset the icons to box so user will see a change when processed.
foreach (EDataItem item in collection)
{
item.Icon = (Bitmap)imageList.Images[4];
dataGridControl1.Items.Refresh();
}
BackgroundWorker lookupWorker = new BackgroundWorker();
lookupWorker.WorkerReportsProgress = true;
lookupWorker.WorkerSupportsCancellation = true;
int fileKey = coll.fileKey;
#region Inline Background worker definitions
///////////////////////////////////////////////
//Inline definitions for the background work.
#region DoWork
lookupWorker.DoWork += delegate(object s, DoWorkEventArgs args)
{
#region Initialize variables
BackgroundWorker worker = (BackgroundWorker)s;
SqlConnection conn = new SqlConnection(dbConnectionString);
SqlConnection agencyConn = new SqlConnection(agencyConnectionString);
Hashtable lookupHash = new Hashtable();
Hashtable pharmHash = new Hashtable();
Hashtable ndcHash = new Hashtable();
Hashtable agencyHash = new Hashtable();
//Assists in calculatin progress.
double divisor = (double)dataGridControl1.Items.Count / 100;
divisor = Math.Ceiling(divisor);//ceiling prevents division by zero.
#endregion
#region Try to process items
int iterator = 0;
try
{
#region Process Lookups
#region initialize variables for loop
if (conn.State != ConnectionState.Open) { conn.Open(); }
if (agencyConn.State != ConnectionState.Open) { agencyConn.Open(); }
SqlCommand sqlQry1 = new SqlCommand("spUpdateWithLookups", conn);
SqlCommand sqlQry2 = new SqlCommand("spGetAgencyInfoByNumber", agencyConn);
sqlQry1.CommandType = CommandType.StoredProcedure;
sqlQry2.CommandType = CommandType.StoredProcedure;
int i = 0;
int progcent = -1;
ACS.Medco.Pharmacy.PharmacyCollection pColl = new ACS.Medco.Pharmacy.PharmacyCollection();
ACS.Medco.Pharmacy.PharmacySearchCriteria pharmCrit = new ACS.Medco.Pharmacy.PharmacySearchCriteria();
ACS.Medco.Pharmacy.PharmacySearchEngine pSearch = new ACS.Medco.Pharmacy.PharmacySearchEngine(ConfigurationManager.AppSettings["PharmacySearchUri"]);
ACS.Medco.GroupMembers.GroupMemberCollection eColl = null;
ACS.Medco.GroupMembers.GroupMemberSearchCriteria eCrit = new ACS.Medco.GroupMembers.GroupMemberSearchCriteria();
ACS.Medco.GroupMembers.GroupMemberSearchEngine eSearch = new ACS.Medco.GroupMembers.GroupMemberSearchEngine(ConfigurationManager.AppSettings["MemberSearchUri"]);
ACS.Medco.GroupMembers.GroupMemberCollection teColl = null;
ACS.Medco.NDC.NDCItemCollection nColl = new ACS.Medco.NDC.NDCItemCollection();
ACS.Medco.NDC.NDCSearchCriteria nCrit = new ACS.Medco.NDC.NDCSearchCriteria();
ACS.Medco.NDC.NDCSearchEngine nSearch = new ACS.Medco.NDC.NDCSearchEngine(ConfigurationManager.AppSettings["NDCSearchUri"]);
#endregion
#region Iterate items
iterator = 0;
foreach (EDataItem item in collection)
{
EDataItem tempItem = new EDataItem();
agency currentAgency = new agency();
string lookupHashKey = item.GroupNum + "|" + item.MemberNumber + "|" + item.MemFName;
string pharmHashKey = item.NABPPharm + "|" + item.NPIPharm;
string ndcHashKey = item.NDC;
string agencyHashKey = item.AgencyAccountNumber;
int agencyCount = 0;
try
{
#region Process item
#region Cancel thread or assign tempItem
//handle cancelation of thread
eColl = new ACS.Medco.GroupMembers.GroupMemberCollection();
teColl = new ACS.Medco.GroupMembers.GroupMemberCollection();
if (cancelBackgroundWorkers)
{
worker.CancelAsync();
args.Cancel = true;
return;
}
//Create new item to modify since foreach subjects are read only.
tempItem = item;
tempItem.ErrMessage = string.Empty;
#endregion
#region Check if transmitted or already processed.
if (checkIfRowTransmitted(tempItem))
{
tempItem.Messages = "Already Transmitted";
tempItem.Icon = (Bitmap)imageList.Images[6];
progcent = (int)Math.Ceiling((double)(i / divisor));
worker.ReportProgress(progcent);
continue;
}
if (checkIfLookupComplete(tempItem))
{
tempItem.Icon = (Bitmap)imageList.Images[5];
progcent = (int)Math.Ceiling((double)(i / divisor));
worker.ReportProgress(progcent);
continue;
}
#endregion
#region Agency Lookup
if (agencyList)
{
if (agencyHash.Contains(agencyHashKey))
{
currentAgency = (agency)agencyHash[agencyHashKey];
agencyCount++;
}
else
{
//lookup agency
sqlQry2.Parameters.Clear();
(sqlQry2.Parameters.Add("@AgencyNumber", SqlDbType.VarChar, 9) as SqlParameter).Value = tempItem.AgencyAccountNumber;
SqlDataReader reader = sqlQry2.ExecuteReader();
while (reader.Read())
{
currentAgency.acctNum = reader["Account_No"].ToString();
currentAgency.address = reader["Address"].ToString().Trim();
currentAgency.name = reader["Business_Name"].ToString().Trim();
currentAgency.state = reader["State"].ToString();
currentAgency.zip = reader["Zip"].ToString();
agencyHash.Add(agencyHashKey, currentAgency);
agencyCount++;
}
reader.Close();
}
}
#endregion
#region Set pharmacy and elligibility criteria and search
//Pharmacy search
pharmCrit.NABPNum = tempItem.NABPPharm;
pharmCrit.NPINum = tempItem.NPIPharm;
pharmCrit.PharmacyNum = tempItem.PharmAcctNum;// string.Empty;
//added 3/20/09 Patrick Bowling
if ((tempItem.PharmAcctNum != null) || (tempItem.PharmAcctNum != string.Empty))
{
pharmCrit.PharmacyNum = tempItem.PharmAcctNum;
}
if (pharmHash.Contains(pharmHashKey))
{
pColl = (ACS.Medco.Pharmacy.PharmacyCollection)pharmHash[pharmHashKey];
}
else
{
pColl = pSearch.ExecuteSearch(pharmCrit);
pharmHash.Add(pharmHashKey, pColl);
}
if (pColl.Count == 1)
{
tempItem.PharmValidated = "1";
if (pColl[0].NABPNum != null)
{
tempItem.NABPPharm = pColl[0].NABPNum;
}
//Where is NPI in a pharmacy object?
}
else
{
tempItem.PharmValidated = "0";
}
nCrit.NDCNum = item.NDC;
if (ndcHash.Contains(ndcHashKey))
{
nColl = (ACS.Medco.NDC.NDCItemCollection) ndcHash [ndcHashKey];
}
else
{
nColl = nSearch.ExecuteSearch(nCrit);
ndcHash.Add (ndcHashKey, nColl);
}
if (nColl.Count == 1)
{
tempItem.NDCValidated = "1";
}
else
{
tempItem.NDCValidated = "0";
}
//Eligibility search
eCrit.GroupNumber = item.GroupNum;
eCrit.MemberNumber = item.MemberNumber;
//Cache lookups so that the time consuming lookup
//process may be skipped on occasion that it has
//already been looked up.
if (lookupHash.Contains(lookupHashKey))
{
eColl = (ACS.Medco.GroupMembers.GroupMemberCollection)lookupHash[lookupHashKey];
}
else
{
eColl = eSearch.ExecuteSearch(eCrit);
lookupHash.Add(lookupHashKey, eColl);
}
if (eColl.Count > 1)
{
foreach (ACS.Medco.GroupMembers.GroupMember member in eColl)
{
DateTime startDate = member.ElgEffDate;
DateTime endDate = member.ElgEndDate;
DateTime serviceDate = DateTime.MaxValue;
try
{
serviceDate = Convert.ToDateTime(addSlashesToDate(tempItem.DOS));
}
catch (Exception exc)
{
throw new Exception(exc.Message + iterator.ToString() + i.ToString());
}
if ((serviceDate < endDate) && (serviceDate > startDate))
{
teColl.Add(member);
}
}
eColl = teColl;
lookupHash.Remove(lookupHashKey);
lookupHash.Add(lookupHashKey, eColl);
}
if (eColl.Count > 1)
{
teColl = null;
teColl = new ACS.Medco.GroupMembers.GroupMemberCollection();
foreach(ACS.Medco.GroupMembers.GroupMember member in eColl)
{
if (tempItem.MemLName.Trim().ToLower() == member.LastName.Trim().ToLower())
{
teColl.Add(member);
}
}
eColl = teColl;
}
if (eColl.Count == 1)
{
tempItem.MemberValidated = "1";
}
else
{
tempItem.MemberValidated = "0";
}
//Empty parameters each iteration.
sqlQry1.Parameters.Clear();
#endregion
#region Handle results
if (agencyList)
{
if ((pColl.Count == 0) || (eColl.Count != 1) || (nColl.Count == 0) || (agencyCount != 1))
{
#region Handle failures
if (pColl.Count == 0)
{
tempItem.ErrMessage += "No pharmacy found,";
}
else if (pColl.Count > 1)
{
tempItem.ErrMessage += "Multiple pharmacies found,";
}
if (eColl.Count == 0)
{
tempItem.ErrMessage += "No member found,";
}
else if (eColl.Count > 1)
{
tempItem.ErrMessage += "Multiple members found,";
}
if (nColl.Count < 1)
{
tempItem.ErrMessage += "Invalid NDC code,";
}
if (agencyCount < 1)
{
tempItem.ErrMessage += "Agency not found,";
}
else if (agencyCount > 1)
{
tempItem.ErrMessage += "Multiple agencies found,";
}
tempItem.Icon = (Bitmap)imageList.Images[6];
(sqlQry1.Parameters.Add("@Status", SqlDbType.VarChar, 2) as SqlParameter).Value = "uX";
#endregion
}
else
{
#region Set status
tempItem.Icon = (Bitmap)imageList.Images[5];
(sqlQry1.Parameters.Add("@Status", SqlDbType.VarChar, 2) as SqlParameter).Value = "uC";
tempItem.ErrMessage = string.Empty;
#endregion
}
}
else
{
//no agencies
if ((pColl.Count == 0) || (eColl.Count != 1) || (nColl.Count == 0))
{
#region Handle failures
if (pColl.Count == 0)
{
tempItem.ErrMessage += "No pharmacy found,";
}
else if (pColl.Count > 1)
{
tempItem.ErrMessage += "Multiple pharmacies found,";
}
if (eColl.Count == 0)
{
tempItem.ErrMessage += "No member found,";
}
else if (eColl.Count > 1)
{
tempItem.ErrMessage += "Multiple members found,";
}
if (nColl.Count < 1)
{
tempItem.ErrMessage += "Invalid NDC code,";
}
tempItem.Icon = (Bitmap)imageList.Images[6];
(sqlQry1.Parameters.Add("@Status", SqlDbType.VarChar, 2) as SqlParameter).Value = "uX";
#endregion
}
else
{
#region Set status
tempItem.Icon = (Bitmap)imageList.Images[5];
(sqlQry1.Parameters.Add("@Status", SqlDbType.VarChar, 2) as SqlParameter).Value = "uC";
tempItem.ErrMessage = string.Empty;
#endregion
}
}
#region Assign Values
if (tempItem.DCN == string.Empty)
{
(sqlQry1.Parameters.Add("@Dcn", SqlDbType.NChar, 16) as SqlParameter).Value = string.Empty;
}
else
{
(sqlQry1.Parameters.Add("@Dcn", SqlDbType.NChar, 16) as SqlParameter).Value = tempItem.DCN;
}
if (tempItem.DetailLineNumber == string.Empty)
{
(sqlQry1.Parameters.Add("@Dln", SqlDbType.VarChar, 2) as SqlParameter).Value = string.Empty;
}
else
{
(sqlQry1.Parameters.Add("@Dln", SqlDbType.VarChar, 2) as SqlParameter).Value = tempItem.DetailLineNumber;
}
ACS.Medco.Pharmacy.Pharmacy pPharm = new ACS.Medco.Pharmacy.Pharmacy();
if (pColl.Count == 1)
{
pPharm = pColl[0];
if (pPharm.PharmacyNum != null)
{
tempItem.PharmAcctNum = pPharm.PharmacyNum;
}
else
{
tempItem.PharmAcctNum = string.Empty;
}
(sqlQry1.Parameters.Add("@PharmAcctNum", SqlDbType.VarChar, 20) as SqlParameter).Value = pPharm.PharmacyNum;
if (pPharm.PharmacyName != null)
{
tempItem.PharmName = pPharm.PharmacyName;
}
else
{
tempItem.PharmName = string.Empty;
}
(sqlQry1.Parameters.Add("@PharmName", SqlDbType.VarChar, 50) as SqlParameter).Value = tempItem.PharmName;
if (tempItem.PharmAddress != null)
{
tempItem.PharmAddress = pPharm.Street;
}
else
{
tempItem.PharmAddress = string.Empty;
}
(sqlQry1.Parameters.Add("@PharmAddress", SqlDbType.VarChar, 50) as SqlParameter).Value = tempItem.PharmAddress;
if (tempItem.PharmZip != null)
{
tempItem.PharmZip = pPharm.ZipCode;
}
else
{
tempItem.PharmZip = string.Empty;
}
(sqlQry1.Parameters.Add("@PharmZip", SqlDbType.NChar, 5) as SqlParameter).Value = tempItem.PharmZip;
if (pPharm.PhoneNum != null)
{
tempItem.PharmPhone = pPharm.PhoneNum;
}
else
{
tempItem.PharmPhone = string.Empty;
}
(sqlQry1.Parameters.Add("@PharmPhone", SqlDbType.NChar, 10) as SqlParameter).Value = tempItem.PharmPhone;
(sqlQry1.Parameters.Add("@NABPPharm", SqlDbType.VarChar, 10) as SqlParameter).Value = tempItem.NABPPharm;
}
else
{
//tempItem.PharmAcctNum = string.Empty;
tempItem.PharmAcctNum = pharmCrit.PharmacyNum;
//(sqlQry1.Parameters.Add("@PharmAcctNum", SqlDbType.VarChar, 20) as SqlParameter).Value = string.Empty;
(sqlQry1.Parameters.Add("@PharmAcctNum", SqlDbType.VarChar, 20) as SqlParameter).Value = tempItem.PharmAcctNum;
tempItem.PharmName = string.Empty;
(sqlQry1.Parameters.Add("@PharmName", SqlDbType.VarChar, 50) as SqlParameter).Value = string.Empty;
tempItem.PharmAddress = string.Empty;
(sqlQry1.Parameters.Add("@PharmAddress", SqlDbType.VarChar, 50) as SqlParameter).Value = string.Empty;
tempItem.PharmZip = string.Empty;
(sqlQry1.Parameters.Add("@PharmZip", SqlDbType.NChar, 5) as SqlParameter).Value = string.Empty;
tempItem.PharmPhone = string.Empty;
(sqlQry1.Parameters.Add("@PharmPhone", SqlDbType.NChar, 10) as SqlParameter).Value = string.Empty;
//(sqlQry1.Parameters.Add("@NABPPharm", SqlDbType.VarChar, 10) as SqlParameter).Value = string.Empty;
(sqlQry1.Parameters.Add("@NABPPharm", SqlDbType.VarChar, 10) as SqlParameter).Value = pharmCrit.NABPNum;
}
(sqlQry1.Parameters.Add("@PharmValidated", SqlDbType.NChar, 1) as SqlParameter).Value = tempItem.PharmValidated;
(sqlQry1.Parameters.Add("@NDCValidated", SqlDbType.NChar, 1) as SqlParameter).Value = tempItem.NDCValidated;
ACS.Medco.GroupMembers.GroupMember eMember = new ACS.Medco.GroupMembers.GroupMember();
if (eColl.Count == 1)
{
eMember = eColl[0];
ACS.Medco.GroupMembers.GroupMember.ClientProfileInfo cli = eMember.ClientProfile;
if (cli.Carrier != null)
{
tempItem.CarrierCode = cli.Carrier;
}
else
{
tempItem.CarrierCode = string.Empty;
}
(sqlQry1.Parameters.Add("@CarrierCode", SqlDbType.VarChar, 50) as SqlParameter).Value = cli.Carrier;
ACS.Medco.GroupMembers.GroupMember.AddressInfo addrInfo = eMember.Address;
if (addrInfo.Street1 != null)
{
tempItem.Street1 = addrInfo.Street1;
(sqlQry1.Parameters.Add("@Street1", SqlDbType.VarChar, 50) as SqlParameter).Value = addrInfo.Street1;
}
else
{
tempItem.Street1 = string.Empty;
(sqlQry1.Parameters.Add("@Street1", SqlDbType.VarChar, 50) as SqlParameter).Value = string.Empty;
}
if (addrInfo.Street2 != null)
{
tempItem.Street2 = addrInfo.Street2;
(sqlQry1.Parameters.Add("@Street2", SqlDbType.VarChar, 50) as SqlParameter).Value = addrInfo.Street2;
}
else
{
tempItem.Street2 = string.Empty;
(sqlQry1.Parameters.Add("@Street2", SqlDbType.VarChar, 50) as SqlParameter).Value = string.Empty;
}
if (addrInfo.City != null)
{
tempItem.City = addrInfo.City;
(sqlQry1.Parameters.Add("@City", SqlDbType.VarChar, 30) as SqlParameter).Value = addrInfo.City;
}
else
{
tempItem.City = string.Empty;
(sqlQry1.Parameters.Add("@City", SqlDbType.VarChar, 30) as SqlParameter).Value = string.Empty;
}
if (addrInfo.State != null)
{
tempItem.State = addrInfo.State;
(sqlQry1.Parameters.Add("@State", SqlDbType.Char, 2) as SqlParameter).Value = addrInfo.State;
}
else
{
tempItem.State = string.Empty;
(sqlQry1.Parameters.Add("@State", SqlDbType.Char, 2) as SqlParameter).Value = string.Empty;
}
// if (addrInfo.Zip != null)
//{///
//if (tempItem.ZipCode == string.Empty)
// {
// tempItem.ZipCode = addrInfo.Zip;
// }
//tempItem.State = addrInfo.State;
//(sqlQry1.Parameters.Add("@State", SqlDbType.Char, 2) as SqlParameter).Value = addrInfo.State;
// }
// else
// {
// tempItem.State = string.Empty;
// (sqlQry1.Parameters.Add("@State", SqlDbType.Char, 2) as SqlParameter).Value = string.Empty;
// }
//DepCode, gender, and patLast
mineDependants(ref tempItem, eMember);
if (tempItem.PatLName == null)
{
tempItem.PatLName = string.Empty;
}
(sqlQry1.Parameters.Add("@PatLName", SqlDbType.VarChar, 50) as SqlParameter).Value = tempItem.PatLName;
if (tempItem.Gender == null)
{
tempItem.Gender = string.Empty;
}
(sqlQry1.Parameters.Add("@Gender", SqlDbType.VarChar, 1) as SqlParameter).Value = tempItem.Gender;
if (tempItem.DepCode == null)
{
tempItem.DepCode = string.Empty;
}
(sqlQry1.Parameters.Add("@DepCode", SqlDbType.VarChar, 1) as SqlParameter).Value = tempItem.DepCode;
}
else
{
tempItem.CarrierCode = string.Empty;
(sqlQry1.Parameters.Add("@CarrierCode", SqlDbType.VarChar, 50) as SqlParameter).Value = string.Empty;
tempItem.Street1 = string.Empty ;
(sqlQry1.Parameters.Add("@Street1", SqlDbType.VarChar, 50) as SqlParameter).Value = string.Empty;
tempItem.Street2 = string.Empty;
(sqlQry1.Parameters.Add("@Street2", SqlDbType.VarChar, 50) as SqlParameter).Value = string.Empty;
tempItem.City = string.Empty;
(sqlQry1.Parameters.Add("@City", SqlDbType.VarChar, 30) as SqlParameter).Value = string.Empty;
tempItem.State = string.Empty;
(sqlQry1.Parameters.Add("@State", SqlDbType.Char, 2) as SqlParameter).Value = string.Empty;
tempItem.PatientValidated = "0";
(sqlQry1.Parameters.Add("@PatLName", SqlDbType.VarChar, 50) as SqlParameter).Value = string.Empty;
//tempItem.Gender = string.Empty;
(sqlQry1.Parameters.Add("@Gender", SqlDbType.VarChar, 1) as SqlParameter).Value = tempItem.Gender;//string.Empty;
//tempItem.DepCode = string.Empty;
(sqlQry1.Parameters.Add("@DepCode", SqlDbType.VarChar, 1) as SqlParameter).Value = tempItem.DepCode;// string.Empty;
}
if (agencyCount == 1)
{
//(sqlQry1.Parameters.Add("@AgencyNumber", SqlDbType.VarChar, 30) as SqlParameter).Value = currentAgency.acctNum;
tempItem.AgencyAddress = currentAgency.address;
(sqlQry1.Parameters.Add("@AgencyAddress", SqlDbType.VarChar, 50) as SqlParameter).Value = currentAgency.address;
tempItem.AgencyName = currentAgency.name;
(sqlQry1.Parameters.Add("@AgencyName", SqlDbType.VarChar, 50) as SqlParameter).Value = currentAgency.name;
//tempItem.AgencyZip = currentAgency.zip;
//(sqlQry1.Parameters.Add("@AgencyZip", SqlDbType.VarChar, 5) as SqlParameter).Value = currentAgency.zip;
tempItem.AgencyState = currentAgency.state;
(sqlQry1.Parameters.Add("@AgencyState", SqlDbType.VarChar, 2) as SqlParameter).Value = currentAgency.state;
}
else
{
//(sqlQry1.Parameters.Add("@AgencyNumber", SqlDbType.VarChar, 30) as SqlParameter).Value = string.Empty;
(sqlQry1.Parameters.Add("@AgencyAddress", SqlDbType.VarChar, 50) as SqlParameter).Value = string.Empty;
(sqlQry1.Parameters.Add("@AgencyName", SqlDbType.VarChar, 50) as SqlParameter).Value = string.Empty;
//(sqlQry1.Parameters.Add("@AgencyZip", SqlDbType.VarChar, 5) as SqlParameter).Value = string.Empty;
(sqlQry1.Parameters.Add("@AgencyState", SqlDbType.VarChar, 2) as SqlParameter).Value = string.Empty;
}
(sqlQry1.Parameters.Add("@MemberValidated", SqlDbType.NChar, 1) as SqlParameter).Value = tempItem.MemberValidated;
(sqlQry1.Parameters.Add("@PatientValidated", SqlDbType.NChar, 1) as SqlParameter).Value = tempItem.PatientValidated;
pPharm = null;
#endregion
(sqlQry1.Parameters.Add("@ErrMessage", SqlDbType.VarChar, 100) as SqlParameter).Value = tempItem.ErrMessage;
(sqlQry1.Parameters.Add("@FileKey", SqlDbType.Int) as SqlParameter).Value = fileKey;
tempItem.RejectCode = string.Empty;
(sqlQry1.Parameters.Add("@RejectCode", SqlDbType.VarChar, 100) as SqlParameter).Value = string.Empty;
tempItem.Messages = string.Empty;
(sqlQry1.Parameters.Add("@Messages", SqlDbType.VarChar, 200) as SqlParameter).Value = string.Empty;
sqlQry1.ExecuteNonQuery();
////////////////////////////////////////////////////////
//////////////////////////////////////////////////
#endregion
#region Prep for next iteration
//Report progress every iteration in order to have the grid update
//in the UI Thread Progress Callback
progcent = (int)(Math.Ceiling((double)(i / divisor)));
worker.ReportProgress(progcent);
i++;
#endregion
#endregion
}
catch (Exception ex)
{
worker.CancelAsync();
System.Windows.MessageBox.Show("Error iterating grid collection: Row=" + iterator.ToString() + ": " + ex.Message);
return;
}
finally
{
tempItem = null;
eColl = null;
teColl = null;
pColl = null;
nColl = null;
currentAgency = null;
}
iterator++;
}
#endregion
#endregion
}
catch (Exception exc)
{
if (!worker.CancellationPending)
{
System.Windows.Forms.MessageBox.Show(exc.Message + ": " + iterator.ToString ());
}
}
finally
{
if (conn != null)
{
if (conn.State == ConnectionState.Open) { conn.Close(); }
}
lookupHash.Clear();
}
#endregion
};
#endregion
#region ProgressChanged
lookupWorker.ProgressChanged += delegate(object s, ProgressChangedEventArgs args)
{
dataGridControl1.Items.Refresh();
progressBar1.Value = args.ProgressPercentage;
};
#endregion
#region RunWorkerCompleted
lookupWorker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args)
{
progressBar1.Value = 0;
lookupsProcessing = false;
this.Cursor = System.Windows.Input.Cursors.Arrow;
//Turn off and hide animation
((Storyboard)this.Resources["Storyboard2"]).Stop(MainWindowGrid);
rectangle1.Visibility = Visibility.Hidden;
};
#endregion
//end inline definitions for Background worker
////////////////////////////////////////////////
#endregion
lookupWorker.RunWorkerAsync();
button3.IsEnabled = true;
}
|