예제 #1
0
        /// <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);
        }
예제 #2
0
 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);
         };
     };
 }