/// <summary> /// 取得加工訂單狀態 /// </summary> /// <returns></returns> public IEnumerable <ProcessOrderStatus> GetProcessOrderStatus() { IEnumerable <ProcessOrderStatus> result = ProcessOrderAdapter.GetProcessOrderStatus(); var resultGroup = result.GroupBy(g => new { g.Color, g.OrderNo }); List <ProcessOrderStatus> processOrderStatuses = new List <ProcessOrderStatus>(); foreach (var itemGroup in resultGroup) { string factoryNameCombine = string.Empty; foreach (var item in itemGroup) { factoryNameCombine = factoryNameCombine != string.Empty ? factoryNameCombine + ">" + item.FactoryName : item.FactoryName; } ProcessOrderStatus firstProcessOrderStatus = itemGroup.First(); processOrderStatuses.Add(new ProcessOrderStatus { OrderString = firstProcessOrderStatus.OrderString, Fabric = firstProcessOrderStatus.Fabric, Color = firstProcessOrderStatus.Color, Status = firstProcessOrderStatus.Status, Quantity = firstProcessOrderStatus.Quantity, UpdateDate = firstProcessOrderStatus.UpdateDate, FactoryName = factoryNameCombine }); } return(processOrderStatuses); }
private void DataGridFilter(ObservableCollection<ProcessOrderStatus> processOrderStatuses) { ICollectionView cv = CollectionViewSource.GetDefaultView(processOrderStatuses); if (!string.IsNullOrEmpty(Fabric)) { cv.Filter = o => { ProcessOrderStatus p = o as ProcessOrderStatus; return (p.Fabric.ToUpper().Contains(Fabric.ToUpper())); }; } else { cv.Filter = o => { return (true); }; }; }