public override bool IsExpression(Expression expression, int level, RequestFor testFlag) { switch (testFlag) { case RequestFor.SubQuery : return true; } return base.IsExpression(expression, level, testFlag); }
public override bool IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Expression: return(true); } return(false); }
public IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Expression: return(IsExpressionResult.True); default: return(IsExpressionResult.False); } }
public override bool IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Root: return(expression == Lambda.Parameters[0]); } return(false); }
public bool IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Expression: return(true); default: return(false); } }
public override bool IsExpression(Expression expression, int level, RequestFor requestFlag) { if (expression == null) { switch (requestFlag) { case RequestFor.Expression: case RequestFor.Field: return(false); } } throw new NotImplementedException(); }
public IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { if (expression == null) { switch (requestFlag) { case RequestFor.Expression: case RequestFor.Field: return(IsExpressionResult.False); } } return(IsExpressionResult.False); }
public override bool IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Expression: case RequestFor.Root: if (expression == Lambda.Parameters[1]) { return(true); } break; } return(base.IsExpression(expression, level, requestFlag)); }
public IsExpressionResult IsExpression(Expression?expression, int level, RequestFor requestFlag) { if (requestFlag != RequestFor.Field) { return(IsExpressionResult.False); } if (expression != null) { if (expression is ParameterExpression) { throw new NotImplementedException(); } } throw new NotImplementedException(); }
public override bool IsExpression(Expression expression, int level, RequestFor requestFlag) { if (Collection != null) { if (expression == null) { return(Collection.IsExpression(expression, level, requestFlag)); } var root = expression.GetRootObject(); if (root != Lambda.Parameters[0]) { return(Collection.IsExpression(expression, level, requestFlag)); } } return(base.IsExpression(expression, level, requestFlag)); }
private static bool CheckForProtocolMessage() { string[] arguments = Environment.GetCommandLineArgs(); if (arguments.Length > 1) { // Format = "Owf:OpenForm?id=111" ClsCommon.WriteLog(arguments[0]); string[] args = arguments[1].Split(':'); if (args[0].Trim().ToUpper() == "TREZLERECORDER" && args.Length > 1) { // Means this is a URL protocol string[] actionDetail = args[1].Split('?'); if (actionDetail.Length > 1) { switch (actionDetail[0].Trim().ToUpper()) { case "OPENFORM": string[] details = actionDetail[1].Split('='); if (details.Length > 1) { if (details[0] == "IdRecord") { eRequestFor = RequestFor.VideoRecording; } else { eRequestFor = RequestFor.ScreenRecording; } if (actionDetail.Length > 2) { exestring = actionDetail[2].Split('=')[1]; } string id = details[1].Trim(); ClsCommon.UserId = id; return(true); } break; } } } } return(false); }
public override bool IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Root : return expression == Lambda.Parameters[0]; case RequestFor.Association : case RequestFor.Object : case RequestFor.Field : case RequestFor.Expression : { var levelExpression = expression.GetLevelExpression(level); return levelExpression == expression ? Sequence.IsExpression(null, 0, requestFlag) : Sequence.IsExpression(expression, level + 1, requestFlag); } } return false; }
public override bool IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Root: return(expression == Lambda.Parameters[0]); case RequestFor.Association: case RequestFor.Object: case RequestFor.Field: case RequestFor.Expression: { var levelExpression = expression.GetLevelExpression(level); return(levelExpression == expression? Sequence.IsExpression(null, 0, requestFlag) : Sequence.IsExpression(expression, level + 1, requestFlag)); } } return(false); }
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Root : return new IsExpressionResult(Lambda.Parameters.Count > 0 && expression == Lambda.Parameters[0]); case RequestFor.Table : case RequestFor.Association : case RequestFor.Object : case RequestFor.GroupJoin : case RequestFor.Field : case RequestFor.Expression : { var levelExpression = expression.GetLevelExpression(level); return levelExpression == expression ? Sequence.IsExpression(null, 0, requestFlag) : Sequence.IsExpression(expression, level + 1, requestFlag); } } return IsExpressionResult.False; }
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { if (level != 0) { var levelExpression = expression.GetLevelExpression(level); if (levelExpression.NodeType == ExpressionType.MemberAccess) { var ma = (MemberExpression)levelExpression; if (ma.Member.Name == "Key" && ma.Member.DeclaringType == _groupingType) { return(ReferenceEquals(levelExpression, expression) ? _key.IsExpression(null, 0, requestFlag) : _key.IsExpression(expression, level + 1, requestFlag)); } } else if (levelExpression.NodeType == ExpressionType.Call) { if (requestFlag == RequestFor.Expression) { return(IsExpressionResult.True); } } } return(IsExpressionResult.False); }
public override bool IsExpression(Expression expression, int level, RequestFor requestFlag) { return Sequence.IsExpression(expression, level, requestFlag); }
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { return(base.IsExpression(expression, level, requestFlag)); }
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { throw new InvalidOperationException(); }
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor testFlag) { if (testFlag == RequestFor.Root && ReferenceEquals(expression, _unionParameter)) { return(IsExpressionResult.True); } return(base.IsExpression(expression, level, testFlag)); }
public override IsExpressionResult IsExpression(Expression?expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Root: return(new IsExpressionResult(Lambda != null && expression == Lambda.Parameters[0])); case RequestFor.Expression: return(IsExpressionResult.True); } return(IsExpressionResult.False); }
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { if (expression == null) { switch (requestFlag) { case RequestFor.Expression: case RequestFor.Field: return(IsExpressionResult.False); } } switch (requestFlag) { case RequestFor.Root: return(IsExpressionResult.False); } throw new InvalidOperationException(); }
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { throw new NotImplementedException(); }
public override IsExpressionResult IsExpression(Expression?expression, int level, RequestFor requestFlag) { return(requestFlag switch { RequestFor.Root => new IsExpressionResult(Lambda != null && expression == Lambda.Parameters[0]), RequestFor.Expression => IsExpressionResult.True, _ => IsExpressionResult.False, });
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor testFlag) { switch (testFlag) { case RequestFor.SubQuery: return(IsExpressionResult.True); } return(base.IsExpression(expression, level, testFlag)); }
public IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFor) { switch (requestFor) { case RequestFor.Field: { var table = FindTable(expression, level, false); return(new IsExpressionResult(table != null && table.Field != null)); } case RequestFor.Table: case RequestFor.Object: { var table = FindTable(expression, level, false); var isTable = table != null && table.Field == null && (expression == null || expression.GetLevelExpression(table.Level) == expression); return(new IsExpressionResult(isTable, isTable ? table.Table : null)); } case RequestFor.Expression: { if (expression == null) { return(IsExpressionResult.False); } var levelExpression = expression.GetLevelExpression(level); switch (levelExpression.NodeType) { case ExpressionType.MemberAccess: case ExpressionType.Parameter: case ExpressionType.Call: var table = FindTable(expression, level, false); return(new IsExpressionResult(table == null)); } return(IsExpressionResult.True); } case RequestFor.Association: { if (EntityDescriptor.Associations.Count > 0) { var table = FindTable(expression, level, false); var isat = table != null && table.Table is AssociatedTableContext && table.Field == null && (expression == null || expression.GetLevelExpression(table.Level) == expression); return(new IsExpressionResult(isat, isat ? table.Table : null)); } return(IsExpressionResult.False); } } return(IsExpressionResult.False); }
public override IsExpressionResult IsExpression(Expression?expression, int level, RequestFor requestFlag) { expression = SequenceHelper.CorrectExpression(expression, this, Sequence); return(Sequence.IsExpression(expression, level, requestFlag)); }
public abstract IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag);
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Root: return(new IsExpressionResult(Lambda.Parameters.Count == 1 ? ReferenceEquals(expression, Lambda.Parameters[0]) : Lambda.Parameters.Any(p => ReferenceEquals(expression, p)))); case RequestFor.Table: case RequestFor.Association: case RequestFor.Object: case RequestFor.GroupJoin: case RequestFor.Field: case RequestFor.Expression: { var levelExpression = expression.GetLevelExpression(Builder.MappingSchema, level); if (Lambda.Parameters.Count > 1) { for (var i = 0; i < Lambda.Parameters.Count; i++) { var root = expression.GetRootObject(Builder.MappingSchema); if (ReferenceEquals(root, Lambda.Parameters[i])) { return(ReferenceEquals(levelExpression, expression) ? Sequences[i].IsExpression(null, 0, requestFlag) : Sequences[i].IsExpression(expression, level + 1, requestFlag)); } } } return(ReferenceEquals(levelExpression, expression) ? Sequence.IsExpression(null, 0, requestFlag) : Sequence.IsExpression(expression, level + 1, requestFlag)); } } return(IsExpressionResult.False); }
public override bool IsExpression(Expression expression, int level, RequestFor requestFlag) { return(false); }
public override IsExpressionResult IsExpression(Expression?expression, int level, RequestFor testFlag) { if (testFlag == RequestFor.GroupJoin && expression == null) { return(IsExpressionResult.True); } return(base.IsExpression(expression, level, testFlag)); }
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFor) { var queryContext = GetQueryContext(); if (queryContext == null) { return(base.IsExpression(expression, level, requestFor)); } return(queryContext.IsExpression(expression, level, requestFor)); }
public override IsExpressionResult IsExpression(Expression?expression, int level, RequestFor requestFlag) { return(requestFlag switch { RequestFor.SubQuery => IsExpressionResult.True, _ => base.IsExpression(expression, level, requestFlag), });
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.Root: return(new IsExpressionResult(Lambda.Parameters.Count > 0 && expression == Lambda.Parameters[0])); case RequestFor.Table: case RequestFor.Association: case RequestFor.Object: case RequestFor.GroupJoin: case RequestFor.Field: case RequestFor.Expression: { var levelExpression = expression.GetLevelExpression(level); return(levelExpression == expression? Sequence.IsExpression(null, 0, requestFlag) : Sequence.IsExpression(expression, level + 1, requestFlag)); } } return(IsExpressionResult.False); }
public virtual IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag) { switch (requestFlag) { case RequestFor.SubQuery: return(IsExpressionResult.False); case RequestFor.Root: return(new IsExpressionResult(Sequence.Length == 1 ? ReferenceEquals(expression, Lambda.Parameters[0]) : Lambda.Parameters.Any(p => ReferenceEquals(p, expression)))); } if (IsScalar) { if (expression == null) { return(IsExpression(Body, 0, requestFlag)); } switch (requestFlag) { case RequestFor.Table: case RequestFor.Association: case RequestFor.Field: case RequestFor.Expression: case RequestFor.Object: case RequestFor.GroupJoin: return(ProcessScalar( expression, level, (ctx, ex, l) => ctx.IsExpression(ex, l, requestFlag), () => new IsExpressionResult(requestFlag == RequestFor.Expression))); default: return(IsExpressionResult.False); } } else { switch (requestFlag) { case RequestFor.Table: case RequestFor.Association: case RequestFor.Field: case RequestFor.Expression: case RequestFor.Object: case RequestFor.GroupJoin: { if (expression == null) { if (requestFlag == RequestFor.Expression) { return(new IsExpressionResult(Members.Values.Any(member => IsExpression(member, 0, requestFlag).Result))); } return(new IsExpressionResult(requestFlag == RequestFor.Object)); } var levelExpression = expression.GetLevelExpression(level); switch (levelExpression.NodeType) { case ExpressionType.MemberAccess: { var member = ((MemberExpression)levelExpression).Member; Expression memberExpression; if (!Members.TryGetValue(member, out memberExpression)) { var nm = Members.Keys.FirstOrDefault(m => m.Name == member.Name); if (nm != null && member.DeclaringType.IsInterfaceEx()) { if (member.DeclaringType.IsSameOrParentOf(nm.DeclaringType)) { memberExpression = Members[nm]; } else { var mdt = member.DeclaringType.GetDefiningTypes(member); var ndt = Body.Type.GetDefiningTypes(nm); if (mdt.Intersect(ndt).Any()) { memberExpression = Members[nm]; } } } if (memberExpression == null) { return(new IsExpressionResult(requestFlag == RequestFor.Expression)); } //throw new InvalidOperationException( // string.Format("Invalid member '{0}.{1}'", member.DeclaringType, member.Name)); } if (ReferenceEquals(levelExpression, expression)) { switch (memberExpression.NodeType) { case ExpressionType.New: case ExpressionType.MemberInit: return(new IsExpressionResult(requestFlag == RequestFor.Object)); } } return(ProcessMemberAccess( expression, (MemberExpression)levelExpression, level, (n, ctx, ex, l, _) => n == 0 ? new IsExpressionResult(requestFlag == RequestFor.Expression) : ctx.IsExpression(ex, l, requestFlag))); } case ExpressionType.Parameter: { var sequence = GetSequence(expression, level); var parameter = Lambda.Parameters[Sequence.Length == 0 ? 0 : Array.IndexOf(Sequence, sequence)]; if (ReferenceEquals(levelExpression, expression)) { if (ReferenceEquals(levelExpression, parameter)) { return(sequence.IsExpression(null, 0, requestFlag)); } } else if (level == 0) { return(sequence.IsExpression(expression, 1, requestFlag)); } break; } case ExpressionType.New: case ExpressionType.MemberInit: return(new IsExpressionResult(requestFlag == RequestFor.Object)); default: return(new IsExpressionResult(requestFlag == RequestFor.Expression)); } break; } default: return(IsExpressionResult.False); } } throw new NotImplementedException(); }