public string ToSqlOrder(IFieldInfoIndexer indexer) { TkDebug.AssertArgumentNull(indexer, "indexer", this); var fieldInfo = indexer[NickName]; if (fieldInfo == null) { return(null); } string fieldName = fieldInfo.FieldName; bool isSimple = true; if (fieldInfo is ITk5FieldInfo fieldInfoEx) { if (!string.IsNullOrEmpty(fieldInfoEx.ListDetail?.SortField)) { fieldName = fieldInfoEx.ListDetail.SortField; isSimple = fieldName.IndexOfAny(new char[] { '(', ')' }) == -1; } } if (isSimple) { return(Order == DbOrder.Asc ? fieldName : fieldName + " DESC"); } else { Order = DbOrder.Asc; return(fieldName); } }
public DataRightEventArgs(TkDbContext context, IUserInfo user, IFieldInfoIndexer fieldIndexer, IPageStyle style, DataRow row) : base(context, user, fieldIndexer) { Style = style; Row = row; }
protected virtual IParamBuilder CreateAdditionCondition(TkDbContext context, IFieldInfoIndexer indexer) { TkDebug.AssertArgumentNull(context, "context", this); TkDebug.AssertArgumentNull(indexer, "indexer", this); ParamBuilderContainer result = new ParamBuilderContainer(); if (FilterSql != null) { string sql = Expression.Execute(FilterSql, context, indexer); result.Add(sql); } if (DataRight != null) { TkDebug.ThrowIfNoGlobalVariable(); IUserInfo userInfo = BaseGlobalVariable.Current.UserInfo; IParamBuilder builder = DataRight.GetListSql(new ListDataRightEventArgs(context, userInfo, indexer)); result.Add(builder); } if (ActiveData != null) { IParamBuilder builder = ActiveData.CreateParamBuilder(context, indexer); result.Add(builder); } if (result.IsEmpty) { return(null); } return(result); }
public BaseListSearch CreateObject(params object[] args) { IFieldInfoIndexer indexer = ObjectUtil.ConfirmQueryObject <IFieldInfoIndexer>(this, args); IFieldInfo current = ObjectUtil.ConfirmQueryObject <IFieldInfo>(this, args); var fields = EnumUtil.Convert(current, GetFieldInfoList(indexer)); return(new MultipleFieldListSearch(fields.ToArray())); }
public IParamBuilder CreateParamBuilder(TkDbContext context, IFieldInfoIndexer indexer) { if (FakeDeleteInfo == null) { return(null); } return(FakeDeleteInfo.CreateParamBuilder(context, indexer)); }
public IDataRight CreateObject(params object[] args) { IFieldInfoIndexer indexer = ObjectUtil.ConfirmQueryObject <IFieldInfoIndexer>(this, args); IFieldInfo ownerField = indexer[NickName]; TkDebug.AssertNotNull(ownerField, string.Format(ObjectUtil.SysCulture, "没有找到昵称为{0}的字段", NickName), indexer); return(CreateDataRight(ownerField).SetErrorText(ErrorMessage)); }
private IEnumerable <IFieldInfo> GetFieldInfoList(IFieldInfoIndexer indexer) { foreach (var nickName in NickNameList) { IFieldInfo field = indexer[nickName]; TkDebug.AssertNotNull(field, string.Format(ObjectUtil.SysCulture, "{0}不存在,请确认配置是否正确", nickName), this); yield return(field); } }
private static string GetUploadItemField(TkDbContext context, IFieldInfoIndexer indexer, string nickName) { var field = indexer[nickName]; if (field == null) { return(null); } return(string.Format(ObjectUtil.SysCulture, "{0} {1}", context.EscapeName(field.FieldName), context.EscapeName(field.NickName))); }
public BaseListSearch CreateObject(params object[] args) { IFieldInfoIndexer indexer = ObjectUtil.ConfirmQueryObject <IFieldInfoIndexer>(this, args); IFieldInfo current = ObjectUtil.ConfirmQueryObject <IFieldInfo>(this, args); IFieldInfo other = indexer[OtherNickName]; TkDebug.AssertNotNull(other, string.Format(ObjectUtil.SysCulture, "{0}不存在,请确认配置是否正确", OtherNickName), this); return(new TwoFieldListSearch(current, other)); }
public static IFieldInfo GetFieldInfo(string nickName, object[] args) { TkDebug.AssertArgumentNullOrEmpty(nickName, "nickName", null); TkDebug.AssertArgumentNull(args, "args", null); IFieldInfoIndexer indexer = ObjectUtil.QueryObject <IFieldInfoIndexer>( args); TkDebug.AssertNotNull(indexer, "创建参数中缺乏IFieldInfoIndexer类型", null); IFieldInfo result = indexer[nickName]; TkDebug.AssertNotNull(result, string.Format(ObjectUtil.SysCulture, "缺少名称为{0}的字段", nickName), indexer); return(result); }
public string ToSqlOrder(IFieldInfoIndexer indexer) { TkDebug.AssertArgumentNull(indexer, "indexer", this); var orderList = from item in FieldList let order = item.ToSqlOrder(indexer) where order != null select order; string orderBy = string.Join(",", orderList); if (string.IsNullOrEmpty(orderBy)) { return(string.Empty); } return("ORDER BY " + orderBy); }
BaseConstraint IConfigCreator <BaseConstraint> .CreateObject(params object[] args) { IFieldInfo[] otherFields; if (OtherFields == null) { otherFields = null; } else { IFieldInfoIndexer indexer = ObjectUtil.QueryObject <IFieldInfoIndexer>(); otherFields = (from item in OtherFields let field = indexer[item] where field != null select field).ToArray(); } return(new MultipleNotEmptyConstraint(ConstraintUtil.GetFieldInfo(args), otherFields)); }
public RegNameList <ListTabSheet> CreateTabSheet(IDbDataSource dataSource, IFieldInfoIndexer indexer) { if (TabSheets != null) { RegNameList <ListTabSheet> result = new RegNameList <ListTabSheet>(); foreach (var item in TabSheets) { string sql = item.Condition == null ? null : Expression.Execute(item.Condition, dataSource); IParamBuilder builder = string.IsNullOrEmpty(sql) ? null : SqlParamBuilder.CreateSql(sql); result.Add(new ListTabSheet(item.Id, item.Caption.ToString(ObjectUtil.SysCulture), builder)); } return(result); } if (CodeTabSheet != null) { RegNameList <ListTabSheet> result = new RegNameList <ListTabSheet>(); if (CodeTabSheet.NeedAllTab) { result.Add(new ListTabSheet("_All", "全部", null)); } CodeTable table = PlugInFactoryManager.CreateInstance <CodeTable>( CodeTablePlugInFactory.REG_NAME, CodeTabSheet.CodeRegName); YJC.Toolkit.Decoder.CodeTableContainer data = new YJC.Toolkit.Decoder.CodeTableContainer(); table.Fill(data, dataSource.Context); var tableData = data[CodeTabSheet.CodeRegName]; IFieldInfo info = indexer[CodeTabSheet.NickName]; TkDebug.AssertNotNull(info, "", this); foreach (var item in tableData) { IParamBuilder builder = SqlParamBuilder.CreateEqualSql(dataSource.Context, info, item.Value); var tabSheet = new ListTabSheet(item.Value, item.Name, builder); result.Add(tabSheet); } return(result); } return(null); }
protected IEnumerable <string> GetListSelectFields(TkDbContext context, IFieldUpload upload, IFieldInfoIndexer indexer, bool showSize, bool showContent, bool showMimeType, bool showServerPath) { TkDebug.AssertArgumentNull(upload, "upload", this); TkDebug.AssertArgumentNull(indexer, "indexer", this); string result; if (showSize) { result = GetUploadItemField(context, indexer, upload.SizeField); if (result != null) { yield return(result); } } if (showContent) { result = GetUploadItemField(context, indexer, upload.ContentField); if (result != null) { yield return(result); } } if (showMimeType) { result = GetUploadItemField(context, indexer, upload.MimeTypeField); if (result != null) { yield return(result); } } if (showServerPath) { result = GetUploadItemField(context, indexer, upload.ServerPathField); if (result != null) { yield return(result); } } }
public IParamBuilder CreateParamBuilder(TkDbContext context, IFieldInfoIndexer indexer) { if (fSelectBuilder == null) { TkDebug.AssertArgumentNull(context, "context", this); TkDebug.AssertArgumentNull(indexer, "indexer", this); IFieldInfo fakeInfo = indexer[FieldName]; TkDebug.AssertNotNull(fakeInfo, string.Format(ObjectUtil.SysCulture, "{0}中没有配置字段{1}", indexer, FieldName), this); fSelectBuilder = ParamBuilder.InternalCreateSingleSql(context, fakeInfo.FieldName, fakeInfo.DataType, "!=", fakeInfo.FieldName, Value); if (AllowNull) { fSelectBuilder = ParamBuilder.CreateParamBuilderWithOr(fSelectBuilder, ParamBuilder.CreateSql(fakeInfo.FieldName + " IS NULL")); } } return(fSelectBuilder); }
public IEnumerable <string> GetListSelectFields(TkDbContext context, IFieldUpload upload, IFieldInfoIndexer indexer) { return(null); }
public IParamBuilder CreateParamBuilder(TkDbContext context, IFieldInfoIndexer indexer) { return(SqlParamBuilder.CreateSql("CODE_DEL IS NULL OR CODE_DEL <> 1")); }
public abstract IEnumerable <string> GetListSelectFields(TkDbContext context, IFieldUpload upload, IFieldInfoIndexer indexer);
IParamBuilder IActiveData.CreateParamBuilder(TkDbContext context, IFieldInfoIndexer indexer) { return(CreateFixCondition()); }
public ListDataRightEventArgs(TkDbContext context, IUserInfo user, IFieldInfoIndexer fieldIndexer) { Context = context; User = user; FieldIndexer = fieldIndexer; }
public override IEnumerable <string> GetListSelectFields(TkDbContext context, IFieldUpload upload, IFieldInfoIndexer indexer) { return(GetListSelectFields(context, upload, indexer, true, true, true, true)); }