/// <summary> /// Loads the list of checks for the selected part/date /// </summary> private async void SyncSelection(object sender, SelectionChangedEventArgs e) { try { ListView thisList = sender as ListView; List <bool> problemList = new List <bool>(); String output = "Select CheckInfo.CheckName, FirstShiftTime,CheckTime,QualityCheck.CheckNo, DefectCheck, Notes, SpecialCheck "; output += "FROM QualityCheck INNER JOIN CheckInfo ON CheckInfo.CheckNo = QualityCheck.CheckNo "; output += "WHERE PartNumber = '" + PartBox.Text + "' AND CheckDate = '" + DateList.SelectedItem.ToString().Split(':')[0] + "' "; output += "ORDER BY QualityCheck.CheckNo;"; ChecksList.Clear(); problemList.Clear(); problemChecksList.Clear(); specialProblemList.Clear(); specialCheckList.Clear(); using (conn = new SqlConnection(@"Data Source=DESKTOP-10DBF13\SQLEXPRESS;Initial Catalog=QualityControl;Integrated Security=SSPI")) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = output; try { using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { ChecksList.Add(reader.GetString(0)); if (reader.GetBoolean(4) || reader.GetString(5) != "") { problemList.Add(true); } else { problemList.Add(false); } specialCheckList.Add(reader.GetString(6)); } } } catch { } output = "Select CheckInfo.CheckName, FirstShiftTime,CheckTime,QualityCheck.CheckNo, DefectCheck, Notes, SpecialCheck " + "FROM QualityCheck INNER JOIN CheckInfo ON CheckInfo.CheckNo = QualityCheck.CheckNo " + "WHERE PartNumber = '" + PartBox.Text + "' AND CheckDate = '" + DateList.SelectedItem.ToString().Split(':')[0] + "' AND (NOT('' = CONVERT(varchar(max), Notes)) OR DefectCheck = 1) " + "ORDER BY QualityCheck.CheckNo;"; cmd.CommandText = output; try { using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { problemChecksList.Add(reader.GetString(0)); specialProblemList.Add(reader.GetString(6)); } } } catch { } } } if (ShowSwitch.IsOn) { CheckList.ItemsSource = problemChecksList; } else { CheckList.ItemsSource = ChecksList; } await Task.Delay(1000); for (int i = 0; i < CheckList.Items.Count; i++) { try { var item = CheckList.ContainerFromIndex(i) as ListViewItem; String myString = CheckList.Items[i].ToString(); if (problemChecksList.Contains(myString)) { item.Foreground = new SolidColorBrush(Windows.UI.Colors.Red); item.Background = new SolidColorBrush(Windows.UI.Colors.WhiteSmoke); } else { item.Foreground = new SolidColorBrush(Windows.UI.Colors.Black); item.Background = new SolidColorBrush(Windows.UI.Colors.White); } } catch { } } } catch { } }