Example #1
0
        private void tlSysObject_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
        {
            if (e.Node == null)
            {
                this.ucSysModule1.Visible     = false;
                this.ucSysObject1.Visible     = false;
                this.bbiEditModule.Visibility = BarItemVisibility.Never;
                this.bbiEditObject.Visibility = BarItemVisibility.Never;
                this.bbiAddObject.Visibility  = BarItemVisibility.Never;
                return;
            }

            string code       = e.Node.GetValue(this.tlcCode).ToString();
            string moduleCode = e.Node.GetValue(tlcParentCode).ToString();

            if (string.IsNullOrEmpty(moduleCode))
            {
                CDictModule module = e.Node.Tag as CDictModule;
                this.FreshModule(module);
            }
            else
            {
                CDictObject obj        = e.Node.Tag as CDictObject;
                string      objectCode = obj.Code;
                var         parmList   = new List <KeyValuePair <string, string> >
                {
                    new KeyValuePair <string, string>("objectCode", objectCode)
                };
                CustomException ce = null;
                //  获取功能对应的功能点
                List <CDictFunctionPoint> fps = HttpDataHelper.GetWithInfo <List <CDictFunctionPoint> >("BASE", "/setup/fplist", out ce, parmList);
                obj.FunctionPointList = fps;
                this.FreshObject(obj);
            }
        }
Example #2
0
 private void FreshModule(CDictModule module)
 {
     this.ucSysModule1.Visible     = true;
     this.ucSysObject1.Visible     = false;
     this.bbiAddObject.Visibility  = BarItemVisibility.Always;
     this.bbiEditModule.Visibility = BarItemVisibility.Always;
     this.bbiEditObject.Visibility = BarItemVisibility.Never;
     this.ucSysModule1.Init(module);
     this.ucSysModule1.SetStatus(false);
 }
Example #3
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            //  保存数据
            this.DataModule = this.ucSysModule1.GetData();
            if (this.DataModule != null)
            {
                String          str = StringHelper.SerializeObject <CDictModule>(this.DataModule);
                CustomException ce  = null;
                HttpDataHelper.HttpPostWithInfo("BASE", "/setup/moduleset", out ce, str);

                this.DialogResult = DialogResult.OK;
            }
        }
Example #4
0
        /// <summary>
        ///  数据初始化
        /// </summary>
        /// <param name="data"></param>
        public void Init(CDictModule data)
        {
            this.txtCode.Text     = data.Code;
            this.txtName.Text     = data.Name;
            this.txtFilename.Text = data.FileName;
            this.txtVersion.Text  = data.Version;
            if (!String.IsNullOrEmpty(data.FileTime))
            {
                this.deFileTime.DateTime = DateTime.Parse(data.FileTime);
            }
            this.meDescribe.Text = data.Describe;

            this.ckUsedFlag.Checked = (data.UsedFlag == 1);
        }
Example #5
0
        private void bbiEditModule_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            TreeListNode mnode = this.tlSysObject.FocusedNode;

            if (mnode != null)
            {
                CDictModule module = mnode.Tag as CDictModule;
                if (module != null)
                {
                    FrmModuleEdit frm = new FrmModuleEdit();
                    frm.Init(module);
                    if (frm.ShowDialog() == DialogResult.OK)
                    {
                        module = frm.DataModule;
                        mnode.SetValue(tlcName, module.Name);
                        mnode.SetValue(tlcUsedFlag, module.UsedFlag);
                        mnode.Tag = module;
                        this.ucSysModule1.Init(module);
                    }
                    frm.Dispose();
                }
            }
        }
Example #6
0
        /// <summary>
        ///  获取对象名称(模块名 + 对象名)
        /// </summary>
        /// <returns></returns>
        private string getObjectName()
        {
            string object_name = string.Empty;

            if (!string.IsNullOrEmpty(this.objectCode))
            {
                CDictObject obj = this.ObjectList.Find(o => { return(o.Code == this.objectCode); });
                if (obj != null)
                {
                    CDictModule module = this.ModuleList.Find(o => { return(o.Code == obj.ModuleCode); });
                    if (module != null)
                    {
                        object_name = module.Name + " --- " + obj.Name;
                        try
                        {
                            //  查找参数说明
                            Assembly theDll            = Assembly.LoadFrom(EnvInfo.RunPath + module.FileName + ".dll");
                            Type     type              = theDll.GetType(module.FileName + "." + obj.Object);
                            FormParmDescAttribute attr = type.GetCustomAttribute(typeof(FormParmDescAttribute)) as FormParmDescAttribute;
                            if (attr != null)
                            {
                                this.beParameter.Properties.Buttons[0].Visible = true;
                                this.beParameter.Properties.Buttons[0].ToolTip = "描述:" + attr.Description + "\r\n实例:" + attr.Example;
                            }
                            else
                            {
                                this.beParameter.Properties.Buttons[0].Visible = false;
                            }
                        }
                        catch { }
                    }
                }
            }

            return(object_name);
        }
Example #7
0
        /// <summary>
        ///  获取数据
        /// </summary>
        /// <param name="data">实体</param>
        public CDictModule GetData()
        {
            txtName.ErrorText = null;
            if (string.IsNullOrEmpty(this.txtName.Text.Trim()))
            {
                txtName.ErrorText          = "模块名称不可为空!";
                txtName.ErrorIconAlignment = ErrorIconAlignment.MiddleRight;
                txtName.Focus();
                return(null);
            }

            CDictModule data = new CDictModule();

            data.Code        = this.txtCode.Text;
            data.Name        = this.txtName.Text;
            data.FileName    = this.txtFilename.Text;
            data.Version     = this.txtVersion.Text;
            data.FileTime    = this.deFileTime.DateTime.ToString("yyyy-MM-dd HH:mm:ss");
            data.Describe    = this.meDescribe.Text;
            data.UpdateEmpid = EmpInfo.Id;

            data.UsedFlag = this.ckUsedFlag.Checked ? 1 : 0;
            return(data);
        }
Example #8
0
 public void Init(CDictModule module)
 {
     this.ucSysModule1.Init(module);
     this.ucSysModule1.SetStatus(true);
 }
Example #9
0
        private void bbiAddModule_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            //  TEST
            //LocalInfoHelper.SendOpenForm("TITLE", "His6.SysSetup", "FrmMenuSetup", "", 1);

            //  选择模块文件
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.Title            = "选择模块文件";
            openFileDialog1.InitialDirectory = EnvInfo.RunPath;
            openFileDialog1.Filter           = "动态文件 (*.dll)|*.dll";
            openFileDialog1.FilterIndex      = 1;
            openFileDialog1.RestoreDirectory = true;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string filename    = openFileDialog1.FileName;
                int    pos         = filename.LastIndexOf(@"\");
                string module_name = filename.Substring(pos + 1);
                module_name = module_name.Substring(0, module_name.Length - 4);

                //  判断模块文件是否已经加入
                bool         found = false;
                TreeListNode node  = this.tlSysObject.Nodes.FirstNode;
                while (node != null)
                {
                    if (node.GetValue(this.tlcObject).ToString() == module_name)
                    {
                        found = true;
                        break;
                    }
                    node = node.NextNode;
                }
                if (found)
                {
                    MessageHelper.ShowError("模块文件已经在数据中...");
                    return;
                }

                //  打开模块选择窗口
                FrmModuleAdd frm = new FrmModuleAdd();
                if (frm.ImpModule(filename))
                {
                    if (frm.ShowDialog(this) == DialogResult.OK)
                    {
                        //  成功加入模块数据
                        CDictModule        module     = frm.DataModule;
                        List <CDictObject> objectList = frm.DataObjectList;

                        //  添加节点
                        this.tlSysObject.FocusedNodeChanged -= tlSysObject_FocusedNodeChanged;
                        this.tlSysObject.BeginUpdate();    //  停止控件刷新
                        TreeListNode rnode = this.tlSysObject.Nodes.Add(new object[] { module.Code, module.Name, module.FileName, module.UsedFlag, "" });
                        rnode.Tag = module;

                        foreach (CDictObject obj in objectList)
                        {
                            TreeListNode onode = rnode.Nodes.Add(new object[] { obj.Code, obj.Name, obj.Object, obj.UsedFlag, obj.ModuleCode });
                            onode.Tag = obj;
                        }
                        this.tlSysObject.FocusedNodeChanged += tlSysObject_FocusedNodeChanged;
                        this.tlSysObject.EndUpdate();       //  控件刷新从BeginUpdate开始的改变
                        this.tlSysObject.FocusedNode = rnode;
                        if (!this.ucSysModule1.Visible)     //  没有任何数据第一条加入时不会触发行更改事件
                        {
                            this.FreshModule(module);
                        }
                    }
                }
                frm.Dispose();
            }
        }