コード例 #1
0
        /// <summary>
        /// 生成一个xml文件
        /// </summary>
        /// <param name="e"></param>
        void BuilderXml(PageDirectorySub e)
        {
            _XmlTemplate.BaseInfo.PageName = e.PageName;
            _XmlTemplate.BaseInfo.PageGUID = e.PageGuid;

            this.Xml_Template = _XmlTemplate.ParseXml().ToString();
        }
コード例 #2
0
        /// <summary>
        /// 判断页面是否打开
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        bool JudgePageIsOpen(OpenPageInfoEventArgs e)
        {
            bool isOpen = false;

            foreach (var v in this.tcCollection.Items)
            {
                TabItem ti = v as TabItem;
                if (null == ti)
                {
                    continue;
                }
                PageDirectorySub pds = ti.Tag as PageDirectorySub;
                if (null == pds)
                {
                    continue;
                }
                if (pds.ID.Equals(e.PageDirectorySub.ID))
                {
                    ti.IsSelected = true;
                    isOpen        = true;
                    break;
                }
            }
            return(isOpen);
        }
コード例 #3
0
        /// <summary>
        /// 修改操作
        /// </summary>
        /// <param name="name"></param>
        void ModifyOperator(string name)
        {
            TreeViewItem item = this.tvPageManager.SelectedItem as TreeViewItem;
            var          cmd  = new CtrlPlatformCommandInfo();

            cmd.CommandName = ConstantCollection.CommandName_MixedCommand;
            cmd.ExecSql     = new List <CtrlExecSQLCmd>();
            Dictionary <String, Object> dict = new Dictionary <string, Object>();

            if (item.Tag is PageDirectory)
            {
                PageDirectory pd = item.Tag as PageDirectory;
                pd.NodeName = name;
                //-->修改当前选中目录
                string sql  = string.Format("update PageDirectory  set NodeName = '{0}' where ID = {1}", pd.NodeName, pd.ID);
                var    exec = new CtrlExecSQLCmd(CtrlExecSqlCmdType.ExecuteNonQuery, sql, "PageDirectory", this.Name, "ModifyOperator");
                cmd.ExecSql.Add(exec);

                cmd.TempValue = Wrapper.SetXmlValue("PageDirectory", "ModifyOperator",
                                                    new KeyValuePair <String, Object>[]
                {
                    new KeyValuePair <String, Object>("IsDirectory", true),
                    new KeyValuePair <String, Object>("ControlName", item.Name),
                    new KeyValuePair <String, Object>("ID", pd.ID),
                    new KeyValuePair <String, Object>("NewValue", name)
                });
            }
            else if (item.Tag is PageDirectorySub)
            {
                //-->修改当前选中的页面
                PageDirectorySub pds = item.Tag as PageDirectorySub;
                pds.PageName = name;
                string sql = string.Format("update PageDirectorySub set PageName = '{0}' where id = {1}", pds.PageName, pds.ID);

                var exec = new CtrlExecSQLCmd(CtrlExecSqlCmdType.ExecuteNonQuery, sql, "PageDirectorySub", this.Name, "ModifyOperator");
                cmd.ExecSql.Add(exec);

                dict.Add("IsDirectory", false);
                dict.Add("ID", pds.ID);
                cmd.TempValue = Wrapper.SetXmlValue("PageDirectorySub", "ModifyOperator",
                                                    new KeyValuePair <String, Object>[]
                {
                    new KeyValuePair <String, Object>("IsDirectory", false),
                    new KeyValuePair <String, Object>("ControlName", item.Name),
                    new KeyValuePair <String, Object>("ID", pds.ID),
                    new KeyValuePair <String, Object>("NewValue", name)
                });
            }
            this.SendToService(cmd, this);
        }
コード例 #4
0
        /// <summary>
        /// 删除操作
        /// </summary>
        /// <param name="name"></param>
        void DeleteOperator(string name)
        {
            TreeViewItem item = this.tvPageManager.SelectedItem as TreeViewItem;
            var          cmd  = new CtrlPlatformCommandInfo();

            cmd.CommandName = ConstantCollection.CommandName_MixedCommand;
            cmd.ExecSql     = new List <CtrlExecSQLCmd>();

            if (item.Tag is PageDirectory)
            {
                //-->判断是否还有子项
                //-->有子项不让其删除
                if (0 < item.Items.Count)
                {
                    Wrapper.ShowDialog("此目录下还有子项,请先删除子项");
                    return;
                }
                PageDirectory pd = item.Tag as PageDirectory;
                //-->删除当前选中目录
                string sql = string.Format("delete from PageDirectory where ID = {0}", pd.ID);
                //cmd.SqlSentence.Add(sql);

                var exec = new CtrlExecSQLCmd(CtrlExecSqlCmdType.ExecuteNonQuery, sql, "PageDirectory", this.Name, "DeleteOperator");
                cmd.ExecSql.Add(exec);

                cmd.TempValue = Wrapper.SetXmlValue("PageDirectory", "DeleteOperator",
                                                    new KeyValuePair <String, Object>[]
                {
                    new KeyValuePair <String, Object>("ControlName", item.Name)
                });
            }
            else if (item.Tag is PageDirectorySub)
            {
                //-->删除当前选中的页面
                PageDirectorySub pds = item.Tag as PageDirectorySub;
                string           sql = string.Format("delete from PageDirectorySub where ID= '{0}'", pds.ID);

                var exec = new CtrlExecSQLCmd(CtrlExecSqlCmdType.ExecuteNonQuery, sql, "PageDirectorySub", this.Name, "DeleteOperator");
                cmd.ExecSql.Add(exec);

                cmd.TempValue = Wrapper.SetXmlValue("PageDirectorySub", "DeleteOperator",
                                                    new KeyValuePair <String, Object>[]
                {
                    new KeyValuePair <String, Object>("ControlName", item.Name)
                });
            }
            this.SendToService(cmd, this);
        }
コード例 #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="cmd"></param>
        public void ProcessAddPage(CtrlPlatformCommandInfo cmd)
        {
            //-->判断是否有成功
            if (!cmd.ExecuteNonQueryResult.IsNullOrEmpty())
            {
                Wrapper.ShowDialog("失败:" + cmd.ErrorMessage);
                return;
            }
            string       controlName = cmd.TempValue.GetAttributeValue("ControlName");
            TreeViewItem item        = tvPageManager.FindName(controlName) as TreeViewItem;

            if (null == item)
            {
                return;
            }
            //-->成功
            PageDirectorySub pds = Wrapper.ConvertToModel <PageDirectorySub>(cmd.ExecSql[1].Result);

            if (null == pds)
            {
                return;
            }
            TreeViewItem tvi = new TreeViewItem();

            tvi.Name   = string.Format("tvi_{0}_{1}", pds.PageDirectoryId, pds.ID);
            tvi.Header = pds.PageName;
            if (!pds.PageContent.IsNullOrEmpty())
            {
                string[] strBuffer = pds.PageContent.Split(' ');
                int      count     = strBuffer.Length;
                byte[]   buffer    = new byte[count];
                for (int i = 0; i < count; i++)
                {
                    buffer[i] = byte.Parse(strBuffer[i]);
                }
                string content = Encoding.UTF8.GetString(buffer, 0, count);
                pds.PageContent = content;
            }
            tvi.Tag        = pds;
            tvi.Expanded  += tvi_Expanded;
            tvi.Collapsed += tvi_Expanded;
            item.Items.Add(tvi);
            var e = new OpenPageInfoEventArgs();

            e.PageDirectorySub = pds;
            _OpenPageInfoMethod(this, e);
        }
コード例 #6
0
        /// <summary>
        /// 增加页面
        /// </summary>
        /// <param name="name"></param>
        void AddPage(string name)
        {
            TreeViewItem item = this.tvPageManager.SelectedItem as TreeViewItem;

            if (null == item)
            {
                Wrapper.ShowDialog("请选择目录");
                return;
            }
            PageDirectory pd = item.Tag as PageDirectory;

            if (null == pd)
            {
                Wrapper.ShowDialog("请选择目录");
                return;
            }
            var cmd = new CtrlPlatformCommandInfo();

            cmd.CommandName = ConstantCollection.CommandName_MixedCommand;
            cmd.ExecSql     = new List <CtrlExecSQLCmd>();

            PageDirectorySub sds = new PageDirectorySub();

            sds.PageDirectoryId = pd.ID;
            sds.PageName        = name;
            sds.PageGuid        = Wrapper.GuidValue;

            string sql = string.Format("insert into PageDirectorySub(PageDirectoryId,PageGuid,PageName,CreateDate)values(");

            sql += string.Format("{0},", sds.PageDirectoryId);
            sql += string.Format("'{0}',", sds.PageGuid);
            sql += string.Format("'{0}',", sds.PageName);
            sql += string.Format("NOW())");
            var exec = new CtrlExecSQLCmd(CtrlExecSqlCmdType.ExecuteNonQuery, sql, "PageDirectorySub", this.Name, "AddPage");

            cmd.ExecSql.Add(exec);
            sql  = string.Format("select * from PageDirectorySub t where t.PageGuid = '{0}'", sds.PageGuid);
            exec = new CtrlExecSQLCmd(CtrlExecSqlCmdType.Query, sql, "PageDirectorySub", this.Name, "AddPage");
            cmd.ExecSql.Add(exec);
            cmd.ParamCollection = sds.ToXElement();
            cmd.TempValue       = Wrapper.SetXmlValue("AddPage", "AddPage",
                                                      new KeyValuePair <String, Object>[] {
                new  KeyValuePair <String, Object>("ParentID", pd.ID),
                new KeyValuePair <String, Object>("ControlName", item.Name)
            });
            this.SendToService(cmd, this);
        }
コード例 #7
0
        /// <summary>
        /// 获取保存SQL语句
        /// </summary>
        /// <param name="pwa"></param>
        /// <param name="saveContent"></param>
        /// <returns></returns>
        String SavePageSqlSentence(PageWorkArea pwa, ref string saveContent)
        {
            string           xaml = pwa.PageXaml;
            string           xml  = pwa.PageXml;
            PageDirectorySub pds  = pwa.PageInfo;

            XElement _xe_xaml = xaml.IsNullOrEmpty() ? null : new XElement("xaml", XElement.Parse(xaml));
            XElement _xe_xml  = xml.IsNullOrEmpty() ? null : new XElement("xml", XElement.Parse(xml));

            saveContent = string.Format("<PageSchema>\r\n{0}\r\n{1}\r\n</PageSchema>", _xe_xaml, _xe_xml);

            string sql = string.Format("update PageDirectorySub set ");

            sql += string.Format(" PageContent = ?PageContent");
            sql += string.Format(" where ID = {0}", pds.ID);
            return(sql);
        }
コード例 #8
0
 void OpenNewPage(PageDirectorySub child)
 {
     if (dictTabItem.ContainsKey(child.PageGuid))
     {
         var ti = dictTabItem[child.PageGuid];
         ti.IsSelected = true;
     }
     else
     {
         RuntimePage rp = new RuntimePage();
         rp.PageInfo            = child;
         rp.IRuntimePageManager = this as IRuntimeManagerPage;
         TabItem ti = new TabItem();
         ti.IsSelected = true;
         ti.Content    = rp;
         ti.Header     = child.PageName;
         dictTabItem.Add(child.PageGuid, ti);
         this.tc_Manager.Items.Add(ti);
         rp.Redraw();
     }
 }
コード例 #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="node"></param>
 public OpenPageInfoEventArgs(PageDirectorySub node)
 {
     this.PageDirectorySub = node;
 }
コード例 #10
0
 /// <summary>
 ///
 /// </summary>
 public OpenPageInfoEventArgs()
     : this(null)
 {
     this.PageDirectorySub = null;
 }