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