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; } } } } }
private void RemoveSelectedItem(object obj) { for (int i = SelectedUnivariateSPCItems.Count; i-- > 0;) { SPCItemInfo item = SelectedUnivariateSPCItems[i]; if (item.IsSelected) { SelectedUnivariateSPCItems.RemoveAt(i); } } }
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); } } } }
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"); } } }
/// <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; } } } }
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); }
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 } } }