Exemplo n.º 1
0
        /// <summary>
        /// Executes this operation
        /// </summary>
        /// <param name="rows">The rows.</param>
        /// <returns></returns>
        public override IEnumerable <Row> Execute(IEnumerable <Row> rows)
        {
            IEnumerable <Database> dbQuery = from db in Client.CreateDatabaseQuery()
                                             where db.Id == DocumentDatabase
                                             select db;


            Database database = dbQuery.FirstOrDefault();

            var collection = Client.CreateDocumentCollectionQuery(database.CollectionsLink).Where(coll => coll.Id == DocumentCollection).AsEnumerable().FirstOrDefault();


            var query = Client.CreateDocumentQuery(collection.DocumentsLink, this.Command);
            EnumerableDataReader reader = new DocumentDbDataReader(query.AsEnumerable());

            while (reader.Read())
            {
                yield return(CreateRowFromReader(reader));
            }


            //Client.CreateDocumentCollectionQuery(this.EndpointUrl, )

            // Client = new DocumentClient(new Uri(ConfigurationManager.AppSettings[EndpointUrl]),
            //    ConfigurationManager.AppSettings[EndpointKey],
            // new ConnectionPolicy { ConnectionMode = ConnectionMode.Direct, ConnectionProtocol = Protocol.Tcp });

            /*
             *  using (currentCommand = connection.CreateCommand())
             *  {
             *      currentCommand.Transaction = transaction;
             *      PrepareCommand(currentCommand);
             *      using (IDataReader reader = currentCommand.ExecuteReader())
             *      {
             *          while (reader.Read())
             *          {
             *              yield return CreateRowFromReader(reader);
             *          }
             *      }
             *  }
             *
             *  if (transaction != null) transaction.Commit();*/
        }
        /// <summary>
        /// Executes this operation
        /// </summary>
        /// <param name="rows">The rows.</param>
        /// <returns></returns>
        public override IEnumerable<Row> Execute(IEnumerable<Row> rows)
        {
            IEnumerable<Database> dbQuery = from db in Client.CreateDatabaseQuery()
                                            where db.Id == DocumentDatabase
                                            select db;

            Database database = dbQuery.FirstOrDefault();

            var collection = Client.CreateDocumentCollectionQuery(database.CollectionsLink).Where(coll => coll.Id == DocumentCollection).AsEnumerable().FirstOrDefault();

            var query = Client.CreateDocumentQuery(collection.DocumentsLink, this.Command);
            EnumerableDataReader reader = new DocumentDbDataReader(query.AsEnumerable());
            while (reader.Read())
            {
                yield return CreateRowFromReader(reader);
            }

            //Client.CreateDocumentCollectionQuery(this.EndpointUrl, )

            // Client = new DocumentClient(new Uri(ConfigurationManager.AppSettings[EndpointUrl]),
            //    ConfigurationManager.AppSettings[EndpointKey],
            // new ConnectionPolicy { ConnectionMode = ConnectionMode.Direct, ConnectionProtocol = Protocol.Tcp });

            /*
                using (currentCommand = connection.CreateCommand())
                {
                    currentCommand.Transaction = transaction;
                    PrepareCommand(currentCommand);
                    using (IDataReader reader = currentCommand.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            yield return CreateRowFromReader(reader);
                        }
                    }
                }

                if (transaction != null) transaction.Commit();*/
        }