private bool Filter(object item) { var fcu = (FCU)item; if (fcu.ID == 1) { if (string.IsNullOrEmpty(FilterTextBox)) { return(true); } return(fcu.Project.StartsWith(FilterTextBox, StringComparison.OrdinalIgnoreCase) || fcu.SerialNo.StartsWith(FilterTextBox, StringComparison.OrdinalIgnoreCase)); } else { int count = FcuStatusFilter.Where(chk => chk.IsChecked).Count(ok => ok.Item.BoolFcuStatus == fcu.ShipStatus); if (string.IsNullOrEmpty(FilterTextBox) && count > 0) { return(true); } else { if (count == 0) { return(false); } return(fcu.Project.StartsWith(FilterTextBox, StringComparison.OrdinalIgnoreCase) || fcu.SerialNo.StartsWith(FilterTextBox, StringComparison.OrdinalIgnoreCase)); } } }
private void ConsumeItemMessage(FCUItemMessage msg) { if (msg == null) { return; } if (msg.HasValue) { ProgressValue = msg.PercentageValue; if (msg.State == "Completed") { #region refresh grid if (fcuCollection != null && fcuCollection.Count > 0) { foreach (var obj in fcuCollection) { var fcu = fcuServices.GetFCU(obj.ID); obj.ShipStatus = fcu.ShipStatus; obj.Qty = fcu.Qty; obj.QtyReceived = fcu.QtyReceived; if (obj.QtyReceived == null) { obj.ShipStatus = false; } else { if (obj.QtyReceived == obj.Qty) { obj.ShipStatus = true; } else if (obj.QtyReceived < obj.Qty) { obj.ShipStatus = null; } } obj.ShipStatus2 = obj.ShipStatus; obj.Qty2 = obj.Qty; obj.QtyReceived2 = obj.QtyReceived; if (FcuStatusFilter.All(x => x.Item.BoolFcuStatus != fcu.ShipStatus)) { FcuStatusFilter.Add(new CheckedListItem <FCUStatusCategory> { IsChecked = true, Item = new FCUStatusCategory { BoolFcuStatus = fcu.ShipStatus, TextFcuStatus = fcu.ShipStatus == null ? " - Partial" : (fcu.ShipStatus.ToString() == "False") ? " - NOT OK" : " - OK" } }); } } } if (ListBoxFcuStatus != null) { CollectionViewSource.GetDefaultView(ListBoxFcuStatus).Refresh(); } #endregion refresh grid StopTimer(); ExecuteTimer(); } } }