Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="command"></param>
        public void AddPendingCommand(PendingCommand command)
        {
            Validation.IsNotNull(command, "command");

            if (!_pendingCommands.Contains(command))
            {
                _pendingCommands.Add(command);
            }
        }
        /// <summary>
        /// Add a new database command to the current transaction set
        /// </summary>
        /// <param name="schema"> </param>
        /// <param name="commandName"></param>
        /// <param name="args"></param>
        /// <param name="callback"></param>
        /// <param name="data"></param>
        public virtual void AddCommand(string schema, string commandName, DictionaryAtom args = null,
                                       EventCallback <RealmEventArgs> callback = null, DictionaryAtom data = null)
        {
            Validation.IsNotNullOrEmpty(schema, "schema");
            Validation.IsNotNullOrEmpty(commandName, "commandName");
            Validation.Validate(_currentTransaction.State == TransactionState.Building);

            var pendingCommand = new PendingCommand(this)
            {
                Callback = callback,
                Data     = data
            };

            _currentTransaction.PendingCommands.Add(pendingCommand);

            var dbCommandDictionary = new DictionaryAtom();

            dbCommandDictionary.Set("schema", schema);
            dbCommandDictionary.Set("commandName", commandName);
            dbCommandDictionary.Set("parameters", args);

            _currentTransaction.DbCommands.Add(dbCommandDictionary);
        }