Ejemplo n.º 1
0
        public void Paste()
        {
            var clip = HttpContext.Current.Session["QueryClipboard"] as string;

            if (clip == null)
            {
                return;
            }
            var newclause = Condition.Import(clip);

            foreach (var c in newclause.AllConditions)
            {
                Selected.AllConditions[c.Key] = c.Value;
            }
            ;
            newclause.AllConditions = Selected.AllConditions;

            if (Selected.IsGroup)
            {
                newclause.Order    = Selected.MaxClauseOrder() + 2;
                newclause.ParentId = Selected.Id;
            }
            else
            {
                newclause.Order    = Selected.Order + 1;
                newclause.ParentId = Selected.Parent.Id;
                Selected.Parent.ReorderClauses();
            }
            TopClause.Save(DbUtil.Db, increment: true);
        }
Ejemplo n.º 2
0
        public void TagAll(Tag tag = null)
        {
            DbUtil.Db.SetNoLock();
            var q = DbUtil.Db.People.Where(TopClause.Predicate(DbUtil.Db));

            if (TopClause.PlusParentsOf)
            {
                q = DbUtil.Db.PersonQueryPlusParents(q);
            }
            else if (TopClause.ParentsOf)
            {
                q = DbUtil.Db.PersonQueryParents(q);
            }

            if (TopClause.FirstPersonSameEmail)
            {
                q = DbUtil.Db.PersonQueryFirstPersonSameEmail(q);
            }

            if (tag != null)
            {
                DbUtil.Db.TagAll(q, tag);
            }
            else
            {
                DbUtil.Db.TagAll(q);
            }
        }
Ejemplo n.º 3
0
        public Guid AddConditionToGroup()
        {
            var nc = Selected.AddNewClause();

            TopClause.Save(DbUtil.Db);
            return(nc.Id);
        }
Ejemplo n.º 4
0
        public void BuildingClauseWhenTopIsNotDefined()
        {
            var data = new Dictionary<string, string>();
            var result = TopClause.Build(new ODataOptions<Model>(data));

            result.Should().BeEmpty();
        }
Ejemplo n.º 5
0
        public Guid AddGroupToGroup()
        {
            var g  = Selected.AddNewGroupClause();
            var nc = g.AddNewClause();

            TopClause.Save(DbUtil.Db);
            return(nc.Id);
        }
Ejemplo n.º 6
0
        public void BuildClauseWhenOnlyTopIsDefined()
        {
            var data = new Dictionary<string, string> {
                ["$top"] = "20"
            };

            var result = TopClause.Build(new ODataOptions<Model>(data));
            result.Should().Be("TOP(20)");
        }
Ejemplo n.º 7
0
        public void BuildingClauseWhenTopAndSkipAreDefined()
        {
            var data = new Dictionary<string, string> {
                ["$top"] = "20",
                ["$skip"] = "5"
            };

            var result = TopClause.Build(new ODataOptions<Model>(data));
            result.Should().BeEmpty();
        }
Ejemplo n.º 8
0
        public void UnTagAll()
        {
            Db.SetNoLock();
            var q = Db.People.Where(TopClause.Predicate(Db));

            if (TopClause.ParentsOf)
            {
                q = Db.PersonQueryParents(q);
            }
            Db.UnTagAll(q);
        }
Ejemplo n.º 9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SelectQueryBuilder" /> class.
 /// </summary>
 public SelectQueryBuilder()
 {
     GroupByColumns   = new List <string>();
     HavingClauses    = new List <WhereClause>();
     JoinClauses      = new List <JoinClause>();
     OrderByStatement = new List <OrderByClause>();
     SelectedColumns  = new List <string>();
     SelectedTables   = new List <string>();
     TopClause        = new TopClause(100, TopUnit.Percent);
     WhereClauses     = new List <WhereClause>();
 }
Ejemplo n.º 10
0
        public void MakeTopGroup()
        {
            Selected.Description = TopClause.Description;
            var conditions = Selected.Conditions.ToList();

            foreach (var c in conditions)
            {
                c.ParentId = TopClause.Id;
            }
            Selected.Id       = TopClause.Id;
            Selected.ParentId = null;
            TopClause         = Selected;
            TopClause.Save(DbUtil.Db);
        }
Ejemplo n.º 11
0
        public void InsertGroupAbove()
        {
            var g = new Condition
            {
                Id            = Guid.NewGuid(),
                ConditionName = QueryType.Group.ToString(),
                Comparison    = CompareType.AnyTrue.ToString(),
                AllConditions = Selected.AllConditions
            };

            if (Selected.IsFirst)
            {
                Selected.ParentId = g.Id;
                g.ParentId        = null;
            }
            else
            {
                var list = Selected.Parent.Conditions.Where(cc => cc.Order >= Selected.Order).ToList();
                g.ParentId = Selected.ParentId;
                foreach (var c in list)
                {
                    c.ParentId = g.Id;
                }
                g.Order = Selected.MaxClauseOrder();
            }
            Selected.AllConditions.Add(g.Id, g);
            if (g.IsFirst)
            {
                // g will now becojme the new TopClause
                g.Description = TopClause.Description;

                // swap TopClauseId with the new GroupId so the saved query will have the same id
                var tcid       = TopClause.Id;
                var gid        = g.Id;
                var conditions = TopClause.Conditions.ToList();
                TopClause.Id = gid;
                foreach (var c in conditions)
                {
                    c.ParentId = gid;
                }
                g.Id = tcid;
                TopClause.ParentId = g.Id;
                TopClause          = g;
                TopClause.Save(DbUtil.Db);
            }
            TopClause.Save(DbUtil.Db, increment: true);
        }
Ejemplo n.º 12
0
        public virtual bool Action(TopClause child)
        {
            _HTML += "TOP ";
            if (child.TopCount != null)
            {
                Scan(child.TopCount);
            }
            if (child.IsPercent)
            {
                _HTML += " PERCENT";
            }
            if (child.IsWithTies)
            {
                _HTML += " WITH TIES";
            }
            _HTML += " ";

            return(false);
        }
Ejemplo n.º 13
0
 public void UpdateCondition()
 {
     this.CopyPropertiesTo(Selected);
     TopClause.Save(DbUtil.Db, increment: true);
 }
Ejemplo n.º 14
0
 public void DeleteCondition()
 {
     Selected.DeleteClause();
     TopClause.Save(DbUtil.Db, increment: true);
 }
Ejemplo n.º 15
0
 public void Cut()
 {
     HttpContext.Current.Session["QueryClipboard"] = Selected.ToXml();
     Selected.DeleteClause();
     TopClause.Save(DbUtil.Db, increment: true);
 }
Ejemplo n.º 16
0
 public void Cut()
 {
     Util.QueryClipboard = Selected.ToXml();
     Selected.DeleteClause();
     TopClause.Save(Db, increment: true);
 }