/// <summary> /// Binds tree view /// </summary> /// <param name="Linelist"></param> private void PopulateTreeView(List <LineVo> Linelist) { WorkContentVo workContentOutVo = new WorkContentVo(); if (WorkContentType_Cmb.SelectedIndex > -1) { workContentInVo.WorkContentTypeId = Convert.ToInt32(WorkContentType_Cmb.SelectedValue); } try { workContentOutVo = (WorkContentVo)base.InvokeCbm(new GetWorkContentMasterMntCbm(), workContentInVo, false); } catch (Framework.ApplicationException exception) { popUpMessage.ApplicationError(exception.GetMessageData(), Text); Logger.Error(exception.GetMessageData()); return; } LineAndWorkContent_tv.Nodes.Clear(); TreeNode[] headerNode = new TreeNode[Linelist.Count]; int i = 0; foreach (LineVo lin in Linelist) { TreeNode child = new TreeNode { Text = lin.LineCode + " " + lin.LineName, Tag = lin.LineId }; headerNode[i] = child; int childNodes = workContentOutVo.WorkContentListVo.Count; TreeNode[] rootNodes = new TreeNode[childNodes]; int node = 0; ValueObjectList <LineWorkContentVo> lineWrkContentOutVo = new ValueObjectList <LineWorkContentVo>(); try { lineWrkContentOutVo = (ValueObjectList <LineWorkContentVo>)base.InvokeCbm(new GetLineWorkContentMasterMntCbm(), new LineWorkContentVo(), false); } catch (Framework.ApplicationException exception) { popUpMessage.ApplicationError(exception.GetMessageData(), Text); Logger.Error(exception.GetMessageData()); return; } foreach (WorkContentVo wctVo in workContentOutVo.WorkContentListVo) { TreeNode rootChild = new TreeNode { Text = wctVo.WorkContentCode + " " + wctVo.WorkContentName, Tag = wctVo.WorkContentId }; if (lineWrkContentOutVo != null && lineWrkContentOutVo.GetList() != null && lineWrkContentOutVo.GetList().Count > 0) { List <LineWorkContentVo> linWrkCntList = lineWrkContentOutVo.GetList().Where(t => t.LineId == Convert.ToInt32(child.Tag)).ToList(); foreach (LineWorkContentVo lnWrkCntVo in linWrkCntList) { if (lnWrkCntVo.WorkContentId == Convert.ToInt32(rootChild.Tag)) { rootChild.Checked = true; } } } rootNodes[node] = rootChild; headerNode[i].Nodes.Add(rootNodes[node]); node += 1; } LineAndWorkContent_tv.Nodes.Add(headerNode[i]); i += 1; } if (LineAndWorkContent_tv.Nodes.Count > 0) { Update_btn.Enabled = true; } }
public override ValueObject Execute(TransactionContext trxContext, ValueObject arg) { WorkContentVo inVo = (WorkContentVo)arg; WorkContentVo outVo = new WorkContentVo(); StringBuilder sqlQuery = new StringBuilder(); //create SQL sqlQuery.Append("Select distinct * from m_work_content "); sqlQuery.Append(" where factory_cd = :faccd "); if (inVo.WorkContentCode != null) { sqlQuery.Append(" and work_content_cd like :workcontentcd "); } if (inVo.WorkContentId > 0) { sqlQuery.Append(" and work_content_id = :workcontentid "); } if (inVo.WorkContentName != null) { sqlQuery.Append(" and work_content_name like :workcontentname "); } if (inVo.WorkContentTypeId > 0) { sqlQuery.Append(" and work_content_type_id = :workcontenttypeid "); } sqlQuery.Append(" order by display_order "); //create command DbCommandAdaptor sqlCommandAdapter = base.GetDbCommandAdaptor(trxContext, sqlQuery.ToString()); //create parameter DbParameterList sqlParameter = sqlCommandAdapter.CreateParameterList(); sqlParameter.AddParameterString("faccd", UserData.GetUserData().FactoryCode); sqlParameter.AddParameterInteger("workcontenttypeid", inVo.WorkContentTypeId); if (inVo.WorkContentCode != null) { sqlParameter.AddParameterString("workcontentcd", inVo.WorkContentCode + "%"); } if (inVo.WorkContentName != null) { sqlParameter.AddParameterString("workcontentname", inVo.WorkContentName + "%"); } if (inVo.WorkContentId != 0) { sqlParameter.AddParameterInteger("workcontentid", inVo.WorkContentId); } //execute SQL IDataReader dataReader = sqlCommandAdapter.ExecuteReader(trxContext, sqlParameter); while (dataReader.Read()) { WorkContentVo currOutVo = new WorkContentVo { WorkContentId = Convert.ToInt32(dataReader["work_content_id"]), WorkContentCode = dataReader["work_content_cd"].ToString(), WorkContentName = dataReader["work_content_name"].ToString(), DisplayOrder = Convert.ToInt32(dataReader["display_order"].ToString()) }; outVo.WorkContentListVo.Add(currOutVo); } dataReader.Close(); return(outVo); }