/// <summary>
        /// Clones this clause.
        /// </summary>
        /// <param name="cloneContext">The clones of all query source clauses are registered with this <see cref="CloneContext"/>.</param>
        /// <returns>A clone of this clause.</returns>
        public InsertAndReturnClause Clone(CloneContext cloneContext)
        {
            Utils.CheckNotNull("cloneContext", cloneContext);

            var result = new InsertAndReturnClause(WithSelector, ItemName, CollectionType);
            return result;
        }
Example #2
0
        /// <summary>
        /// Clones this clause.
        /// </summary>
        /// <param name="cloneContext">The clones of all query source clauses are registered with this <see cref="CloneContext"/>.</param>
        /// <returns>A clone of this clause.</returns>
        public InsertAndReturnClause Clone(CloneContext cloneContext)
        {
            Utils.CheckNotNull("cloneContext", cloneContext);

            var result = new InsertAndReturnClause(WithSelector, ItemName, CollectionType);

            return(result);
        }
        public void VisitInsertAndReturnClause(InsertAndReturnClause insertAndReturnClause, QueryModel queryModel)
        {
            if (insertAndReturnClause.WithSelector != null)
            {
                QueryText.Append(" insert ");

                GetAqlExpression(insertAndReturnClause.WithSelector, queryModel);
            }
            else
            {
                QueryText.AppendFormat(" insert {0} ", LinqUtility.ResolvePropertyName(insertAndReturnClause.ItemName));
            }

            CrudState.ModelVisitorHaveCrudOperation = true;
            CrudState.Collection = LinqUtility.ResolveCollectionName(Db, insertAndReturnClause.CollectionType);
            CrudState.ReturnResult = insertAndReturnClause.ReturnResult;
            CrudState.ReturnResultKind = "new";
        }