public OptionSetModel <int> EnumToOption(Enum eOption) { var option = new OptionSetModel <int>(); option.Value = Convert.ToInt32(eOption); option.Label = eOption.ToDescription(); return(option); }
public List <OptionSetModel <int> > EnumToOptionSetList <T>() { var lista = new List <OptionSetModel <int> >(); foreach (var item in Enum.GetValues(typeof(T))) { var option = new OptionSetModel <int>(); option.Value = (int)item; option.Label = (item as Enum).ToDescription(); lista.Add(option); } return(lista); }
/// <summary> /// Builds the option set. /// </summary> /// <param name="optionSetModel">The option set model.</param> public void BuildOptionSet(OptionSetModel optionSetModel) { var compileUnit = new CodeCompileUnit(); var codeNamespace = new CodeNamespace(optionSetModel.Namespace); compileUnit.Namespaces.Add(codeNamespace); var enumType = new CodeTypeDeclaration(optionSetModel.OptionSetName) { IsEnum = true }; AddSummaryComment(enumType, optionSetModel.Description); foreach (var optionSetValueModel in optionSetModel.Values) { var f = new CodeMemberField { Name = optionSetValueModel.Name, InitExpression = new CodePrimitiveExpression(optionSetValueModel.Value) }; AddSummaryComment(f, optionSetValueModel.Description); enumType.Members.Add(f); } var provider = CodeDomProvider.CreateProvider("cs"); codeNamespace.Types.Add(enumType); using (var sourceFile = new StreamWriter(CreatePath($"{optionSetModel.OptionSetName}.cs"))) { provider.GenerateCodeFromCompileUnit(compileUnit, sourceFile, null); } }
public IActionResult Index(OptionSetModel model) { if (!model.LoadData) { return(DynamicResult(model)); } FilterContainer <Schema.Domain.OptionSet> filter = FilterContainerBuilder.Build <Schema.Domain.OptionSet>(); filter.And(n => n.IsPublic == true); if (model.Name.IsNotEmpty()) { filter.And(n => n.Name.Like(model.Name)); } if (model.GetAll) { model.Page = 1; model.PageSize = WebContext.PlatformSettings.MaxFetchRecords; } else if (!model.PageSizeBySeted && CurrentUser.UserSettings.PagingLimit > 0) { model.PageSize = CurrentUser.UserSettings.PagingLimit; } model.PageSize = model.PageSize > WebContext.PlatformSettings.MaxFetchRecords ? WebContext.PlatformSettings.MaxFetchRecords : model.PageSize; PagedList <Schema.Domain.OptionSet> result = _optionSetFinder.QueryPaged(x => x .Page(model.Page, model.PageSize) .Where(filter) .Sort(n => n.OnFile(model.SortBy).ByDirection(model.SortDirection)) , SolutionId.Value, true); model.Items = result.Items; model.TotalItems = result.TotalItems; model.SolutionId = SolutionId.Value; return(DynamicResult(model)); }