public long ReplicateWith(string server, string database, bool reset = false)
{
long docsSync = 0;
RemoteDB remoteDB = new RemoteDB();
long lastSync = GetLastSync(server + "/" + database);
if (reset)
{
lastSync = 0;
}
JsonData docs = remoteDB.GetChanges(server, database, true, lastSync);
foreach (JsonData result in docs["results"])
{
string id = (string)result["id"];
string rev = (string)result["changes"][0]["rev"];
// //result.Remove("_rev");
// //result.Remove("_id");
string doc = result["doc"].ToJson();
try
{
PutDoc(id, doc, rev);
}
catch (Exception ee)
{
Debug.WriteLine(ee.ToString());
}
}
docsSync = docs["results"].Count;
///Debug.WriteLine("Document sync: " + docs.results.Count);
////Debug.WriteLine(AllDocs());
SetLastSync(server + "/" + database, (int)docs["last_seq"]);
docs = null;
remoteDB = null;
return(docsSync);
}