Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool CheckSave()
        {
            if (_CurrentSelectedGuid.IsNullOrEmpty())
            {
                Wrapper.ShowDialog("请选择要切换的窗体");
                return(false);
            }
            if (_CurrentSelectedGuid.Equals(_PageGuid))
            {
                Wrapper.ShowDialog("自己不能切换到自己,你是否要重置刷新一下页面的内容?是的话请设置页面刷新即可");
                return(false);
            }

            string eventName    = string.Format("{0}", CurrentApiSelector.Name);
            string _controlName = string.Format("{0}", this.EventControlName);
            var    xml          = IDesignFramework.GetCurrentXmlTemplate();

            if (null == xml.EventLinkItem)
            {
                xml.EventLinkItem = new List <EventLinkInfo>();
            }
            //-->事件
            var eli = xml.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>();

            if (null == eli)
            {
                eli = new EventLinkInfo();
                xml.EventLinkItem.Add(eli);
            }
            eli.ControlName = _controlName;
            eli.EventName   = this.EventName;
            if (null == eli.Item)
            {
                eli.Item = new List <ControlActivityInfo>();
            }
            //-->行为
            var cai = eli.Item.Where(p => p.ControlName.IsNotEmpty() &&
                                     p.ControlName.Equals(_controlName) &&
                                     p.EventName.IsNotEmpty() &&
                                     p.EventName.Equals(eventName)).GetFirst <ControlActivityInfo>();

            if (null == cai)
            {
                cai = new ControlActivityInfo();
                eli.Item.Add(cai);
            }
            //-->保存操作。
            cai.ActivityName = this.ActivityName;
            cai.ActivityType = this.ActivityType;
            cai.ControlName  = _controlName;
            cai.EventName    = eventName;
            var _guid = this.IDesignFramework.GetCurrentXmlTemplate().BaseInfo.PageGUID;

            cai.Description = "切换窗体" + _guid;
            cai.PageGuid    = string.Format("{0},{1}", _CurrentSelectedGuid, _guid);
            IDesignFramework.UpdateCurrentTemplate();
            return(true);
        }
Example #2
0
        /// <summary>
        /// 保存
        /// </summary>
        bool SaveOperator()
        {
            if (null == lb_Controls1Function.SelectedItem)
            {
                Wrapper.ShowDialog("方法名称1没有选择");
                return(false);
            }

            CtrlFuctionInfo cfi         = (lb_Controls1Function.SelectedItem as ListBoxItem).Tag as CtrlFuctionInfo;
            string          eventName   = string.Format("{0}", cfi.Name);
            string          controlName = string.Format("{0}", (lb_Controls1.SelectedItem as ListBoxItem).Content);

            var xml = IDesignFramework.GetCurrentXmlTemplate();

            if (null == xml.EventLinkItem)
            {
                xml.EventLinkItem = new List <EventLinkInfo>();
            }
            string _controlName = _GetControlName();
            //-->事件
            var eli = xml.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>();

            if (null == eli)
            {
                eli = new EventLinkInfo();
                xml.EventLinkItem.Add(eli);
            }
            eli.ControlName = _controlName;
            eli.EventName   = this.EventName;
            eli.Item        = new List <ControlActivityInfo>();
            //-->行为
            var cai = eli.Item.Where(p => p.ControlName.Equals(controlName) && p.EventName.Equals(eventName)).GetFirst <ControlActivityInfo>();

            if (null == cai)
            {
                cai = new ControlActivityInfo();
                eli.Item.Add(cai);
            }
            //-->保存操作。
            cai.ActivityName = this.ActivityName;
            cai.ActivityType = this.ActivityType;
            cai.ControlName  = controlName;
            cai.EventName    = eventName;
            cai.Description  = cfi.Description;
            cai.Param        = new List <ParamInfo>();
            foreach (var v in this.sp_Children.Children)
            {
                ParameterSelected select = v as ParameterSelected;
                if (null == select || null == select.ParamForamt)
                {
                    continue;
                }
                cai.Param.Add(select.ParamForamt);
            }
            IDesignFramework.UpdateCurrentTemplate();
            return(true);
        }
Example #3
0
        /// <summary>
        /// 弹出窗体
        /// </summary>
        /// <returns></returns>
        public bool CheckSave()
        {
            if (_PageGuid.IsNullOrEmpty())
            {
                Wrapper.ShowDialog("请选择要弹出的页面");
                return(false);
            }
            //-->判断是否是当前的页面?
            if (this.IDesignFramework.GetCurrentXmlTemplate().BaseInfo.PageGUID.Equals(_PageGuid))
            {
                Wrapper.ShowDialog("不能弹出当前页面,请选择其它弹出页面。");
                return(false);
            }

            string eventName    = string.Format("{0}", CurrentApiSelector.Name);
            string _controlName = string.Format("{0}", this.EventControlName);
            var    xml          = IDesignFramework.GetCurrentXmlTemplate();

            if (null == xml.EventLinkItem)
            {
                xml.EventLinkItem = new List <EventLinkInfo>();
            }
            //-->事件
            var eli = xml.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>();

            if (null == eli)
            {
                eli = new EventLinkInfo();
                xml.EventLinkItem.Add(eli);
            }
            eli.ControlName = _controlName;
            eli.EventName   = this.EventName;
            if (null == eli.Item)
            {
                eli.Item = new List <ControlActivityInfo>();
            }
            //-->行为
            var cai = eli.Item.Where(p => p.ControlName.Equals(_controlName) && p.EventName.Equals(eventName)).GetFirst <ControlActivityInfo>();

            if (null == cai)
            {
                cai = new ControlActivityInfo();
                eli.Item.Add(cai);
            }
            //-->保存操作。
            cai.ActivityName = this.ActivityName;
            cai.ActivityType = this.ActivityType;
            cai.ControlName  = _controlName;
            cai.EventName    = eventName;
            cai.Description  = "弹出窗体" + _PageGuid;
            cai.PageGuid     = _PageGuid;
            //-->参数,初始化弹出窗体的时候,要有参数

            IDesignFramework.UpdateCurrentTemplate();
            return(true);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool CheckSave()
        {
            string eventName    = string.Format("{0}", CurrentApiSelector.Name);
            string _controlName = string.Format("{0}", this.EventControlName);
            var    xml          = IDesignFramework.GetCurrentXmlTemplate();

            if (null == xml.EventLinkItem)
            {
                xml.EventLinkItem = new List <EventLinkInfo>();
            }
            //-->事件
            var eli = xml.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>();

            if (null == eli)
            {
                eli = new EventLinkInfo();
                xml.EventLinkItem.Add(eli);
            }
            eli.ControlName = _controlName;
            eli.EventName   = this.EventName;
            if (null == eli.Item)
            {
                eli.Item = new List <ControlActivityInfo>();
            }
            //-->行为
            var cai = eli.Item.Where(p => p.ControlName.Equals(_controlName) && p.EventName.Equals(eventName)).GetFirst <ControlActivityInfo>();

            if (null == cai)
            {
                cai = new ControlActivityInfo();
                eli.Item.Add(cai);
            }
            //-->保存操作。
            cai.ActivityName = this.ActivityName;
            cai.ActivityType = this.ActivityType;
            cai.ControlName  = _controlName;
            cai.EventName    = eventName;
            var _guid = this.IDesignFramework.GetCurrentXmlTemplate().BaseInfo.PageGUID;

            cai.Description = "关闭窗体" + _guid;
            cai.PageGuid    = _guid;
            //-->参数,初始化弹出窗体的时候,要有参数

            IDesignFramework.UpdateCurrentTemplate();
            return(true);
        }
Example #5
0
        void ApiGetPropertyValue_Loaded(object sender, RoutedEventArgs e)
        {
            string _controlName = EventControlName;

            if (EventControlName.Length > 4 && EventControlName.Substring(0, 4).Equals("Form") &&
                0 < EventControlName.Split('_').Length)
            {
                _controlName = EventControlName.Split('_')[0];
            }

            _CurrentControlEventInfo = _XmlTemplate_Source.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>();
            if (null != _CurrentControlEventInfo)
            {
                _CurrentControlEventIndex = _XmlTemplate_Source.EventLinkItem.IndexOf(_CurrentControlEventInfo);
                _CurrentActivityInfo      = _CurrentControlEventInfo.Item.Where(p => p.ActivityName == this.ActivityName).GetFirst <ControlActivityInfo>();
                if (null == _CurrentActivityInfo)
                {
                    _CurrentActivityInfo       = new ControlActivityInfo();
                    _CurrentActivityInfo.Param = new List <ParamInfo>();
                }
                else
                {
                    _CurrentActivityInfoIndex = _CurrentControlEventInfo.Item.IndexOf(_CurrentActivityInfo);
                    //--> init page info
                    //--> fill lb_result control;
                    foreach (var v in _CurrentActivityInfo.Param)
                    {
                        string _key = string.Format("{0}|{1}", v.TargetCtrlName, v.TargetFieldName);
                        _DictResult.Add(_key, v.TargetFieldType);
                    }
                    BindResultControl();
                }//End if;
            }
            else
            {
                _CurrentControlEventInfo             = new EventLinkInfo();
                _CurrentControlEventInfo.EventName   = this.EventName;
                _CurrentControlEventInfo.ControlName = _controlName;
                _CurrentControlEventInfo.Item        = new List <ControlActivityInfo>();

                _CurrentActivityInfo       = new ControlActivityInfo();
                _CurrentActivityInfo.Param = new List <ParamInfo>();
            }
        }
Example #6
0
        void InitParameter()
        {
            //-->获取出所有控件的方法来,来至两个地方,第一个接口,第二是控件自己的方法
            _XmlTemplate = IDesignFramework.GetCurrentXmlTemplate();
            string _controlName = Wrapper.ParseControlName(EventControlName);

            _CurrentControlEventInfo = _XmlTemplate.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>();
            if (null != _CurrentControlEventInfo)
            {
                _CurrentControlEventIndex = _XmlTemplate.EventLinkItem.IndexOf(_CurrentControlEventInfo);
                _CurrentActivityInfo      = _CurrentControlEventInfo.Item.Where(p => p.ActivityName == this.ActivityName).GetFirst <ControlActivityInfo>();
                if (null == _CurrentActivityInfo)
                {
                    _CurrentActivityInfo       = new ControlActivityInfo();
                    _CurrentActivityInfo.Param = new List <ParamInfo>();
                }
                else
                {
                    _CurrentActivityInfoIndex = _CurrentControlEventInfo.Item.IndexOf(_CurrentActivityInfo);
                    //-->1、初始化界面信息
                    if (null == _CurrentActivityInfo.Param || 0 == _CurrentActivityInfo.Param.Count)
                    {
                        _CurrentActivityInfo.Param = new List <ParamInfo>();
                        return;
                    }
                    //-->获取出是哪个控件。
                    ct.SetSelectionControl(_CurrentActivityInfo.ControlName);
                }//End if;
            }
            else
            {
                _CurrentControlEventInfo             = new EventLinkInfo();
                _CurrentControlEventInfo.EventName   = this.EventName;
                _CurrentControlEventInfo.ControlName = _controlName;
                _CurrentControlEventInfo.Item        = new List <ControlActivityInfo>();

                _CurrentActivityInfo       = new ControlActivityInfo();
                _CurrentActivityInfo.Param = new List <ParamInfo>();
            }
        }
        CtrlPlatformCommandInfo GetCtrlPlatformCommandInfo(ControlActivityInfo child, string controlName)
        {
            CtrlPlatformCommandInfo cmd = new CtrlPlatformCommandInfo();

            if (null == child.Param || 0 == child.Param.Count)
            {
                var ci  = GetControlInfoByControlName(controlName);
                var mdi = GetMetaDataInfoByTableName(ci.MetaData);
                if (null == mdi || null == mdi.Item || 0 == mdi.Item.Count || ci.ColumnName.IsNullOrEmpty())
                {
                    return(new CtrlPlatformCommandInfo());
                }
                var mdci = mdi.Item.Where(p => p.column_name.Equals(ci.ColumnName)).GetFirst <MetaDataColumnInfo>();

                MetaDataInfo _newCtrlMetaData = new MetaDataInfo();
                _newCtrlMetaData.table_type    = mdi.table_type;
                _newCtrlMetaData.table_name    = mdi.table_name;
                _newCtrlMetaData.table_comment = mdi.table_comment;
                _newCtrlMetaData.Item          = new List <MetaDataColumnInfo>();
                _newCtrlMetaData.Item.Add(mdci);

                cmd.MetaDataInfo = _newCtrlMetaData;
                cmd.ControlInfo  = ci;
            }
            else
            {
                cmd.MetaDataInfo      = new MetaDataInfo();
                cmd.MetaDataInfo.Item = new List <MetaDataColumnInfo>();
                //-->获取控件信息
                var ci = GetControlInfoByControlName(child.ControlName);
                Dictionary <String, CtrlPlatformCommandInfo> _DictCtrlParam = new Dictionary <string, CtrlPlatformCommandInfo>();
                foreach (var item in child.Param)
                {
                    var _newMdci = new MetaDataColumnInfo();
                    //-->表的名称
                    string tableName = item.OrgIsDataSource ? ci.ControlDataSourceTableName : ci.MetaData;
                    var    mdi       = GetMetaDataInfoByTableName(tableName);
                    //-->列的名称
                    string columnName = item.OrgFieldName;
                    //if (item.OrgIsDataSource &&
                    //    !item.OrgFieldName.Equals(ci.ColumnName) &&
                    //    ci.ColumnName.Split('|').Length == 1
                    //    )
                    //{
                    //    columnName = ci.ColumnName;
                    //}
                    var mdci = mdi.Item.Where(p => p.column_name.Equals(columnName)).GetFirst <MetaDataColumnInfo>();
                    if (null == mdci)
                    {
                        continue;
                    }
                    //--------------上面有问题----------
                    _newMdci = mdci.Clone <MetaDataColumnInfo>();

                    CtrlPlatformCommandInfo op = null;
                    if (!_DictCtrlParam.ContainsKey(item.TargetCtrlName))
                    {
                        var icc = this.FindControl(item.TargetCtrlName) as ICompositeCtrl;
                        if (null == icc)
                        {
                            continue;
                        }
                        op = icc.OutputParameter();
                        _DictCtrlParam.Add(item.TargetCtrlName, op);
                    }
                    else
                    {
                        op = _DictCtrlParam[item.TargetCtrlName];
                    }
                    if (null == op || null == op.MetaDataInfo || null == op.MetaDataInfo.Item || 0 == op.MetaDataInfo.Item.Count)
                    {
                        continue;
                    }
                    var _mdci = op.MetaDataInfo.Item.Where(p => p.column_name.IsNotEmpty() &&
                                                           p.column_name.ToLower().Equals(item.TargetFieldName.ToLower())
                                                           ).GetFirst <MetaDataColumnInfo>();
                    if (null == _mdci)
                    {
                        continue;
                    }
                    _newMdci.column_value  = _mdci.column_value;
                    _newMdci.table_comment = mdi.table_comment;
                    _newMdci.table_name    = mdi.table_name;
                    _newMdci.table_type    = mdi.table_type;
                    cmd.MetaDataInfo.Item.Add(_newMdci);
                }
                cmd.ControlInfo = ci;
            }
            return(cmd);
        }