/// <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 RemoveAndReturnClause Clone(CloneContext cloneContext)
        {
            Utils.CheckNotNull("cloneContext", cloneContext);

            var result = new RemoveAndReturnClause(ItemName, CollectionType, KeySelector);
            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 RemoveAndReturnClause Clone(CloneContext cloneContext)
        {
            Utils.CheckNotNull("cloneContext", cloneContext);

            var result = new RemoveAndReturnClause(ItemName, CollectionType, KeySelector);

            return(result);
        }
        public void VisitRemoveAndReturnClause(RemoveAndReturnClause removeAndReturnClause, QueryModel queryModel)
        {
            if (removeAndReturnClause.KeySelector != null)
            {
                QueryText.Append(" remove ");

                GetAqlExpression(removeAndReturnClause.KeySelector, queryModel);
            }
            else
            {
                QueryText.AppendFormat(" remove {0} ", LinqUtility.ResolvePropertyName(removeAndReturnClause.ItemName));
            }

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