Exemplo n.º 1
0
 public SocketServer(ILogger logger, IStateRequestRouter stateRequestRouter, IConnectionRegistry connectionRegistry, IQueryResolver queryResolver)
 {
     _queryResolver      = queryResolver;
     _logger             = logger;
     _stateRequestRouter = stateRequestRouter;
     _connectionRegistry = connectionRegistry;
 }
Exemplo n.º 2
0
        public bool Update(Entity entity, IQueryResolver queryResolver, bool ignorePermissions = false)
        {
            entity = UnwrapAttributeValue(entity);
            string primaryKey = entity.IdName;

            entity.Remove(primaryKey);
            List <string> sets   = new List <string>();
            List <object> values = new List <object>();
            //query string
            //query.ColumnSet.Columns.Clear();
            //query.ColumnSet.Columns.Add(primaryKey);
            var queryString = queryResolver.ToSqlString(false, ignorePermissions);

            values.AddRange(queryResolver.Parameters.Args);

            StringBuilder sql = new StringBuilder();

            sql.AppendLine(string.Format("UPDATE [{0}]", entity.Name));
            sql.AppendLine("SET");
            int i = values.Count;

            foreach (var k in entity.Keys)
            {
                values.Add(entity[k]);
                sets.Add(string.Format("[{0}]={1}", k, "@" + i));
                i++;
            }
            sql.AppendLine(string.Join(",\n", sets));
            sql.AppendLine(string.Format("WHERE [{0}] IN({1})", primaryKey, queryString));
            var flag = _repository.Execute(sql.ToString(), values.ToArray()) > 0;

            return(flag);
        }
 public static async Task <UserInfo> GetCurrentUser(this IQueryResolver resolver)
 {
     return((await resolver.ExecuteAsync <UsersQuery, IEnumerable <UserInfo> >(new UsersQuery {
         OnlyMe = true
     }))
            .SingleOrDefault());
 }
Exemplo n.º 4
0
 void EnsureQueryResolver(AppFactory factory) {
   if (resolver_ == null) {
     resolver_ = (cache_provider_ == null)
       ? factory.CreateQueryResolver()
       : factory.CreateQueryResolver(cache_provider_);
   }
 }
Exemplo n.º 5
0
        private string GetChartDataSqlString(ReportDescriptor report, IQueryResolver queryTranslator)
        {
            //drillthrough, aggregation
            var columnField = report.CustomReport.Chart.ColumnAxis.Field;
            var nameField   = GetFieldValueName(queryTranslator, columnField);

            if (!columnField.IsCaseInsensitiveEqual(nameField))
            {
                nameField = "," + nameField;
            }
            else
            {
                nameField = string.Empty;
            }
            columnField = GetGroupingName(report, queryTranslator, columnField);
            var sql     = "SELECT ";
            var orderby = "";

            if (report.CustomReport.Filter != null)
            {
                sql    += " TOP " + report.CustomReport.Filter.Value;
                orderby = " ORDER BY " + report.CustomReport.Filter.Field + (report.CustomReport.Filter.Operator == FilterOperator.TopN ? " DESC" : "");
            }
            sql += columnField + " AS " + report.CustomReport.Chart.ColumnAxis.Field + nameField;
            foreach (var item in report.CustomReport.Chart.ValueAxes)
            {
                var column = report.CustomReport.Columns.Find(n => n.Field.IsCaseInsensitiveEqual(item.Field));
                sql += string.Format(",{0} AS {1}", DataFieldExpressionHelper.GetAggregationExpression(column.SummaryValue.Value, item.Field), item.Field);
            }
            sql += string.Format(" FROM ({0}) a GROUP BY {1} {2}", queryTranslator.ToSqlString(), columnField + nameField, orderby);
            return(sql);
        }
Exemplo n.º 6
0
 public SqlOrderByBinder(OrderByClause orderByClause)
 {
     //TODO: Resolver posteriormente de maneira mais elegante
     if (orderByClause != null)
     {
         Query = new OrderByOperatorResolver(orderByClause);
     }
 }
Exemplo n.º 7
0
 public Query(IQueryResolver queryResolver)
 {
     Name = "Query";
     Field <ListGraphType <SeriesType> >("series", arguments: queryResolver.GetSeries.Args, resolve: queryResolver.GetSeries.Resolve);
     Field <ListGraphType <MissionType> >("mission", arguments: queryResolver.GetMissions.Args, resolve: queryResolver.GetMissions.Resolve);
     Field <ListGraphType <LogType> >("log", arguments: queryResolver.GetLogs.Args, resolve: queryResolver.GetLogs.Resolve);
     Field <ListGraphType <EventType> >("event", arguments: queryResolver.GetEvents.Args, resolve: queryResolver.GetEvents.Resolve);
     // Field<FileQueryType>("file", resolve: context => new { });
 }
Exemplo n.º 8
0
 void EnsureQueryResolver(AppFactory factory)
 {
     if (resolver_ == null)
     {
         resolver_ = (cache_provider_ == null)
 ? factory.CreateQueryResolver()
 : factory.CreateQueryResolver(cache_provider_);
     }
 }
Exemplo n.º 9
0
 public NotificationEventsHub(NavigationManager navigationManager,
                              IHubContext <NotificationEventsHub> hubContext, IConnectionsRepository connectionsRepository,
                              IQueryResolver queryResolver, IUiEventsSettings settings)
     : base(hubContext,
            connectionsRepository,
            () => navigationManager.ToAbsoluteUri(settings.NotificationEventsUrl)
            )
 {
     _queryResolver = queryResolver;
 }
Exemplo n.º 10
0
        /// <inheritdoc />
        public ZevereQuery(IQueryResolver resolver)
        {
            Name = nameof(ZevereQuery);

            Field <UserType>("user",
                             "Get user account information by id",
                             new QueryArguments(new QueryArgument <NonNullGraphType <StringGraphType> > {
                Name = "userId"
            }),
                             resolver.GetUserAsync
                             );
        }
Exemplo n.º 11
0
 public string GetFieldValueName(IQueryResolver queryTranslator, string field, Schema.Domain.Attribute attr = null)
 {
     if (attr == null)
     {
         var alias = queryTranslator.AttributeAliasList.Find(n => n.Alias.IsCaseInsensitiveEqual(field));
         if (alias != null)
         {
             attr = queryTranslator.AttributeList.Find(n => n.Name.IsCaseInsensitiveEqual(alias.Name));
         }
     }
     field = attr.GetNameField(field);
     return(field.ToLower());
 }
        public EndToEndPathStrategy(ICommandResolver commandResolver, IQueryResolver queryResolver)
        {
            if (commandResolver == null)
            {
                throw new ArgumentNullException(nameof(commandResolver));
            }

            if (queryResolver == null)
            {
                throw new ArgumentNullException(nameof(queryResolver));
            }

            this.commandResolver = commandResolver;
            this.queryResolver   = queryResolver;
        }
        public EntityFrameworkDataSource(
            DbContext context,
            IConnectionFactory connectionFactory,
            IQueryResolver queryResolver, ICommandHandlerResolver commandHandlerResolver, IValidatorResolver valdiatorResolver
            )
        {
            Context           = context;
            ConnectionFactory = connectionFactory;

            QueryResolver          = queryResolver;
            CommandHandlerResolver = commandHandlerResolver;
            ValidatorResolver      = valdiatorResolver;

            entitiesDataSource         = new EntityFrameworkEntitiesDataSource(Context);
            readonlyEntitiesDataSource = new EntityFrameworkReadOnlyEntitiesDataSource(Context);
        }
Exemplo n.º 14
0
        public SqlFilterBinder(FilterClause filterClause)
        {
            if (filterClause != null)
            {
                //TODO: Resolver posteriormente de maneira mais elegante
                if (filterClause.Expression is BinaryOperatorNode)
                {
                    Query = new BinaryOperatorResolver(filterClause.Expression as BinaryOperatorNode);
                }

                else if (filterClause.Expression is SingleValueFunctionCallNode)
                {
                    Query = new SingleValueFunctionResolver(filterClause.Expression as SingleValueFunctionCallNode);
                }
            }
        }
Exemplo n.º 15
0
        public DataTable GetData(ReportDescriptor report, IQueryResolver queryTranslator, FilterExpression filter = null)
        {
            if (filter != null)
            {
                //设置过滤条件中特殊字段的名称
                //foreach (var item in filter.Conditions)
                //{
                //    item.AttributeName = GetFieldValueName(queryTranslator, item.AttributeName);
                //}
                report.CustomReport.Query.Criteria = filter;//.AddFilter(filter);
            }
            var sql = queryTranslator.ToSqlString();
            //获取数据
            var ds = new DataVisitor(DbContext).ExecuteQueryDataSet(sql, queryTranslator.Parameters.Args.ToArray());

            return(ds.Tables[0]);
        }
Exemplo n.º 16
0
        /// <inheritdoc />
        public UserType(IQueryResolver queryResolver)
        {
            Name        = "User";
            Description = "A Zevere user account";

            Field(_ => _.Id)
            .Description("User name");

            Field(_ => _.FirstName)
            .Description("First name");

            Field(_ => _.LastName, true)
            .Description("Last name");

            Field(_ => _.Token, true)
            .Description("Authentication token");

            Field(_ => _.DaysJoined)
            .Description("Number of days this user has joined");

            Field(_ => _.JoinedAt)
            .Description("The date account was created in UTC format. Time should be set to the midnight.");

            Field <TaskListType>(
                "list",
                "A list that this user has access to",
                new QueryArguments(
                    new QueryArgument <NonNullGraphType <StringGraphType> >
            {
                Name        = "listId",
                Description = "Name of the list",
            }
                    ),
                queryResolver.GetTaskListForUserAsync
                );

            Field <ListGraphType <TaskListType> >(
                "lists",
                "Tasks lists that this user has access to",
                resolve: queryResolver.GetAllTaskListsForUserAsync
                );
        }
Exemplo n.º 17
0
        public string GetGroupingName(ReportDescriptor report, IQueryResolver queryTranslator, string field, bool includeAlias = false)
        {
            var groupObj = report.CustomReport.Groupings.Find(n => n.Field.IsCaseInsensitiveEqual(field));

            if (groupObj != null && groupObj.DateGrouping.HasValue)
            {
                if (includeAlias)
                {
                    var alias = queryTranslator.AttributeAliasList.Find(n => n.Alias.IsCaseInsensitiveEqual(field));
                    if (alias != null)
                    {
                        field = alias.EntityAlias + "." + alias.Name;
                    }
                }
                field = DataFieldExpressionHelper.GetDateGroupingExpression(groupObj.DateGrouping.Value, field);
            }
            else if (groupObj != null && !groupObj.DateGrouping.HasValue)
            {
                field = GetFieldValueName(queryTranslator, field);
            }
            return(field);
        }
Exemplo n.º 18
0
        /// <inheritdoc />
        public TaskListType(IQueryResolver queryResolver)
        {
            Name        = "List";
            Description = "Task list";

            Field(_ => _.DisplayId)
            .Name("id")
            .Description("List's ID");

            Field(_ => _.Title)
            .Description("Short title of this list");

            Field(_ => _.OwnerId)
            .Name("owner")
            .Description("User ID of this task list's owner");

            Field(_ => _.CreatedAt)
            .Description("List creation date");

            Field(_ => _.Description, nullable: true)
            .Description("Task list descriptions");

            Field(_ => _.ModifiedAt, nullable: true)
            .Name("updatedAt")
            .Description("Last time this list was updated");

            Field(_ => _.Tags, type: typeof(ListGraphType <NonNullGraphType <StringGraphType> >))
            .Description("List's tags");

            Field(_ => _.Collaborators, type: typeof(ListGraphType <NonNullGraphType <StringGraphType> >))
            .Description("User IDs of the list collaborators");

            Field <ListGraphType <TaskItemType> >(
                "tasks",
                "Task items in this list",
                resolve: queryResolver.GetTaskItemsForListAsync
                );
        }
Exemplo n.º 19
0
 public DataTable GetData(ReportDescriptor report, IQueryResolver queryTranslator, FilterExpression filter = null)
 {
     return(_reportRepository.GetData(report, queryTranslator, filter));
 }
Exemplo n.º 20
0
 public DataTable GetChartData(ReportDescriptor report, IQueryResolver queryTranslator)
 {
     return(_reportRepository.GetChartData(report, queryTranslator));
 }
Exemplo n.º 21
0
 public string GetGroupingName(ReportDescriptor report, IQueryResolver queryTranslator, string field, bool includeAlias = false)
 {
     return(_reportRepository.GetGroupingName(report, queryTranslator, field, includeAlias));
 }
Exemplo n.º 22
0
 public string GetFieldValueName(IQueryResolver queryTranslator, string field, Schema.Domain.Attribute attr = null)
 {
     return(_reportRepository.GetFieldValueName(queryTranslator, field, attr));
 }
Exemplo n.º 23
0
 public DotNetModuleURIResolver(IQueryResolver resolver)
 {
     this.resolver = resolver;
 }
Exemplo n.º 24
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QueryResolverProxy"/>
 /// class using the specified <see cref="IQueryResolver"/>.
 /// </summary>
 /// <param name="resolver">
 /// A <see cref="IQueryResolver"/> object that is used to resolve a query
 /// when it is not found in cache.
 /// </param>
 /// <param name="cache">
 /// A <see cref="ICache{T}"/> object that can be used to cache resolved
 /// <see cref="IQuery"/>.
 /// </param>
 public QueryResolverProxy(IQueryResolver resolver, ICache<IQuery> cache) {
   resolver_ = resolver;
   cache_ = cache;
 }
Exemplo n.º 25
0
 public QueryFactory(IQueryResolver queryResolver)
 {
     this.queryResolver = queryResolver;
 }
Exemplo n.º 26
0
 /// <summary>
 /// Sets the <see cref="IQueryProcessor"/> tha should be used to build
 /// a <see cref="QueryServer"/> object.
 /// </summary>
 /// <param name="resolver">
 /// The <see cref="QuerySettings"/> object that should be used to build a
 /// <see cref="QueryServer"/>.
 /// </param>
 /// <returns>
 /// A <see cref="Builder"/> that uses <see cref="resolver"/> to build
 /// a <see cref="QueryServer"/> instance.
 /// </returns>
 public Builder SetQueryResolver(IQueryResolver resolver) {
   resolver_ = resolver;
   return this;
 }
Exemplo n.º 27
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QueryProcessor"/> using
 /// the specified <see cref="IQueryResolver"/> object.
 /// </summary>
 /// <param name="resolver">
 /// A <see cref="IQueryResolver"/> object that is used to resolve queries.
 /// </param>
 public QueryProcessor(IQueryResolver resolver) {
   resolver_ = resolver;
 }
Exemplo n.º 28
0
 public QueryFactory(IQueryResolver queryResolver)
 {
     _queryResolver = queryResolver;
 }
Exemplo n.º 29
0
 /// <summary>
 /// Sets the <see cref="IQueryProcessor"/> tha should be used to build
 /// a <see cref="QueryServer"/> object.
 /// </summary>
 /// <param name="resolver">
 /// The <see cref="QuerySettings"/> object that should be used to build a
 /// <see cref="QueryServer"/>.
 /// </param>
 /// <returns>
 /// A <see cref="Builder"/> that uses <see cref="resolver"/> to build
 /// a <see cref="QueryServer"/> instance.
 /// </returns>
 public Builder SetQueryResolver(IQueryResolver resolver)
 {
     resolver_ = resolver;
     return(this);
 }
Exemplo n.º 30
0
 public QueryProcessor(IQueryResolver resolver, IQueryDataSource dataSource)
 {
     _resolver   = resolver;
     _dataSource = dataSource;
 }
Exemplo n.º 31
0
 public SearchProvider(IQueryResolver <Displayable> resolver, IProfiler profiler)
 {
     Resolver = resolver;
     Profiler = profiler;
     //CacheProvider = cacheProvider;
 }
Exemplo n.º 32
0
 /// <summary>
 /// Creates an instance of the <see cref="IQueryProcessor"/> class using
 /// the specified <see cref="IQueryResolver"/> object.
 /// </summary>
 /// <param name="resolver">
 /// A <see cref="IQueryResolver"/> object.
 /// </param>
 /// <returns>
 /// The newly created <see cref="IQueryProcessor"/> object.
 /// </returns>
 public QueryProcessor CreateQueryProcessor(IQueryResolver resolver) {
   return new QueryProcessor(resolver);
 }
Exemplo n.º 33
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QueryProcessor"/> using
 /// the specified <see cref="IQueryResolver"/> object.
 /// </summary>
 /// <param name="resolver">
 /// A <see cref="IQueryResolver"/> object that is used to resolve queries.
 /// </param>
 public QueryProcessor(IQueryResolver resolver)
 {
     resolver_ = resolver;
 }
Exemplo n.º 34
0
 public ContentController(AthenaData data, IQueryResolver queryResolver)
 {
     this.data          = data;
     this.queryResolver = queryResolver;
 }
Exemplo n.º 35
0
 public DotNetModuleURIResolver(IQueryResolver resolver)
 {
     this.resolver = resolver;
 }
Exemplo n.º 36
0
 /// <summary>
 /// Creates an instance of the <see cref="IQueryProcessor"/> class using
 /// the specified <see cref="IQueryResolver"/> object.
 /// </summary>
 /// <param name="resolver">
 /// A <see cref="IQueryResolver"/> object.
 /// </param>
 /// <returns>
 /// The newly created <see cref="IQueryProcessor"/> object.
 /// </returns>
 public QueryProcessor CreateQueryProcessor(IQueryResolver resolver)
 {
     return(new QueryProcessor(resolver));
 }