/// <summary> /// 添加调度 /// </summary> /// <param name="services"></param> //public static IFapBuilder AddFapScheduler(this IFapBuilder builder) //{ // //任务调度 // builder.Services.AddSingleton<ISchedulerService, SchedulerService>(); // return builder; //} public static void BuilderMultiLanguageJsFile(this IApplicationBuilder app) { //初始化多语言js文件 IMultiLangService multiLang = app.ApplicationServices.GetService <IMultiLangService>(); multiLang.CreateMultilanguageJsFile(); }
public XEditableForm(IFapApplicationContext applicationContext, IDbContext dataAccessor, IMultiLangService multiLangService, IRbacService rbacService) : base("") { _dbContext = dataAccessor; _applicationContext = applicationContext; _multiLangService = multiLangService; _rbacService = rbacService; }
public RbacService(IDbContext dbContext, IFapPlatformDomain platformDomain, IFapApplicationContext applicationContext, IMultiLangService multiLangService) { _dbContext = dbContext; _platformDomain = platformDomain; _applicationContext = applicationContext; _multiLangService = multiLangService; }
public FapXeditformTagHelper(IDbContext dataAccessor, ILoggerFactory logger, IFapApplicationContext applicationContext, IMultiLangService multiLang, IRbacService rbacService) { _dataAccessor = dataAccessor; _logger = logger.CreateLogger <FapXeditformTagHelper>(); _applicationContext = applicationContext; _multiLang = multiLang; _rbacService = rbacService; }
public ManageService(IRbacService rbacService, IDbContext dbContext, IFapConfigService configService, IFapApplicationContext applicationContext, IFapPlatformDomain platformDomain, IMultiLangService multiLangService) { _rbacService = rbacService; _dbContext = dbContext; _configService = configService; _applicationContext = applicationContext; _platformDomain = platformDomain; _multiLangService = multiLangService; }
public MenusViewComponent(IFapPlatformDomain appDomain, IDbContext dataAccessor, IFapApplicationContext applicationContext, IRbacService rbacService, IMultiLangService multiLangService, ILogger <MenusViewComponent> logger) { _appDomain = appDomain; _dataAccessor = dataAccessor; _applicationContext = applicationContext; _rbacService = rbacService; _multiLangService = multiLangService; _logger = logger; }
public BaseForm(IServiceProvider serviceProvider, string id, FormStatus formStatus = FormStatus.Add) : base("") { _dbContext = serviceProvider.GetService <IDbContext>(); _formStatus = formStatus; _multiLangService = serviceProvider.GetService <IMultiLangService>(); _rbacService = serviceProvider.GetService <IRbacService>();; _applicationContext = serviceProvider.GetService <IFapApplicationContext>(); _serviceProvider = serviceProvider; FormId = id; }
public FapGridTagHelper(IDbContext dataAccessor, ILoggerFactory logger, IFapApplicationContext applicationContext, IMultiLangService multiLang, IRbacService rbacService) { _dbContext = dataAccessor; //_fapOption = fapOption; _loggerFactory = logger; _logger = logger.CreateLogger <FapGridTagHelper>(); _applicationContext = applicationContext; _multiLang = multiLang; _rbacService = rbacService; }
public BaseForm(IServiceProvider serviceProvider, string id, FormStatus formStatus = FormStatus.Add) : base("") { _dbContext = serviceProvider.GetService <IDbContext>(); _formStatus = formStatus; _multiLangService = serviceProvider.GetService <IMultiLangService>(); _rbacService = serviceProvider.GetService <IRbacService>();; _applicationContext = serviceProvider.GetService <IFapApplicationContext>(); _serviceProvider = serviceProvider; _env = serviceProvider.GetService <IWebHostEnvironment>(); _logger = serviceProvider.GetService <ILogger <BaseForm> >(); FormId = id; }
public static string Description(this Enum value, IMultiLangService multiLangService = null) { FieldInfo field = value.GetType().GetField(value.ToString()); DescriptionAttribute attribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute; string desc = attribute == null?value.ToString() : attribute.Description; if (multiLangService != null) { desc = multiLangService.GetOrAndMultiLangValue(MultiLanguageOriginEnum.Enum, $"enum_{value.ToString()}", desc); } return(desc); }
public static IEnumerable <EnumItem> EnumItems(this Type tEnum, IMultiLangService multiLangService = null) { if (tEnum.IsEnum) { return(Enum.GetValues(tEnum).OfType <Enum>() .Select(x => new EnumItem { Key = Convert.ToInt32(x), Value = x.ToString(), Description = x.Description(multiLangService) })); } else { return(null); } }
public GridFormService( IFapApplicationContext fapApplicationContext, ILogger <GridFormService> logger, IOfficeService officeService, IDbContext dbContext, IRbacService rbacService, IAntiforgery antiforgery, IMemoryCache memoryCache, IMultiLangService multiLangService) { _dbContext = dbContext; _applicationContext = fapApplicationContext; _rbacService = rbacService; _antiforgery = antiforgery; _officeService = officeService; _logger = logger; _memoryCache = memoryCache; _multiLangService = multiLangService; }
public FapMultilangTagHelper(IMultiLangService multiLangService) { _multiLangService = multiLangService; }
public FapTreeButtonTagHelper(IRbacService rbacService, IFapApplicationContext applicationContext, IMultiLangService multiLangService) { _rbacService = rbacService; _multiLangService = multiLangService; _applicationContext = applicationContext; }
/// <summary> /// /// </summary> /// <param name="fapColumn"></param> /// <param name="disCols">手动设置可见的字段,默认可能为不可见</param> /// <param name="hideCols">要隐藏的字段</param> /// <returns></returns> public static Column ToColumn(this FapColumn fapColumn, IMultiLangService multiLang, IDbContext dbContext) { //判断是否为隐藏。当disCols不包含且 ShowAble==0 bool hideAble = fapColumn.ShowAble == 0; string colName = fapColumn.ColName; //if (colName.EndsWith("MC") && fapColumn.CtrlType == FapColumn.CTRL_TYPE_REFERENCE) //{ // colName = colName.Substring(0, colName.Length - 2); //} //如果是参照字段,隐藏之,显示MC字段 //if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_REFERENCE && !hideAble && fapColumn.IsCustomColumn == 0) //{ // hideAble = true; //} string columnName = fapColumn.ColName; if (fapColumn.IsMultiLang == 1) { string langName = multiLang.CurrentLanguageName; if (langName != MultiLanguageEnum.ZhCn.ToString()) { columnName += langName; } } //fapColumn.CtrlType Column col = new Column(fapColumn); string label = multiLang.GetMultiLangValue(MultiLanguageOriginEnum.FapColumn, $"{fapColumn.TableName}_{fapColumn.ColName}"); col.SetLabel(label); col.SetKey(fapColumn.ColType == FapColumn.COL_TYPE_PK); col.SetWidth(fapColumn.DisplayWidth); col.SetHidden(hideAble).SetHidelg(hideAble).SetColmenu(true); col.SetEditable(fapColumn.EditAble == 1); //编辑规则 EditRules editRules = new EditRules(); col.SetEditRules(editRules); if (fapColumn.NullAble == 0) { editRules.Required = true; } if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_CHECKBOX) { col.SetFormatter(Enums.Formatters.Checkbox); //编辑设置 col.SetEditType(Enums.EditType.Checkbox); EditOptions eo = new EditOptions() { Value = "1:0" }; col.SetEditOptions(eo); //查询设置 col.SetSearchType(Enums.Searchtype.Select); col.SetSearchOption(Enums.SearchOptions.Equal); col.SetSearchOption(Enums.SearchOptions.NotEqual); IDictionary <string, string> searchTerms = new Dictionary <string, string>(); searchTerms.Add("1", "是"); searchTerms.Add("0", "否"); col.SetSearchTerms(searchTerms); //默认ACE样式函数 //col.SetUnFormat("aceSwitch"); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_COMBOBOX) { if (fapColumn.MultiAble == 1) { col.SetCustomFormatter("formatCheckboxList"); col.SetUnFormat("unformatCheckboxList"); } else { col.SetFormatter(Enums.Formatters.Select); //编辑设置 col.SetEditType(Enums.EditType.Select); IEnumerable <FapDict> list = dbContext.Dictionarys(fapColumn.ComboxSource); if (list != null && list.Any()) { string codeValues = string.Join(";", list.Select(c => c.Code + ":" + c.Name).ToList()); EditOptions eo = new EditOptions() { Value = codeValues }; //" getCodeData('" + fapColumn.RefTable + "')"}; col.SetEditOptions(eo); //查询设置 col.SetSearchType(Enums.Searchtype.Select); col.SetSearchOption(Enums.SearchOptions.Equal); col.SetSearchOption(Enums.SearchOptions.NotEqual); IDictionary <string, string> searchTerms = new Dictionary <string, string>(); foreach (var item in list) { searchTerms.Add(item.Code, item.Name); } col.SetSearchTerms(searchTerms); } } } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_CHECKBOXLIST) { col.SetCustomFormatter("formatCheckboxList"); col.SetUnFormat("unformatCheckboxList"); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_DATE || fapColumn.CtrlType == FapColumn.CTRL_TYPE_DATETIME) { string fmt = fapColumn.DisplayFormat; col.SetEditType(Enums.EditType.Text); EditOptions editoptions = new EditOptions(); col.SetEditOptions(editoptions); if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_DATE) { if (fmt.EqualsWithIgnoreCase("yyyy")) { fmt = "Y"; } else if (fmt.EqualsWithIgnoreCase("yyyy-mm")) { fmt = "Y-m"; } else { fmt = "Y-m-d"; } col.SetFormatter(Enums.Formatters.Date, "srcformat:\"" + fmt + "\",newformat:\"" + fmt + "\""); //查询设置 col.SetSearchType(Enums.Searchtype.Datepicker); } else { if (fmt.IsPresent() && fmt.EqualsWithIgnoreCase("HH:mm")) { fmt = "H:i"; } else { fmt = "Y-m-d H:i:s"; } col.SetFormatter(Enums.Formatters.Date, "srcformat:\"" + fmt + "\",newformat:\"" + fmt + "\""); //查询设置 col.SetSearchType(Enums.Searchtype.Datetimepicker); } //编辑设置 editoptions.DataInit = @"function (element) { $(element).datepicker({ id: '" + fapColumn.ColName + @"_datePicker', dateFormat: '" + fmt + @"', //minDate: new Date(2010, 0, 1), maxDate: new Date(2030, 0, 1), showOn: 'focus' }); }"; //默认ACE样式函数 //col.SetUnFormat("pickDate"); //col.SetDataInit("initDateSearch"); col.SetSearchDateFormat(fapColumn.DisplayFormat); col.SetSearchOption(Enums.SearchOptions.Equal); col.SetSearchOption(Enums.SearchOptions.NotEqual); col.SetSearchOption(Enums.SearchOptions.Greater); col.SetSearchOption(Enums.SearchOptions.GreaterOrEqual); col.SetSearchOption(Enums.SearchOptions.Less); col.SetSearchOption(Enums.SearchOptions.LessOrEqual); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_DOUBLE || fapColumn.CtrlType == FapColumn.CTRL_TYPE_MONEY) { SetEditRulesNumber(fapColumn, editRules); //inline 编辑设置 col.SetEditType(Enums.EditType.Text); EditOptions editopt = new EditOptions(); editopt.DataInit = @"function (element) { $(element).TouchSpin({ step: 1, decimals: 2, boostat: 5, maxboostedstep: 10 }); }"; //col.SetFormatter(Enums.Formatters.Currency); if (fapColumn.DisplayFormat == "%") { col.SetFormatter(Enums.Formatters.Percent); } //col.SetFormatter(Enums.Formatters.Number, "thousandsSeparator: ','"); col.SetSearchOption(Enums.SearchOptions.Equal); col.SetSearchOption(Enums.SearchOptions.NotEqual); col.SetSearchOption(Enums.SearchOptions.Greater); col.SetSearchOption(Enums.SearchOptions.GreaterOrEqual); col.SetSearchOption(Enums.SearchOptions.Less); col.SetSearchOption(Enums.SearchOptions.LessOrEqual); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_INT) { SetEditRulesNumber(fapColumn, editRules); //inline 编辑设置 col.SetEditType(Enums.EditType.Text); EditOptions editopt = new EditOptions(); editopt.DataInit = @"function (element) { $(element).TouchSpin({ step: 1, boostat: 5, maxboostedstep: 10 }); }"; col.SetFormatter(Enums.Formatters.Integer); col.SetSearchOption(Enums.SearchOptions.Equal); col.SetSearchOption(Enums.SearchOptions.NotEqual); col.SetSearchOption(Enums.SearchOptions.Greater); col.SetSearchOption(Enums.SearchOptions.GreaterOrEqual); col.SetSearchOption(Enums.SearchOptions.Less); col.SetSearchOption(Enums.SearchOptions.LessOrEqual); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_CITY) { //城市 col.SetEditType(Enums.EditType.Text); EditOptions editoptions = new EditOptions(); editoptions.DataInit = @"function (element) { $(element).cityselect(); }"; col.SetEditOptions(editoptions); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_NATIVE) { //籍贯 col.SetEditType(Enums.EditType.Text); EditOptions editoptions = new EditOptions(); editoptions.DataInit = @"function (element) { $(element).citypicker(); }"; col.SetEditOptions(editoptions); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_REFERENCE) { col.SetSearchType(Enums.Searchtype.Reference); col.SetSearchOption(Enums.SearchOptions.IsIn); col.SetSearchOption(Enums.SearchOptions.IsNotIn); col.SetCustomFormatter("formatReference"); col.SetUnFormat("unformatReference"); col.SetEditType(Enums.EditType.Custom); EditOptions editoptions = new EditOptions(); editoptions.DataInit = @"function (element) { $(element).find('input:text').on(ace.click_event,function(e){$(this).next().trigger(ace.click_event);e.preventDefault();}); $(element).find('input:text').next().on(ace.click_event, function(){ var $this=$(this).prev(); openRefrenceWindow('" + fapColumn.ColComment + "选择','" + fapColumn.Fid + @"','" + fapColumn.RefType + @"',function(code,name){ $this.val(name).data('value',code); $this.closest('td').next().find('input:text').val(name); },function(){ $this.val('').data('value',''); }) }); }"; editoptions.Custom_element = "createReferenceEditElement"; //创建元素 editoptions.Custom_value = "getReferenceElementValue"; //获取值 col.SetEditOptions(editoptions); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_FILE) { //附件 col.SetCustomFormatter("attachmentInfo"); col.SetUnFormat("unattachmentInfo"); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_IMAGE) { col.SetCustomFormatter("formatImage"); col.SetUnFormat("unformatImage"); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_TEXT) { SetTextSearchOption(col); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_EMAIL) { SetTextSearchOption(col); editRules.Email = true; } else { SetTextSearchOption(col); } return(col); }
public FapField(IDbContext dataAccessor, IMultiLangService multiLangService) { _dataAccessor = dataAccessor; _multiLangService = multiLangService; }
public static IEnumerable <Column> ToColumns(this IEnumerable <FapColumn> fapColumns, IDbContext dbContext, IMultiLangService multiLang) { if (fapColumns.Any()) { if (fapColumns.Any()) { foreach (FapColumn fc in fapColumns) { if (systemDefaultFields.Contains(fc.ColName)) { continue; } yield return(fc.ToColumn(multiLang, dbContext)); //表格参照返回MC的时候用 if (fc.CtrlType == FapColumn.CTRL_TYPE_REFERENCE) { FapColumn fcMC = (FapColumn)fc.Clone(); fcMC.ColName = fc.ColName + "MC"; fcMC.CtrlType = FapColumn.CTRL_TYPE_TEXT; fcMC.ShowAble = 0; yield return(fcMC.ToColumn(multiLang, dbContext)); } } } } }
public XEditableField(IMultiLangService multiLangService) { _multiLang = multiLangService; }
/// <summary> /// X-Editable表单 /// </summary> /// <param name="helper"></param> /// <param name="id"></param> /// <returns></returns> public static XEditableForm XEditableForm(this HtmlHelper helper, IDbContext dataAccessor, IFapApplicationContext applicationContext, IMultiLangService multiLangService, IRbacService rbacService, string id) { return(new XEditableForm(applicationContext, dataAccessor, multiLangService, rbacService)); }
public InputTagHelper(IRbacService rbacService, IMultiLangService multiLangService) { _rbacService = rbacService; _multiLangService = multiLangService; }
public static Grid Grid(this HtmlHelper helper, IDbContext dataAccessor, IRbacService rbacService, IFapApplicationContext applicationContext, IMultiLangService multiLang, string id) { return(new Grid(dataAccessor, rbacService, applicationContext, multiLang, id)); }