Пример #1
0
        //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);
        }
Пример #2
0
        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);
            }
        }