Example #1
0
        public void RemoveClickedItem(object obj)
        {
            System.Windows.Controls.TextBlock itemTextBlock = obj as System.Windows.Controls.TextBlock;
            DataTable availableItemsDataTable = Database.DBQueryTool.GetFurnItemInfo(SITE_ID);

            foreach (DataRow row in availableItemsDataTable.Rows.Cast <DataRow>())
            {
                if (row["ITEM_NAME"].ToString() == itemTextBlock.Text)
                {
                    SPCItemInfo info = new SPCItemInfo()
                    {
                        ItemList    = row["FURN_ITEM_INDEX"].ToString(),
                        Flag        = "I",
                        Description = row["ITEM_NAME"].ToString(),
                        Title       = row["ITEM_NAME"].ToString()
                    };

                    for (int i = SelectedUnivariateSPCItems.Count; i-- > 0;)
                    {
                        SPCItemInfo item = SelectedUnivariateSPCItems[i];
                        if (item.ItemList == info.ItemList)
                        {
                            SelectedUnivariateSPCItems.RemoveAt(i);
                            return;
                        }
                    }
                }
            }
        }
Example #2
0
 private void RemoveSelectedItem(object obj)
 {
     for (int i = SelectedUnivariateSPCItems.Count; i-- > 0;)
     {
         SPCItemInfo item = SelectedUnivariateSPCItems[i];
         if (item.IsSelected)
         {
             SelectedUnivariateSPCItems.RemoveAt(i);
         }
     }
 }
Example #3
0
        private void DeleteMulItem(object obj)
        {
            SPCItemInfo spcItem = obj as SPCItemInfo;

            if (spcItem != null)
            {
                for (int i = SelectedMultivariateSPCItems.Count; i-- > 0;)
                {
                    if (object.Equals(SelectedMultivariateSPCItems[i], spcItem))
                    {
                        SelectedMultivariateSPCItems.RemoveAt(i);
                    }
                }
            }
        }
Example #4
0
        private void ShowSelMulItemDialog(object obj)
        {
            SPCItemInfo spcItem = obj as SPCItemInfo;

            if (spcItem != null)
            {
                SelectMulItemViewModel vm = new SelectMulItemViewModel();
                vm.SITE_ID = this.SITE_ID;
                vm.Title   = spcItem.Title;
                if (spcItem.ItemList != null && spcItem.ItemList != string.Empty)
                {
                    string[]  item_list = spcItem.ItemList.Split(',');
                    DataTable dt        = new DataTable();
                    dt.Columns.Add("ITEM_LIST", typeof(string));
                    dt.Columns.Add("FLAG", typeof(string));
                    dt.Columns.Add("SITE", typeof(string));
                    dt.Columns.Add("TITLE", typeof(string));
                    DataRow dr;
                    foreach (var item in item_list)
                    {
                        dr = dt.NewRow();
                        dr["ITEM_LIST"] = item;
                        dr["FLAG"]      = "I";
                        dr["SITE"]      = this.SITE_ID;
                        dt.Rows.Add(dr);
                    }
                    vm.SPCItemInfoTable = dt;
                }
                using (View.SelectMultivariateItemDialogView f = new View.SelectMultivariateItemDialogView(vm))
                {
                    f.ShowInTaskbar = true;
                    f.ShowDialog();
                    SelectMulItemViewModel resultVm = (SelectMulItemViewModel)f.DataContext;
                    if (resultVm.SPCItemInfoTable != null && resultVm.SPCItemInfoTable.Rows.Count > 0)
                    {
                        // probably need to sort the item list...
                        spcItem.ItemList = string.Join(",", resultVm.SPCItemInfoTable.Rows.Cast <DataRow>()
                                                       .Select(x => x.Field <string>("ITEM_LIST")).ToArray());
                        spcItem.Title       = resultVm.Title;
                        spcItem.Description = string.Join(",", Database.DBQueryTool.GetFurnNameByItemList(spcItem.ItemList));
                    }
                    RaisePropertyChanged("SelectedMultivariateSPCItems");
                }
            }
        }
Example #5
0
        /// <summary>
        /// 處理滑鼠左鍵連點在可選/已選項
        /// </summary>
        public void AddClickedItem(object obj)
        {
            System.Windows.Controls.TextBlock itemTextBlock = obj as System.Windows.Controls.TextBlock;
            if (itemTextBlock == null)
            {
                return;
            }
            DataTable availableItemsDataTable = Database.DBQueryTool.GetFurnItemInfo(SITE_ID);

            foreach (DataRow row in availableItemsDataTable.Rows.Cast <DataRow>())
            {
                if (row["ITEM_NAME"].ToString() == itemTextBlock.Text)
                {
                    SPCItemInfo info = new SPCItemInfo()
                    {
                        ItemList    = row["FURN_ITEM_INDEX"].ToString(),
                        Flag        = "I",
                        Description = row["ITEM_NAME"].ToString(),
                        Title       = row["ITEM_NAME"].ToString()
                    };
                    if (SelectedUnivariateSPCItems.Count() > 0)
                    {
                        var a = SelectedUnivariateSPCItems.Select(x => x.ItemList == info.ItemList);
                        a = a as IEnumerable <bool>;
                        if (!a.Contains(true))
                        {
                            SelectedUnivariateSPCItems.Add(info);
                            return;
                        }
                    }
                    else
                    {
                        SelectedUnivariateSPCItems.Add(info);
                        return;
                    }
                }
            }
        }
Example #6
0
        private void AddNewMultiSPCItem(object obj)
        {
            SPCItemInfo item = new SPCItemInfo();

            item.Flag = "T2";
            int id = 0;

            if (SelectedMultivariateSPCItems != null && SelectedMultivariateSPCItems.Count > 0)
            {
                var    alltitles = SelectedMultivariateSPCItems.Select(x => x.Title).Distinct().ToArray();
                string title     = "多變量管制圖";
                while (alltitles.Contains(title))
                {
                    id++;
                    title = string.Format("{0}_{1}", "多變量管制圖", id);
                }
                item.Title = title;
            }
            else
            {
                item.Title = "多變量管制圖";
            }
            SelectedMultivariateSPCItems.Add(item);
        }
Example #7
0
        protected virtual void Load()
        {
            if (SITE_ID == null || SITE_ID == string.Empty)
            {
                return;
            }

            SelectedMultivariateSPCItems = new ObservableCollection <SPCItemInfo>();
            SelectedMultivariateSPCItems.CollectionChanged += SelectedMultivariateSPCItems_CollectionChanged;
            AvailableUnivariateSPCItems = new ObservableCollection <SPCItemInfo>();
            AvailableUnivariateSPCItems.CollectionChanged += AvailableUnivariateSPCItems_CollectionChanged;
            SelectedUnivariateSPCItems = new ObservableCollection <SPCItemInfo>();
            SelectedUnivariateSPCItems.CollectionChanged += SelectedUnivariateSPCItme_CollectionChanged;

            DataTable availableItemsDataTable = Database.DBQueryTool.GetFurnItemInfo(SITE_ID);

            if (availableItemsDataTable != null && availableItemsDataTable.Rows.Count > 0)
            {
                foreach (DataRow item in availableItemsDataTable.Rows.Cast <DataRow>())
                {
                    SPCItemInfo info = new SPCItemInfo()
                    {
                        ItemList    = item["FURN_ITEM_INDEX"].ToString(),
                        Flag        = "I",
                        Description = item["ITEM_NAME"].ToString(),
                        Title       = item["ITEM_NAME"].ToString()
                    };
                    AvailableUnivariateSPCItems.Add(info);
                }
            }

            /*
             * 從 SPCItemInfoTable 還原各設定
             *
             */
            if (SPCItemInfoTable != null && SPCItemInfoTable.Rows.Count > 0)
            {
                try
                {
                    var selUniItemList = SPCItemInfoTable.Rows.Cast <DataRow>().Where(x => x.Field <string>("FLAG") == "I").Select(x => x["ITEM_LIST"]); //取出單變量項目
                    foreach (var item in AvailableUnivariateSPCItems)
                    {
                        if (selUniItemList.Contains(item.ItemList))
                        {
                            SelectedUnivariateSPCItems.Add(item);
                        }
                    }
                }
                catch
                {
                    //do nothing
                }

                try
                {
                    var selMulItems = SPCItemInfoTable.Rows.Cast <DataRow>().Where(x => x.Field <string>("FLAG") == "T2"); //取出多變量項目
                    foreach (var item in selMulItems)
                    {
                        SPCItemInfo spcItem = new SPCItemInfo();
                        spcItem.ItemList    = item["ITEM_LIST"].ToString();
                        spcItem.Title       = item["TITLE"].ToString();
                        spcItem.Flag        = item["FLAG"].ToString();
                        spcItem.Description = string.Join(",", Database.DBQueryTool.GetFurnNameByItemList(spcItem.ItemList));
                        SelectedMultivariateSPCItems.Add(spcItem);
                    }
                }
                catch
                {
                    //do nothing
                }
            }
        }
        protected virtual void OnSiteChanged()
        {
            if (SITE_ID == null || SITE_ID == string.Empty)
            {
                return;
            }
            //重新讀取可選擇項
            SelectedMulItems.Clear();
            AvailableItems.Clear();
            SelectedItems.Clear();

            DataTable furnItemTable = Database.DBQueryTool.GetFurnItemInfo(SITE_ID);

            if (furnItemTable != null && furnItemTable.Rows.Count > 0)
            {
                foreach (DataRow item in furnItemTable.Rows.Cast <DataRow>())
                {
                    SPCItemInfo info = new SPCItemInfo()
                    {
                        ItemList    = item["FURN_ITEM_INDEX"].ToString(),
                        Flag        = "I",
                        Description = item["ITEM_NAME"].ToString(),
                        Title       = item["ITEM_NAME"].ToString()
                    };
                    AvailableItems.Add(info);
                }
            }

            //載入資料庫中的紀錄
            SpcItemsInfoTable = Database.DBQueryTool.GetRealTimeSPCItems(SITE_ID);
            if (SpcItemsInfoTable != null && SpcItemsInfoTable.Rows.Count > 0)
            {
                //取得 I-Chart 的項目
                try
                {
                    var univariateItems = SpcItemsInfoTable.Rows.Cast <DataRow>().Where(x => x.Field <string>("FLAG") == "I").Select(x => x["ITEM_LIST"]); //取出單變量項目
                    foreach (var item in AvailableItems)
                    {
                        if (univariateItems.Contains(item.ItemList))
                        {
                            SelectedItems.Add(item);
                        }
                    }
                }
                catch
                {
                    //do nothing
                }
                //取的 T2 的項目
                try
                {
                    var selMulItems = SpcItemsInfoTable.Rows.Cast <DataRow>().Where(x => x.Field <string>("FLAG") == "T2"); //取出多變量項目
                    foreach (var item in selMulItems)
                    {
                        SPCItemInfo spcItem = new SPCItemInfo();
                        spcItem.ItemList    = item["ITEM_LIST"].ToString();
                        spcItem.Title       = item["TITLE"].ToString();
                        spcItem.Flag        = item["FLAG"].ToString();
                        spcItem.Description = string.Join(",", Database.DBQueryTool.GetFurnNameByItemList(spcItem.ItemList));
                        SelectedMulItems.Add(spcItem);
                    }
                }
                catch
                {
                    //do nothing
                }
            }
        }