public void RestoreDrawings() { var conStr = ConfigurationManager.ConnectionStrings["mongoServer"].ToString(); var dbName = ConfigurationManager.ConnectionStrings["dbName"].ToString(); var date = new DateTime(2017, 7, 24, 0, 0, 0); var auditor = new ObjectsAuditor((new MongoDbConnection(conStr, dbName)).Database); EntityCommonDataManagers ent = new EntityCommonDataManagers(); ent.CollectionsContainer = new CollectionsContainer((new MongoDbConnection(conStr, dbName)).Database); RestoreDrawings(282966, date, auditor, ent); }
private void RestoreDrawings(int parent, DateTime date, ObjectsAuditor auditor, EntityCommonDataManagers ent) { var list = auditor.GetDeletedByParentId <Drawing>(parent); foreach (var audit in list) { if (audit.DateOperation > date) { var doc = (Drawing)BsonSerializer.Deserialize(BsonDocument.Parse(audit.JsonFormatObject), typeof(Drawing)); ent.RestoreDocument(doc, null); RestoreDrawings(doc.Id.Value, date, auditor, ent); } } }