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