/// <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)); }
/// <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); }
/// <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)); }
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); }
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); }
/// <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); }
/// <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>); }
/// <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())); }
/// <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)); }
/// <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())); }
/// <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); }