コード例 #1
0
 public HomeController(WelcomeMessage welcome, IHttpContextAccessor httpContextAccessor)
 {
     this.welcome = welcome;
     if (httpContextAccessor.HttpContext.User.Identity.IsAuthenticated)
     {
         var id = httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
     }
     var options = new QueryAttribute().AllowedForProperty(typeof(string));
     var select  = QueryAttribute.QueryOptionsToEnum(options);
 }
コード例 #2
0
        public static Tuple <HtmlString, bool> FilterOperatorHtml(this Column col, int place, IStringLocalizer localizer, string selection, string selectCss = null, string displayCss = null)
        {
            if (col.FilterClauses == null || place >= col.FilterClauses.Length || place < 0)
            {
                return(Tuple.Create(new HtmlString(string.Empty), false));
            }
            if (displayCss == null)
            {
                displayCss = selectCss;
            }
            var  options  = col.FilterClauses[place];
            bool isBool   = false;
            bool isEnum   = false;
            bool isChoice = false;

            if ((col.ColumnConnection != null && !col.ColumnConnection.QueryDisplay) ||
                (isEnum = col.For.Metadata.IsEnum))
            {
                options  = options & (QueryOptions.Equal | QueryOptions.NotEqual);
                isChoice = col.ColumnConnection is ColumnConnectionInfosStatic;
            }
            else if (col.For.Metadata.UnderlyingOrModelType == typeof(bool))
            {
                isBool = true;
            }
            var selections = QueryAttribute.QueryOptionsToEnum(options);
            var name       = place.ToString(CultureInfo.InvariantCulture) + "." +
                             (col.ColumnConnection != null && col.ColumnConnection.QueryDisplay ?
                              col.ColumnConnection.DisplayProperty.Name :
                              col.For.Name) + ".Operator";

            if (selections.Count() == 1 && !isBool && !isEnum)
            {
                var res = selections.First();
                if (string.IsNullOrEmpty(displayCss))
                {
                    return(Tuple.Create(new HtmlString(string.Format("<span data-name ='{0}' data-value='{1}'>{2}</span>",
                                                                     name, HtmlEncoder.Default.Encode(res.Key), HtmlEncoder.Default.Encode(localizer == null ? res.Value :localizer[res.Value]))), true));
                }
                else
                {
                    return(Tuple.Create(new HtmlString(string.Format("<span data-name ='{0}' data-value='{1}' class='{3}'>{2}</span>",
                                                                     name, HtmlEncoder.Default.Encode(res.Key),
                                                                     HtmlEncoder.Default.Encode(localizer == null ? res.Value : localizer[res.Value]),
                                                                     displayCss)), true));
                }
            }
            StringBuilder sb = new StringBuilder();

            sb.Append("<select name ='");
            sb.Append(name);
            sb.Append("' ");
            if (!string.IsNullOrEmpty(selectCss))
            {
                sb.Append("class='");
                sb.Append(selectCss);
                sb.Append("' ");
            }
            sb.Append(">");
            if (isBool || isEnum || isChoice)
            {
                sb.Append("<option value=''>");
                sb.Append(HtmlEncoder.Default.Encode(localizer == null ? "none" : localizer["none"]));
                sb.Append("</option>");
            }
            foreach (var option in selections)
            {
                sb.Append("<option value='");
                sb.Append(HtmlEncoder.Default.Encode(option.Key));
                sb.Append("' ");
                if (option.Key == selection)
                {
                    sb.Append("selected ");
                }
                sb.Append(">");
                sb.Append(HtmlEncoder.Default.Encode(localizer == null ? option.Value : localizer[option.Value]));
                sb.Append("</option>");
            }
            sb.Append("</select>");
            return(Tuple.Create(new HtmlString(sb.ToString()), false));
        }