Esempio n. 1
0
        public static SingleReader <T1> ThenChildren <T1, T2>(
            this SingleReader <T1> previous,
            IRecordReader <T2> recordReader,
            Action <T1, List <T2> > into = null)
        {
            if (previous == null)
            {
                throw new ArgumentNullException("previous");
            }
            if (recordReader == null)
            {
                throw new ArgumentNullException("recordReader");
            }

            return(previous.AddChild(new SingleChildren <T1, T2>(recordReader, new SingleChildMapper <T1, T2>(into))));
        }
Esempio n. 2
0
        public static SingleReader <T1> ThenChildren <T1, T2, TId>(
            this SingleReader <T1> previous,
            IChildRecordReader <T2> recordReader,
            Func <T1, TId> id,
            Action <T1, List <T2> > into = null)
        {
            if (previous == null)
            {
                throw new ArgumentNullException("previous");
            }
            if (recordReader == null)
            {
                throw new ArgumentNullException("recordReader");
            }

            return(previous.AddChild(new Children <T1, T2, TId>(recordReader.GetGuardianReader <TId>(), new ChildMapper <T1, T2, TId>(id, into))));
        }
Esempio n. 3
0
        public static SingleReader <TRoot> ThenChildren <TRoot, TParent, TChild, TId>(
            this SingleReader <TRoot> previous,
            IChildRecordReader <TChild, TId> recordReader,
            Func <TRoot, IEnumerable <TParent> > parents,
            Func <TParent, TId> id = null,
            Action <TParent, List <TChild> > into = null)
        {
            if (previous == null)
            {
                throw new ArgumentNullException("previous");
            }
            if (recordReader == null)
            {
                throw new ArgumentNullException("recordReader");
            }

            return(previous.AddChild(new Children <TRoot, TChild, TId>(recordReader, new ChildMapper <TRoot, TParent, TChild, TId>(parents, id, into))));
        }