Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="html"></param>
        /// <param name="action"></param>
        /// <param name="controller"></param>
        /// <returns></returns>
        public static UiViewViewModel GetRuntimeUivIew(this HtmlHelper html, string action, string controller)
        {
            var          acDomain = html.CurrentHost();
            CatalogState resource;

            if (!acDomain.CatalogSet.TryGetCatalog(acDomain.AppSystemSet.SelfAppSystem.Code + "." + controller, out resource))
            {
                return(new UiViewViewModel(UiViewState.Empty, "未知页面"));
            }
            FunctionState function;

            if (!acDomain.FunctionSet.TryGetFunction(resource, action, out function))
            {
                return(new UiViewViewModel(UiViewState.Empty, "未知页面"));
            }
            UiViewState page;

            if (!acDomain.UiViewSet.TryGetUiView(function, out page))
            {
                return(new UiViewViewModel(UiViewState.Empty, "未知页面"));
            }
            string title = function.Description;

            return(new UiViewViewModel(page, title));
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="html"></param>
        /// <param name="uiView"></param>
        /// <returns></returns>
        public static IHtmlString Qtip(this HtmlHelper html, UiViewState uiView)
        {
            IHtmlString result = MvcHtmlString.Empty;

            if (uiView == UiViewState.Empty)
            {
                return(result);
            }
            if (uiView != null && (!string.IsNullOrEmpty(uiView.Tooltip) || GetAcSession().IsDeveloper()))
            {
                var           urlHelper = new UrlHelper(html.ViewContext.RequestContext, html.RouteCollection);
                var           href      = urlHelper.Action("Tooltip", "UiView", new { area = "Ac", uiViewId = uiView.Id });
                var           s         = "<a class='tooltip pageTooltip' tabIndex='-1' href='{0}' rel='{0}' title='{1}'><b>?</b></a>";
                FunctionState function;
                html.CurrentHost().FunctionSet.TryGetFunction(uiView.Id, out function);
                string title = "未知页面";
                if (!function.Equals(FunctionState.Empty))
                {
                    title = function.Description;
                }
                result = html.Raw(string.Format(s, href, title));
            }

            return(result);
        }
Example #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="html"></param>
        /// <param name="dicCode"></param>
        /// <param name="prifix"></param>
        /// <returns></returns>
        private static IHtmlString DicItemJsonArray(HtmlHelper html, string dicCode, string prifix = "anycmd.")
        {
            var value = "[]";
            var sb    = new StringBuilder();

            sb.Append("[");
            int l        = sb.Length;
            var code1    = prifix + dicCode;
            var dicItems = html.CurrentHost().CatalogSet.Where(a => a.Code.StartsWith(code1, StringComparison.OrdinalIgnoreCase) && !a.Code.Equals(code1, StringComparison.OrdinalIgnoreCase));

            foreach (var item in dicItems)
            {
                var code = item.Code;
                if (sb.Length > l)
                {
                    sb.Append(",");
                }
                if (code1.Equals("anycmd.YesOrNoBoolean", StringComparison.OrdinalIgnoreCase))
                {
                    code = item.Code.Substring("anycmd.YesOrNoBoolean.".Length);
                }
                else if (code1.Equals("anycmd.YesOrNoNumber", StringComparison.OrdinalIgnoreCase))
                {
                    code = item.Code.Substring("anycmd.YesOrNoNumber.".Length);
                }
                sb.Append("{'code':").Append("'").Append(code).Append("'")
                .Append(",'name':'").Append(item.Name).Append(" | ").Append(item.Code).Append("'}");
            }
            sb.Append("]");
            value = sb.ToString();

            return(html.Raw(value));
        }
Example #4
0
        public static EntityTypeState GetEntityType(this HtmlHelper html, string codespace, string entityTypeCode)
        {
            EntityTypeState entityType;

            if (!html.CurrentHost().EntityTypeSet.TryGetEntityType(new Coder(codespace, entityTypeCode), out entityType))
            {
                throw new AnycmdException(string.Format("意外的实体类型码{0}.{1}", codespace, entityTypeCode));
            }
            return(entityType);
        }
Example #5
0
        public static FunctionState GetFunction(this HtmlHelper html, Guid functionId)
        {
            FunctionState function;

            if (!html.CurrentHost().FunctionSet.TryGetFunction(functionId, out function))
            {
                throw new AnycmdException("意外的按钮功能标识" + functionId);
            }
            return(function);
        }
Example #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="html"></param>
        /// <param name="property"></param>
        /// <param name="joint"></param>
        /// <returns></returns>
        public static IHtmlString IconLabel(this HtmlHelper html, PropertyState property, bool joint = false)
        {
            IHtmlString result       = null;
            var         propertyName = property.Name;

            if (joint)
            {
                EntityTypeState entityType;
                html.CurrentHost().EntityTypeSet.TryGetEntityType(property.EntityTypeId, out entityType);
                propertyName = entityType.Name + propertyName;
            }
            result = string.IsNullOrEmpty(property.Icon) ? html.Raw(string.Format("<label>{0}</label>", property.Name)) : html.Raw(string.Format("<img src='/content/icons/16x16/{0}' /><label>{1}</label>", property.Icon, propertyName));

            return(result);
        }
Example #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="html"></param>
        /// <param name="codespace"></param>
        /// <param name="entityTypeCode"></param>
        /// <returns></returns>
        public static IReadOnlyDictionary <string, PropertyState> GetPropertyDic(this HtmlHelper html, string entityTypeCode, string codespace)
        {
            var key = string.Format(FieldDic, codespace, entityTypeCode);
            var obj = html.ViewData[key];

            if (obj == null)
            {
                var             acDomain = html.CurrentHost();
                EntityTypeState entityType;
                if (!acDomain.EntityTypeSet.TryGetEntityType(new Coder(codespace, entityTypeCode), out entityType))
                {
                    throw new AnycmdException("意外的实体类型" + codespace + entityTypeCode);
                }
                var propertyDic = acDomain.EntityTypeSet.GetProperties(entityType);
                html.ViewData.Add(key, propertyDic);

                return(propertyDic);
            }

            return(obj as IReadOnlyDictionary <string, PropertyState>);
        }
Example #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="html"></param>
        /// <returns></returns>
        public static IHtmlString DatabaseJsonArray(this HtmlHelper html)
        {
            var sb = new StringBuilder();

            sb.Append("[");
            int l = sb.Length;

            foreach (var item in html.CurrentHost().Rdbs)
            {
                if (sb.Length > l)
                {
                    sb.Append(",");
                }
                sb.Append("{")
                .Append("'id':").Append("'").Append(item.Database.Id).Append("'")
                .Append(",'catalogName':").Append("'").Append(item.Database.CatalogName).Append("'");
                sb.Append("}");
            }
            sb.Append("]");

            return(html.Raw(sb.ToString()));
        }
Example #9
0
        /// <summary>
        /// <code>
        /// {
        ///     'id':'DCA0E037-D4AE-4A4E-B987-06240353574B',
        ///     'code':'rdbmsType',
        ///     'name':'rdbmsType'
        /// }
        /// </code>
        /// </summary>
        /// <param name="html"></param>
        /// <returns></returns>
        public static IHtmlString DicJsonArray(this HtmlHelper html)
        {
            var value = "[]";
            var sb    = new StringBuilder();

            sb.Append("[");
            int l = sb.Length;

            foreach (var item in html.CurrentHost().CatalogSet.Where(a => a.CategoryCode == "anycmd.catalog.Category.dic").OrderBy(a => a.SortCode))
            {
                if (sb.Length > l)
                {
                    sb.Append(",");
                }
                sb.Append("{'id':").Append("'").Append(item.Id).Append("'")
                .Append(",'code':").Append("'").Append(item.Code).Append("'")
                .Append(",'name':'").Append(item.Code).Append(" | ").Append(item.Name).Append("'}");
            }
            sb.Append("]");
            value = sb.ToString();

            return(html.Raw(value));
        }
Example #10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="html"></param>
        /// <returns></returns>
        public static IHtmlString DeveloperJsonArray(this HtmlHelper html)
        {
            var sb = new StringBuilder();

            sb.Append("[");
            int l = sb.Length;

            foreach (var item in html.CurrentHost().SysUserSet.GetDevAccounts())
            {
                if (sb.Length > l)
                {
                    sb.Append(",");
                }
                sb.Append("{")
                .Append("'id':").Append("'").Append(item.Id).Append("'")
                .Append(",'code':").Append("'").Append(item.LoginName).Append("'")
                .Append(",'name':").Append("'").Append(item.LoginName).Append("'");
                sb.Append("}");
            }
            sb.Append("]");

            return(html.Raw(sb.ToString()));
        }
Example #11
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="html"></param>
        /// <param name="dicCode"></param>
        /// <param name="prifix"></param>
        /// <returns></returns>
        private static IHtmlString DicItemJsonArray(HtmlHelper html, string dicCode, string prifix = "anycmd.")
        {
            var value = "[]";
            var sb = new StringBuilder();
            sb.Append("[");
            int l = sb.Length;
            var code1 = prifix + dicCode;
            var dicItems = html.CurrentHost().CatalogSet.Where(a => a.Code.StartsWith(code1, StringComparison.OrdinalIgnoreCase) && !a.Code.Equals(code1, StringComparison.OrdinalIgnoreCase));
            foreach (var item in dicItems)
            {
                var code = item.Code;
                if (sb.Length > l)
                {
                    sb.Append(",");
                }
                if (code1.Equals("anycmd.YesOrNoBoolean", StringComparison.OrdinalIgnoreCase))
                {
                    code = item.Code.Substring("anycmd.YesOrNoBoolean.".Length);
                }
                else if (code1.Equals("anycmd.YesOrNoNumber", StringComparison.OrdinalIgnoreCase))
                {
                    code = item.Code.Substring("anycmd.YesOrNoNumber.".Length);
                }
                sb.Append("{'code':").Append("'").Append(code).Append("'")
                    .Append(",'name':'").Append(item.Name).Append(" | ").Append(item.Code).Append("'}");
            }
            sb.Append("]");
            value = sb.ToString();

            return html.Raw(value);
        }