Example #1
0
        internal void CreateBasicCellRelation(ViewCellRelation viewCellRelation)
        {
            var slots = GetAllQuerySlots();

            // Create a base cell relation that has all the scalar slots of this
            m_basicCellRelation = new BasicCellRelation(this, viewCellRelation, slots);
        }
Example #2
0
        private void GenerateCellRelations(int cellNumber)
        {
            // Generate the view cell relation
            var projectedSlots = new List <ViewCellSlot>();

            // construct a ViewCellSlot for each slot
            Debug.Assert(
                CQuery.NumProjectedSlots == SQuery.NumProjectedSlots,
                "Cell queries in cell have a different number of slots");
            for (var i = 0; i < CQuery.NumProjectedSlots; i++)
            {
                var cSlot = CQuery.ProjectedSlotAt(i);
                var sSlot = SQuery.ProjectedSlotAt(i);
                Debug.Assert(cSlot != null, "Has cell query been normalized?");
                Debug.Assert(sSlot != null, "Has cell query been normalized?");

                // These slots better be MemberProjectedSlots. We do not have constants etc at this point.
                Debug.Assert(cSlot is MemberProjectedSlot, "cSlot is expected to be MemberProjectedSlot");
                Debug.Assert(sSlot is MemberProjectedSlot, "sSlot is expected to be MemberProjectedSlot");

                var cJoinSlot = (MemberProjectedSlot)cSlot;
                var sJoinSlot = (MemberProjectedSlot)sSlot;

                var slot = new ViewCellSlot(i, cJoinSlot, sJoinSlot);
                projectedSlots.Add(slot);
            }
            m_viewCellRelation = new ViewCellRelation(this, projectedSlots, cellNumber);
        }
        private void GenerateCellRelations(int cellNumber)
        {
            List <ViewCellSlot> slots = new List <ViewCellSlot>();

            for (int slotNum = 0; slotNum < this.CQuery.NumProjectedSlots; ++slotNum)
            {
                ProjectedSlot       projectedSlot1 = this.CQuery.ProjectedSlotAt(slotNum);
                ProjectedSlot       projectedSlot2 = this.SQuery.ProjectedSlotAt(slotNum);
                MemberProjectedSlot cSlot          = (MemberProjectedSlot)projectedSlot1;
                MemberProjectedSlot sSlot          = (MemberProjectedSlot)projectedSlot2;
                ViewCellSlot        viewCellSlot   = new ViewCellSlot(slotNum, cSlot, sSlot);
                slots.Add(viewCellSlot);
            }
            this.m_viewCellRelation = new ViewCellRelation(this, slots, cellNumber);
        }
        internal void CreateBasicCellRelation(ViewCellRelation viewCellRelation)
        {
            List <MemberProjectedSlot> allQuerySlots = this.GetAllQuerySlots();

            this.m_basicCellRelation = new BasicCellRelation(this, viewCellRelation, (IEnumerable <MemberProjectedSlot>)allQuerySlots);
        }