Ejemplo n.º 1
0
        public void PushBy(DeliverCriteria criteria)
        {
            var converter = new JsonToQueryConverter();

            IMongoQuery filter;

            switch (criteria.WindowOption)
            {
            case (int)WindowOption.StartDate:
                filter = Query.And(converter.Convert(criteria.Query),
                                   Query.GTE("Flights.Start", criteria.StartDateTime),
                                   Query.LTE("Flights.Start", criteria.EndDateTime));
                break;

            case (int)WindowOption.InFlightDuring:
                filter = Query.And(converter.Convert(criteria.Query),
                                   Query.LTE("Flights.Start", criteria.EndDateTime),
                                   Query.GTE("Flights.End", criteria.StartDateTime));
                break;

            default:
                throw new Exception(string.Format("Invalid enumeration for WindowOption: {0}", criteria.WindowOption));
            }

            Push(criteria.Name, filter);
        }
Ejemplo n.º 2
0
        public void PushBy(string queueName, string query, IList <string> airingIds)
        {
            var converter = new JsonToQueryConverter();

            var filter = Query.And(
                converter.Convert(query),
                Query.In("AssetId", new BsonArray(airingIds)));

            Push(queueName, filter);
        }
Ejemplo n.º 3
0
        public void PushBy(string queueName, string query, int hoursOut, IList <string> airingIds)
        {
            var converter = new JsonToQueryConverter();

            var targetDate = DateTime.UtcNow.AddHours(hoursOut);

            var filter = Query.And(
                converter.Convert(query),

                Query.ElemMatch("Flights", Query.Or(
                                    Query.GT("Start", targetDate),
                                    Query.LT("End", DateTime.UtcNow))),

                Query.In("AssetId", new BsonArray(airingIds)));

            Push(queueName, filter);
        }
Ejemplo n.º 4
0
        protected static QueryDocument Create(string jsonQuery)
        {
            var converter = new JsonToQueryConverter();

            return(converter.Convert(jsonQuery));
        }