Esempio n. 1
0
        public static async Task <IIndexedDict[]> GetSchema(AsyncExprCtx ctx, QueryTemplate qt)
        {
            var conn = (IDbConn)await ctx.GetValue(qt.connName);

            var schema = (System.Data.DataTable) await conn.ExecCmd(new SqlCommandData()
            {
                Kind    = CommandKind.GetSchema,
                SqlText = qt.queryTemplateText.Replace("{0}", string.Empty),
                ConvertMultiResultsToLists = qt.arrayResults
            }, ctx.Cancellation);

            int nCols   = schema.Columns.Count;
            var key2ndx = new Dictionary <string, int>(nCols, StringComparer.OrdinalIgnoreCase);

            for (int i = 0; i < nCols; i++)
            {
                key2ndx[schema.Columns[i].ColumnName] = i;
            }
            int nRows = schema.Rows.Count;
            var res   = new IIndexedDict[nRows];

            for (int i = 0; i < nRows; i++)
            {
                res[i] = ValuesDictionary.New(schema.Rows[i].ItemArray, key2ndx);
            }
            return(res); // todo
        }
Esempio n. 2
0
        public TestOutcome CreateQuery(string referenceName)
        {
            TestOutcome outcome = new TestOutcome();

            outcome.moduleName = "Queries";
            outcome.methodName = "QueriesBuild";
            try
            {
                QueriesApi         queriesApi = new QueriesApi(_url);
                QueryTemplateArray templates  = queriesApi.QueriesTemplates(_session.SessionId, "QueueItem");
                foreach (QueryTemplate template in templates)
                {
                    Console.WriteLine(template.Title);
                }
                QueryTemplate a_template = templates[0];

                Dictionary <string, string> options = new Dictionary <string, string>();
                options["reference"]  = referenceName;
                options["properties"] = "";

                Query query = queriesApi.QueriesBuild(_session.SessionId, a_template.InternalRef, new QueryArguments(options));
                Console.WriteLine(query.Id);
                outcome.outcome = "Success";
                return(outcome);
            }
            catch (Exception ex)
            {
                outcome.outcome = ex.Message;
                return(outcome);
            }
        }
        private static List <MSLivingChoices.Configuration.Entities.SearchTemplates.SearchTemplates> GetSearchTemplates()
        {
            object obj;
            List <MSLivingChoices.Configuration.Entities.SearchTemplates.SearchTemplates> searchTemplates = null;

            if (MSLivingChoices.Configuration.ConfigurationManager.GetSection("searchTemplates", out obj))
            {
                SearchTemplatesSection searchTemplatesSection = (SearchTemplatesSection)obj;
                searchTemplates = new List <MSLivingChoices.Configuration.Entities.SearchTemplates.SearchTemplates>();
                foreach (CountryElement countryList in searchTemplatesSection.CountryList)
                {
                    MSLivingChoices.Configuration.Entities.SearchTemplates.SearchTemplates searchTemplate = new MSLivingChoices.Configuration.Entities.SearchTemplates.SearchTemplates()
                    {
                        Placeholder = countryList.Placeholder,
                        CountryCode = countryList.CountryCode
                    };
                    foreach (TemplateElement template in countryList.Templates)
                    {
                        QueryTemplate queryTemplate = new QueryTemplate()
                        {
                            LookupLocation = template.LookupLocation,
                            Template       = template.Template,
                            Url            = template.Url
                        };
                        searchTemplate.Templates.Add(queryTemplate);
                    }
                    searchTemplates.Add(searchTemplate);
                }
            }
            return(searchTemplates);
        }
Esempio n. 4
0
        private QueryTemplate[] GetTemplatesByNodeUrnPath(string urnPath)
        {
            QueryTemplate[] templates = new QueryTemplate[0];
            GeneralOptions  options   = (GeneralOptions)package.GetDialogPage(typeof(GeneralOptions));

            switch (urnPath)
            {
            case "Server":
                templates = options.ServerTemplates;
                break;

            case "Server/Database":
                templates = options.DatabaseTemplates;
                break;

            case "Server/Database/Table":
                templates = options.TableTemplates;
                break;

            case "Server/Database/Table/Column":
                templates = options.ColumnTemplates;
                break;
            }
            return(templates);
        }
Esempio n. 5
0
 void PagedListEntity()        //ref IPagedList<E> in_out)
 {
     using (IDbConnection conn = Db.ConnectionFactory.Create())
     {
         SqlMapper.GridReader grid = conn.QueryMultiple(QueryTemplate.CreatePagedListQuery("", new string[] { "ID" }));
         grid.ReadSingle <int>();
         grid.ReadSingle <int>();
         grid.Read <E>();
     }
 }
Esempio n. 6
0
        public async virtual Task <E> GetEntityAsync(int id)
        {
            var result = default(E);

            if (id > 0)
            {
                result = await Db.SelectAsync <E>(QueryTemplate.CreateSelectQuery(), DbParameters.Create(new { id = id }));
            }

            return(result);
        }
Esempio n. 7
0
        public virtual E GetEntity(int id)
        {
            var result = default(E);

            if (id <= 0)
            {
                return(result);
            }

            return(Db.Select <E>(QueryTemplate.CreateSelectQuery(), DbParameters.Create(new { id = id })));
        }
Esempio n. 8
0
        private static void BindAndRunQuery <TPayload>(string queryName, CepStream <TPayload> queryStream, EventShape outputEventShape, List <string> inputFields, List <string> outputFields)
        {
            var inputConfig = new CsvInputConfig
            {
                InputFileName        = @"..\..\..\TollInput.txt",
                Delimiter            = new char[] { ',' },
                BufferSize           = 4096,
                CtiFrequency         = 1,
                CultureName          = "en-US",
                Fields               = inputFields,
                NonPayloadFieldCount = 2,
                StartTimePos         = 1,
                EndTimePos           = 2
            };

            // The adapter recognizes empty filename as a write to console.
            var outputConfig = new CsvOutputConfig
            {
                OutputFileName = string.Empty,
                Delimiter      = new string[] { "\t" },
                CultureName    = "en-US",
                Fields         = outputFields
            };

            // Note - Please change the instance name to the one you have chosen during installation
            using (var server = Server.Create("Default"))
            {
                Application application = server.CreateApplication("TollStationApp");

                // set up input and output adapters
                InputAdapter  inputAdapter  = application.CreateInputAdapter <CsvInputFactory>("input", "Csv Input Source");
                OutputAdapter outputAdapter = application.CreateOutputAdapter <CsvOutputFactory>("output", "Csv Output");

                // set up the query template
                QueryTemplate queryTemplate = application.CreateQueryTemplate("QueryTemplate", string.Empty, queryStream);

                // set up advance time settings to enqueue CTIs
                var advanceTimeGenerationSettings = new AdvanceTimeGenerationSettings(inputConfig.CtiFrequency, TimeSpan.Zero, true);
                var advanceTimeSettings           = new AdvanceTimeSettings(advanceTimeGenerationSettings, null, AdvanceTimePolicy.Adjust);

                // Bind query template to input and output streams
                QueryBinder queryBinder = new QueryBinder(queryTemplate);
                queryBinder.BindProducer <TollReading>("TollStream", inputAdapter, inputConfig, EventShape.Interval, advanceTimeSettings);
                queryBinder.AddConsumer("outputStream", outputAdapter, outputConfig, outputEventShape, StreamEventOrder.FullyOrdered);

                // Create a runnable query by binding the query template to the input stream of interval events,
                // and to an output stream of fully ordered point events (through an output adapter instantiated
                // from the output factory class)
                Query query = application.CreateQuery(queryName, "Hello Toll Query", queryBinder);

                RunQuery(query);
            }
        }
Esempio n. 9
0
        public static ExamTemplateCollection GetExamTemplates()
        {
            XmlElement templates = QueryTemplate.GetAbstractList();

            ExamTemplateCollection objTemplates = new ExamTemplateCollection();

            foreach (XmlElement each in templates.SelectNodes("ExamTemplate"))
            {
                ExamTemplate template = new ExamTemplate(each);
                objTemplates.Add(template.Identity, template);
            }

            return(objTemplates);
        }
Esempio n. 10
0
        public TemplateLookup()
        {
            _lookup_table = new Dictionary <string, string>();

            XmlElement xmlRecords = QueryTemplate.GetAbstractList();

            foreach (XmlElement each in xmlRecords.SelectNodes("ExamTemplate"))
            {
                string name = each.SelectSingleNode("TemplateName").InnerText;
                string id   = each.GetAttribute("ID");

                _lookup_table.Add(name, id);
            }
        }
Esempio n. 11
0
        public static TEIncludeCollection GetTEIncludes()
        {
            XmlElement xmlRecords = QueryTemplate.GetIncludeExamList();

            TEIncludeCollection includes = new TEIncludeCollection();

            foreach (XmlElement each in xmlRecords.SelectNodes("IncludeExam"))
            {
                TEInclude include = new TEInclude(each);
                includes.Add(include.Identity, include);
            }

            return(includes);
        }
Esempio n. 12
0
        /// <summary>
        /// Creates and binds a query with a single input stream.
        /// </summary>
        private static Query CreateQuery(Application application, CepStream <EventType> streamDefinition, Uri inputAddress, Uri outputAddress)
        {
            QueryTemplate template     = application.CreateQueryTemplate("QueryTemplate", null, streamDefinition);
            QueryBinder   binder       = new QueryBinder(template);
            InputAdapter  inputAdapter = application.CreateInputAdapter <WcfInputAdapterFactory>("InputAdapter", null);

            binder.BindProducer("Input", inputAdapter, inputAddress, EventShape.Point);
            OutputAdapter outputAdapter = application.CreateOutputAdapter <WcfOutputAdapterFactory>("OutputAdapter", null);

            binder.AddConsumer("Output", outputAdapter, outputAddress, EventShape.Point, StreamEventOrder.FullyOrdered);
            Query query = application.CreateQuery("Query", null, binder);

            return(query);
        }
Esempio n. 13
0
        public virtual E SaveEntity(E entity)
        {
            IDbParameters dbParameters = DbParameters.Create(entity);

            if (entity.Id > 0)
            {
                this.Db.Execute(QueryTemplate.CreateUpdateQuery(), dbParameters);
            }
            else
            {
                entity = Db.ExecuteAndQuery <E>(QueryTemplate.CreateInsertQuery(), dbParameters);
            }

            return(entity);
        }
Esempio n. 14
0
        public virtual async Task <E> SaveEntityAsync(E entity)
        {
            IDbParameters dbParameters = DbParameters.Create(entity);

            if (entity.Id > 0)
            {
                await this.Db.ExecuteAsync(QueryTemplate.CreateUpdateQuery(), dbParameters);
            }
            else
            {
                entity = await Db.ExecuteAndQueryAsync <E>(QueryTemplate.CreateInsertQuery(), dbParameters);
            }

            return(entity);
        }
Esempio n. 15
0
        private QueryTemplate[] GetTemplates(string nodeUrnPath, string nodeName)
        {
            QueryTemplate[] filteredTemplates = new QueryTemplate[0];
            GeneralOptions  options           = (GeneralOptions)package.GetDialogPage(typeof(GeneralOptions));

            QueryTemplate[] templates = GetTemplatesByNodeUrnPath(nodeUrnPath);
            if (templates != null)
            {
                filteredTemplates = templates.Where(t => t.Objects == "*" || t.Objects.Contains(nodeName)).ToArray();
            }
            return(filteredTemplates);
            //foreach (QueryTemplate template in templates) {
            //    if (template.Objects == "*" || template.Objects.Contains(nodeName)) {

            //    }
            //}
        }
Esempio n. 16
0
        public void DrawDebugItem()
        {
            var generator = new List <QueryGenerator>()
            {
                new Generator_Spiral(new ContextQuerier())
            };

            var template = new QueryTemplate(generator, new List <QueryTest>());
            var wrapper  = Manager.RunEQSQuery(template, _querier);

            wrapper.Run();

            DebugDrawFactory.Get().RegisterFactory(DebugShape.Sphere, item =>
            {
                // * Write draw API in here.
                Console.Write($"{item.Point} => {item.Score}");
            });

            wrapper.QueryResult.DrawDebugItem(DebugShape.Sphere);
        }
Esempio n. 17
0
        public void GetBestScoreResult()
        {
            var generator = new List <QueryGenerator>()
            {
                new Generator_Spiral(new ContextQuerier())
            };

            var tests = new List <QueryTest>()
            {
                new Test_Distance(new ContextQuerier())
            };

            var template = new QueryTemplate(generator, tests);
            var wrapper  = Manager.RunEQSQuery(template, _querier);

            wrapper.Run();

            var result = wrapper.QueryResult.GetBestScoreResult <Vector3>();

            Assert.AreEqual(wrapper.QueryResult.GetItem <Vector3>(wrapper.QueryResult.Length), result);
        }
Esempio n. 18
0
        public override User SaveEntity(User entity)
        {
            IDbParameters  dbParameters    = DbParameters.Create(entity);
            IList <string> excludedColumns = null;

            if (String.IsNullOrEmpty(entity.PasswordData))
            {
                excludedColumns = new List <string> {
                    "PasswordData"
                };
            }

            if (entity.Id > 0)
            {
                return(this.Db.ExecuteAndQuery <User>(QueryTemplate.CreateUpdateQuery(excludedColumns), dbParameters));
            }
            else
            {
                return(Db.ExecuteAndQuery <User>(QueryTemplate.CreateInsertQuery(excludedColumns), dbParameters));
            }
        }
Esempio n. 19
0
        private void ScriptQuery_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem item     = (ToolStripMenuItem)sender;
            QueryTemplate     template = (QueryTemplate)item.Tag;
            string            context  = this.Parent.Context;

            string[] text = GetQueryByContext(((QueryTemplate)item.Tag).Template, context);
            ServiceCache.ScriptFactory.CreateNewBlankScript(Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ScriptType.Sql);
            EnvDTE.TextDocument doc = (EnvDTE.TextDocument)ServiceCache.ExtensibilityModel.ActiveDocument.Object(null);
            StringBuilder       sb  = new StringBuilder();

            foreach (string str in text)
            {
                sb.AppendLine(str);
            }
            doc.EndPoint.CreateEditPoint().Insert(sb.ToString());
            if (template.Autoexec)
            {
                doc.DTE.ExecuteCommand("Query.Execute");
            }
        }
Esempio n. 20
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.PreRender"/> event. Parents CreateChildControls() logic moved here for processing
        /// data of input renderer.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs"/> object that contains the event data.</param>
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            if (!string.IsNullOrEmpty(QueryTemplate))
            {
                foreach (var param in HttpContext.Current.Request.Params.AllKeys)
                {
                    if (this.QueryTemplate.Contains("%" + param + "%"))
                    {
                        _hasUrlInput = true;
                        break;
                    }
                }

                foreach (var key in HttpContext.Current.Request.Form.AllKeys)
                {
                    var controlName = string.Empty;
                    if (key.Contains('$'))
                    {
                        controlName = key.Remove(0, key.LastIndexOf('$') + 1);
                    }
                    if (QueryTemplate.Contains("%" + controlName + "%"))
                    {
                        _hasFormInput = true;
                        break;
                    }
                }
            }

            Exception controlException = null;

            if (_hasFormInput || HttpContext.Current.Request.QueryString.ToString().Contains(Math.Abs((PortalContext.Current.ContextNodePath + this.ID).GetHashCode()).ToString()) || _hasUrlInput)
            {
                try
                {
                    this.GetQueryFilter();  // initialize query filter to see if query is invalid for empty search
                }
                catch (Exception ex)
                {
                    Logger.WriteException(ex);
                    controlException = new InvalidContentQueryException(this.QueryTemplate, innerException: ex);
                }

                var errorPanel = this.FindControlRecursive(EmptyQueryErrorPanelID);
                if (errorPanel != null)
                {
                    errorPanel.Visible = _invalidQuery;
                }
                if (_invalidQuery)
                {
                    return;
                }

                Content rootContent = null;

                try
                {
                    rootContent = GetModel() as Content;
                    if (rootContent != null)
                    {
                        rootContent.ChildrenDefinition.AllChildren = AllChildren;
                    }
                }
                catch (Exception ex)
                {
                    Logger.WriteException(ex);
                    if (controlException == null)
                    {
                        controlException = ex;
                    }
                }

                var model = new ParametricSearchViewModel
                {
                    State            = State,
                    SearchParameters = _searchParams.Select(searchParam => new SearchParameter {
                        Name = searchParam.Key, Value = searchParam.Value
                    }).
                                       ToArray()
                };

                try
                {
                    var childCount = 0;
                    if (rootContent != null)
                    {
                        try
                        {
                            childCount = rootContent.Children.Count();
                        }
                        catch (Exception ex)
                        {
                            Logger.WriteException(ex);
                            if (controlException == null)
                            {
                                controlException = ex;
                            }
                        }
                    }

                    try
                    {
                        model.Pager = GetPagerModel(childCount, State, string.Empty);
                    }
                    catch (Exception ex)
                    {
                        Logger.WriteException(ex);
                        if (controlException == null)
                        {
                            controlException = ex;
                        }

                        //in case of error, set dummy pager model
                        model.Pager = new PagerModel(0, State, string.Empty);
                    }

                    model.Content = rootContent;

                    if (RenderingMode == RenderMode.Xslt)
                    {
                        XmlModelData = model.ToXPathNavigator();
                    }
                    else if (RenderingMode == RenderMode.Ascx || RenderingMode == RenderMode.Native)
                    {
                        if (CanCache && Cacheable && IsInCache)
                        {
                            return;
                        }

                        var viewPath = RenderingMode == RenderMode.Native
                                           ? "/root/Global/Renderers/ContentCollectionView.ascx"
                                           : Renderer;

                        Control presenter = null;

                        try
                        {
                            presenter = Page.LoadControl(viewPath);
                        }
                        catch (Exception ex)
                        {
                            Logger.WriteException(ex);
                            if (controlException == null)
                            {
                                controlException = ex;
                            }
                        }

                        if (presenter != null)
                        {
                            var ccView = presenter as ContentCollectionView;
                            if (ccView != null)
                            {
                                ccView.Model = model;
                            }

                            if (rootContent != null)
                            {
                                var itemlist = presenter.FindControl(ContentListID);
                                if (itemlist != null)
                                {
                                    try
                                    {
                                        ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemlist,
                                                                                                            rootContent.Children);
                                    }
                                    catch (Exception ex)
                                    {
                                        Logger.WriteException(ex);
                                        if (controlException == null)
                                        {
                                            controlException = ex;
                                        }
                                    }
                                }
                            }

                            var itemPager = presenter.FindControl("ContentListPager");
                            if (itemPager != null)
                            {
                                try
                                {
                                    ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemPager,
                                                                                                        model.Pager.PagerActions);
                                }
                                catch (Exception ex)
                                {
                                    Logger.WriteException(ex);
                                    if (controlException == null)
                                    {
                                        controlException = ex;
                                    }
                                }
                            }

                            Controls.Add(presenter);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger.WriteException(ex);
                    if (controlException == null)
                    {
                        controlException = ex;
                    }
                }
            }

            try
            {
                if (controlException != null)
                {
                    BuildErrorMessage(controlException);
                }
            }
            catch (Exception ex)
            {
                var errorText = SNSR.GetString(SNSR.Portlets.ContentCollection.ErrorLoadingContentView, HttpUtility.HtmlEncode(ex.Message));

                this.Controls.Clear();
                this.Controls.Add(new LiteralControl(errorText));
            }

            ChildControlsCreated = true;
        }
        private async Task <IEnumerable <RevenueBySite> > RevenueByAllSites <RType>(ResolveFieldContext context, QueryTemplate <RType> query, DateTime date) where RType : IRevenue
        {
            if (context.ThrowIfInvalidAuthorization() == false)
            {
                return(null);
            }
            var sitekeys = context.GetAllSiteIds();
            List <RevenueBySite> results = new List <RevenueBySite>();

            using (IStatelessSession session = mysqlDataAccessor.SessionFactory.OpenStatelessSession())
            {
                foreach (int site in sitekeys)
                {
                    var result = await query(session, date, new int[] { site });

                    RevenueBySite line = new RevenueBySite {
                        siteid = site, sumofmoney = result.Sum(x => x.Revenue)
                    };
                    results.Add(line);
                }
            }
            return(results.OrderByDescending(x => x.sumofmoney));
        }
        private async Task <RevenueBySummary> GetRevenueBySummaryAsync <RType>(ResolveFieldContext context, QueryTemplate <RType> query, DateTime date) where RType : IRevenue
        {
            try
            {
                if (context.ThrowIfInvalidAuthorization() == false)
                {
                    return(null);
                }

                var keys = context.GetAllSiteIds();
                using (IStatelessSession session = mysqlDataAccessor.SessionFactory.OpenStatelessSession())
                {
                    var result = await query(session, date, keys);

                    RevenueBySummary summary = new RevenueBySummary();
                    double           money   = result.Sum(x => x.Revenue);
                    summary.sumofmoney = money;
                    return(summary);
                }
            }
            catch (Exception ex)
            {
                context.Errors.Add(new GraphQL.ExecutionError(ex.Message, ex));
                return(null);
            }
        }
        private async Task <IEnumerable <RevenueBySite> > RevenueSitesByRcc <RType>(ResolveFieldContext context, QueryTemplate <RType> query, DateTime date, int rcc) where RType : IRevenue
        {
            if (context.ThrowIfInvalidAuthorization() == false)
            {
                return(null);
            }
            var rcckeys = context.GetSiteKeysByRcc();
            List <RevenueBySite> results = new List <RevenueBySite>();

            if (rcckeys.ContainsKey(rcc) == false)
            {
                context.Errors.Add(new GraphQL.ExecutionError("대상 RCC의 지역 사이트는 소유하지 않았습니다"));
                return(null);
            }

            using (var session = mysqlDataAccessor.SessionFactory.OpenStatelessSession())
            {
                var result = await query(session, date, rcckeys[rcc]);

                return(result.Select(x => new RevenueBySite {
                    siteid = x.Siteid, sumofmoney = x.Revenue
                }));
            }
        }
        private async Task <RevenueBySite> RevenueSitesBysite <RType>(ResolveFieldContext context, QueryTemplate <RType> query, DateTime date, int site) where RType : IRevenue
        {
            if (context.ThrowIfInvalidAuthorization() == false)
            {
                return(null);
            }
            var siteKeys = context.GetAllSiteIds();

            if (siteKeys.Contains(site) == false)
            {
                context.Errors.Add(new GraphQL.ExecutionError("대상 사이트는 소유하지 않았습니다"));
                return(null);
            }
            using (IStatelessSession session = mysqlDataAccessor.SessionFactory.OpenStatelessSession())
            {
                var result = await query(session, date, new int[] { site });

                RevenueBySite line = new RevenueBySite {
                    siteid = site, sumofmoney = result.Sum(x => x.Revenue)
                };
                return(line);
            }
        }
        private async Task <RevenueModelByRcc> RevenueByRcc <RType>(ResolveFieldContext context, QueryTemplate <RType> query, DateTime date, int rcc) where RType : IRevenue
        {
            if (context.ThrowIfInvalidAuthorization() == false)
            {
                return(null);
            }
            var rcckeys = context.GetSiteKeysByRcc();
            List <RevenueModelByRcc> results = new List <RevenueModelByRcc>();

            if (rcckeys.ContainsKey(rcc) == false)
            {
                context.Errors.Add(new GraphQL.ExecutionError("대상 RCC의 지역 사이트는 소유하지 않았습니다"));
                return(null);
            }
            IEnumerable <int> siteKeys = rcckeys[rcc];

            using (IStatelessSession session = mysqlDataAccessor.SessionFactory.OpenStatelessSession())
            {
                var result = await query(session, date, siteKeys);

                RevenueModelByRcc line = new RevenueModelByRcc {
                    rcc = rcc, sumofmoney = result.Sum(x => x.Revenue)
                };
                return(line);
            }
        }
        private async Task <IEnumerable <RevenueModelByRcc> > RevenueByAll <RType>(ResolveFieldContext context, QueryTemplate <RType> query, DateTime date) where RType : IRevenue
        {
            if (context.ThrowIfInvalidAuthorization() == false)
            {
                return(null);
            }
            var rcckeys = context.GetSiteKeysByRcc();
            List <RevenueModelByRcc> results = new List <RevenueModelByRcc>();

            using (IStatelessSession session = mysqlDataAccessor.SessionFactory.OpenStatelessSession())
            {
                foreach (int rcc in rcckeys.Keys)
                {
                    IEnumerable <int> siteKeys = rcckeys[rcc];
                    var rows = await query(session, date, siteKeys);

                    RevenueModelByRcc line = new RevenueModelByRcc {
                        rcc = rcc, sumofmoney = rows.Sum(x => x.Revenue)
                    };
                    line.sites = rows.Select(x => new RevenueBySite {
                        siteid = x.Siteid, sumofmoney = x.Revenue
                    });
                    results.Add(line);
                }
                return(results);
            }
        }
 public QueryControlsBuilder(QueryTemplate template, Query query)
 {
     _template = template;
     _query = query;
 }
Esempio n. 28
0
        public IEnumerable <DbColumnInfo> ReadMetadataFromTable()
        {
            IDbConnection dbConnection = Db.ConnectionFactory.Create();

            return(dbConnection.Query <DbColumnInfo>(QueryTemplate.CreateMetaDataQuery()));
        }
Esempio n. 29
0
        /// <summary>
        /// Binds the query template to the specified adapters.
        /// </summary>
        /// <param name="inputAdapter">Input adapter metadata object to bind to all query template inputs.</param>
        /// <param name="outputAdapter">Input adapter metadata object to bind to the query template output.</param>
        /// <param name="queryTemplate">Query template to bind to adapters.</param>
        /// <returns>The query binder.</returns>
        private static QueryBinder BindQuery(InputAdapter inputAdapter, OutputAdapter outputAdapter, QueryTemplate queryTemplate)
        {
            // Create a query binder, wrapping the query template.
            QueryBinder queryBinder = new QueryBinder(queryTemplate);

            // Define the runtime configuration for both input adapters.
            var sensorInputConf = new TextFileReaderConfig
            {
                InputFileName = @"..\..\..\TrafficSensors.csv",
                Delimiter = ',',
                CtiFrequency = 9,
                CultureName = "en-US",
                InputFieldOrders = new Collection<string>() { "SensorId", "AverageSpeed", "VehicularCount" }
            };
            var locationInputConf = new TextFileReaderConfig
            {
                InputFileName = @"..\..\..\TrafficSensorLocations.csv",
                Delimiter = ',',
                CtiFrequency = 100,
                CultureName = "en-US",
                InputFieldOrders = new Collection<string>() { "SensorId", "LocationId" }
            };

            // Define the runtime configuration for the output adapter.
            // Specify an empty file name, which will just dump the output
            // events on the console. Also pass an event handle name to
            // synchronize the shutdown.
            var outputConf = new TextFileWriterConfig
            {
                OutputFileName = string.Empty,
                Delimiter = '\t'
            };

            // Bind input adapters to query template's input streams,
            // applying runtime configuration.
            // In this example, the given input file for sensor input
            // contains interval events (each sensor reading has a start
            // and end time), while the location input is represented by
            // edge events (for each event, the end time is not known in
            // advance).
            queryBinder.BindProducer("sensorInput", inputAdapter, sensorInputConf, EventShape.Interval);
            queryBinder.BindProducer("locationInput", inputAdapter, locationInputConf, EventShape.Edge);

            // Bind output adapter to query, applying runtime
            // configuration.
            queryBinder.AddConsumer<TextFileWriterConfig>("queryresult", outputAdapter, outputConf, EventShape.Point, StreamEventOrder.FullyOrdered);
            return queryBinder;
        }
Esempio n. 30
0
 public virtual IList <E> ListEntity()
 {
     return(Db.List <E>(QueryTemplate.CreateListQuery(), null).ToList());
 }
Esempio n. 31
0
 public object Any(QueryTemplate request)
 {
     return(new QueryResponseTemplate <Poco>());
 }
Esempio n. 32
0
        public virtual async Task <IList <E> > ListEntityAsync()
        {
            var result = await Db.ListAsync <E>(QueryTemplate.CreateListQuery(), null);

            return(result.ToList());
        }