public ViewAlerts() { InitializeComponent(); ServiceHealthClient web = new ServiceHealthClient(); var b = web.listPatientWithAlertsBP(); var h = web.listPatientWithAlertsHR(); var s = web.listPatientWithAlertsSPO(); // juntar as 3 listas de valores com alertas // z = BloodPressure // y = HeartRate // z = Oxygen Saturations var listas = b.ZipDeTres(h, s, (w, y, z) => new { w, y, z }); // metodo implementado na class ExtendMethod.cs List <int> lastSNS = new List <int>(); foreach (var wyz in listas.Where(i => i.w.Date >= da || i.y.Date >= da || i.z.Date >= da).OrderBy(t => t.w.SNS).ThenBy(t => t.z.SNS).ThenBy(t => t.y.SNS)) { if (!lastSNS.Contains(wyz.w.SNS)) { ListViewItem bp = new ListViewItem(Convert.ToString(wyz.w.SNS), 0); bp.SubItems.Add(wyz.w.FirstName + " " + wyz.w.LastName); bp.SubItems.Add(Convert.ToString(wyz.w.Age)); listView1.Items.Add(bp); lastSNS.Add(wyz.w.SNS); } if (!lastSNS.Contains(wyz.y.SNS)) { ListViewItem bp = new ListViewItem(Convert.ToString(wyz.y.SNS), 0); bp.SubItems.Add(wyz.y.FirstName + " " + wyz.y.LastName); listView1.Items.Add(bp); bp.SubItems.Add(Convert.ToString(wyz.y.Age)); lastSNS.Add(wyz.y.SNS); } if (!lastSNS.Contains(wyz.z.SNS)) { ListViewItem bp = new ListViewItem(Convert.ToString(wyz.z.SNS), 0); bp.SubItems.Add(wyz.z.FirstName + " " + wyz.z.LastName); bp.SubItems.Add(Convert.ToString(wyz.z.Age)); listView1.Items.Add(bp); lastSNS.Add(wyz.z.SNS); } } }