コード例 #1
0
ファイル: MdxSet.cs プロジェクト: nGenieDeveloper/FluentMdx
        /// <summary>
        /// Appends the specified <see cref="MdxTuple"/> and returns the updated current instance of <see cref="MdxSet"/>.
        /// If there are any children other than <see cref="MdxTuple"/> then each child will be wrapped into <see cref="MdxTuple"/>.
        /// </summary>
        /// <param name="tuple">Specified <see cref="MdxSet"/>.</param>
        /// <returns>Returns the updated current instance of <see cref="MdxTuple"/>.</returns>
        public MdxSet With(MdxTuple tuple)
        {
            if (!_children.Any())
            {
                _children.Add(tuple);

                return(this);
            }

            if (_children.OfType <MdxTuple>().Any())
            {
                _children.Add(tuple);

                return(this);
            }

            var copiedChildren = new List <IMdxMember>(_children);

            _children.Clear();

            foreach (var member in copiedChildren)
            {
                _children.Add(Mdx.Tuple().With(member));
            }

            return(this);
        }
コード例 #2
0
ファイル: MdxTuple.cs プロジェクト: nGenieDeveloper/FluentMdx
        /// <summary>
        /// Appends the specified <see cref="MdxTuple"/>, but wraps it into <see cref="MdxSet"/> and returns the updated
        /// current instance of <see cref="MdxTuple"/>. If there are any <see cref="MdxSet"/>s in <see cref="Children"/>
        /// then specified <see cref="MdxTuple"/> is appended to the last <see cref="MdxSet"/>.
        /// </summary>
        /// <param name="tuple">Specified <see cref="MdxTuple"/>.</param>
        /// <returns>Returns the updated current instance of <see cref="MdxTuple"/>.</returns>
        public MdxTuple With(MdxTuple tuple)
        {
            var lastSet = _children.OfType <MdxSet>().LastOrDefault();

            if (lastSet == null)
            {
                return(With(Mdx.Set().With(tuple)));
            }

            lastSet.With(tuple);

            return(this);
        }
コード例 #3
0
 /// <summary>
 /// Sets the slicer for axis and returns the updated current instance of <see cref="MdxAxis"/>.
 /// </summary>
 /// <param name="slicer">Axis slicer.</param>
 /// <returns>Returns the updated current instance of <see cref="MdxAxis"/>.</returns>
 public MdxAxis WithSlicer(MdxTuple slicer)
 {
     AxisSlicer = slicer;
     return(this);
 }
コード例 #4
0
 public MdxDeclaration As(MdxTuple expression)
 {
     Expression = expression;
     return(this);
 }
コード例 #5
0
 /// <summary>
 /// Appends the <see cref="MdxTuple"/> into where clause and returns the updated current instance of <see cref="MdxQuery"/>.
 /// </summary>
 /// <param name="tuple">Specified <see cref="MdxTuple"/>.</param>
 /// <returns>Returns the updated current instance of <see cref="MdxQuery"/>.</returns>
 public MdxQuery Where(MdxTuple tuple)
 {
     _whereClauseTuples.Add(tuple);
     return(this);
 }