//internal SPCModel[] SpcModels //{ // get // { // SPCModel[] models = new SPCModel[spcModels.Count]; // spcModels.Values.CopyTo(models, 0); // return models; // } //} internal DataSet GetModelData(string[] modelRawids, bool useComma) { modelData = _ws.GetSPCModelsData(modelRawids, useComma); spcModels = new Dictionary <string, SPCModel>(); foreach (DataRow dr in modelData.Tables[TABLE.MODEL_MST_SPC].Rows) { SPCModel spcModel = new SPCModel { SPCModelRawID = dr[COLUMN.RAWID].ToString(), SPCModelName = dr[COLUMN.SPC_MODEL_NAME].ToString(), }; spcModels.Add(spcModel.SPCModelRawID, spcModel); } foreach (var kvp in spcModels) { DataRow[] drs = modelData.Tables[TABLE.MODEL_CONFIG_MST_SPC].Select(COLUMN.MODEL_RAWID + " = '" + kvp.Key + "'"); if (drs.Length == 0) { continue; } kvp.Value.ParamType = drs[0][COLUMN.PARAM_TYPE_CD].ToString(); kvp.Value.SubModels = new List <SPCModel>(); foreach (DataRow dr in drs) { if (dr[COLUMN.MAIN_YN].ToString().ToUpper() == "Y") { kvp.Value.ChartID = dr[COLUMN.RAWID].ToString(); kvp.Value.Version = dr[COLUMN.VERSION].ToString(); kvp.Value.IsMainModel = true; continue; } SPCModel spcModel = new SPCModel { ChartID = dr[COLUMN.RAWID].ToString(), SPCModelRawID = kvp.Value.SPCModelRawID, SPCModelName = kvp.Value.SPCModelName, Version = dr[COLUMN.VERSION].ToString(), IsMainModel = false, ParamType = kvp.Value.ParamType }; kvp.Value.SubModels.Add(spcModel); } } return(modelData); }
public override void PageSearch(LinkedList llCondition) { try { if (llCondition[Definition.DynamicCondition_Search_key.SPCMODEL] == null || ((DataTable)llCondition[Definition.DynamicCondition_Search_key.SPCMODEL]).Rows.Count == 0) { InitializePage(); return; } lastestCondition = llCondition; DataTable spcmodels = (DataTable)llCondition[Definition.DynamicCondition_Search_key.SPCMODEL]; List <string> modelRawids = new List <string>(); foreach (DataRow dr in spcmodels.Rows) { modelRawids.Add(dr[Definition.CONDITION_SEARCH_KEY_VALUEDATA].ToString()); } //DataSet ds = this.controller.GetModelData(modelRawids.ToArray()); EESProgressBar.ShowProgress(this, this._lang.GetMessage(Definition.LOADING_DATA), true); AsyncCallHandler ach = new AsyncCallHandler(EESProgressBar.AsyncCallManager); object objDataSet = ach.SendWait(_ws, "GetSPCModelsData", new object[] { modelRawids.ToArray(), _bUseComma }); EESProgressBar.CloseProgress(this); // if (objDataSet != null) { _ds = (DataSet)objDataSet; } else { MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } EESProgressBar.ShowProgress(this, MSGHandler.GetMessage("PROCESS_LOADING_PAGE_DATA"), false); //DataSet ds = _ws.GetSPCModelsData(modelRawids.ToArray()); spcModels = new Dictionary <string, SPCModel>(); foreach (DataRow dr in _ds.Tables[TABLE.MODEL_MST_SPC].Rows) { SPCModel spcModel = new SPCModel { SPCModelRawID = dr[COLUMN.RAWID].ToString(), SPCModelName = dr[COLUMN.SPC_MODEL_NAME].ToString(), }; spcModels.Add(spcModel.SPCModelRawID, spcModel); } foreach (var kvp in spcModels) { DataRow[] drs = _ds.Tables[TABLE.MODEL_CONFIG_MST_SPC].Select(COLUMN.MODEL_RAWID + " = '" + kvp.Key + "'"); if (drs.Length == 0) { continue; } kvp.Value.ParamType = drs[0][COLUMN.PARAM_TYPE_CD].ToString(); kvp.Value.SubModels = new List <SPCModel>(); foreach (DataRow dr in drs) { if (dr[COLUMN.MAIN_YN].ToString().ToUpper() == "Y") { kvp.Value.ChartID = dr[COLUMN.RAWID].ToString(); kvp.Value.Version = dr[COLUMN.VERSION].ToString(); kvp.Value.IsMainModel = true; continue; } SPCModel spcModel = new SPCModel { ChartID = dr[COLUMN.RAWID].ToString(), SPCModelRawID = kvp.Value.SPCModelRawID, SPCModelName = kvp.Value.SPCModelName, Version = dr[COLUMN.VERSION].ToString(), IsMainModel = false, ParamType = kvp.Value.ParamType }; kvp.Value.SubModels.Add(spcModel); } } if (DSUtil.GetResultInt(_ds) != 0) { MSGHandler.DisplayMessage(MSGType.Error, DSUtil.GetResultMsg(_ds)); InitializePage(); return; } BindingSpread(); } catch (Exception ex) { EESProgressBar.CloseProgress(this); if (ex is OperationCanceledException || ex is TimeoutException) { MSGHandler.DisplayMessage(MSGType.Error, ex.Message, null, null, true); } else { LogHandler.ExceptionLogWrite(Definition.APPLICATION_NAME, ex); MSGHandler.DisplayMessage(MSGType.Error, ex.Message, null, null, true); } //this.MsgClose(); LogHandler.ExceptionLogWrite(Definition.APPLICATION_NAME, ex); } finally { EESProgressBar.CloseProgress(this); } }