private void CommitNewMastrerPassord(string connectionString)
 {
     using (this.database = DatabaseConnections.CreateInstance(connectionString))
     {
         UpdateStoredPasswords();
         this.database.UpdateMasterPassword(this.newStoredKey);
         this.database.SaveChanges();
     }
     this.database = null;
 }
 internal void SaveAndReportFavoritesUpdated(Database database, List<DbFavorite> dbFavorites,
     List<IFavorite> selectedFavorites)
 {
     try
     {
         database.SaveImmediatelyIfRequested();
         this.cache.Update(dbFavorites);
         this.dispatcher.ReportFavoritesUpdated(selectedFavorites);
     }
     catch (DbUpdateException)
     {
         this.favorites.RefreshCache();
     }
 }
 private static Versioning.Version GetFirstVersionInVersionsTable(Database database)
 {
     const string LAST_VERSION_COMMAND = "Select top 1 VersionNumber from Version order by Date desc";
     string lastVersion = database.Database.SqlQuery<string>(LAST_VERSION_COMMAND).FirstOrDefault();
     var parser = new Versioning.JustVersionParser();
     return parser.Parse(lastVersion);
 }
 private static int ContainsDatabaseVersionTable(Database database)
 {
     const string VERSIONTABLE_COMMAND = "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Version'";
     return database.Database.SqlQuery<int>(VERSIONTABLE_COMMAND)
                    .FirstOrDefault();
 }
 internal void LoadReferences(Database database)
 {
     var securityEntry = database.Entry(this);
     securityEntry.Reference(so => so.CredentialBase).Load();
     securityEntry.Reference(so => so.CredentialSet).Load();
 }
Exemplo n.º 6
0
 private void TryToRefreshUpdated(DbGroup toUpdate, Database database)
 {
     try
     {
         database.RefreshEntity(toUpdate);
         this.SaveAndReportUpdated(database, toUpdate);
     }
     catch (InvalidOperationException)
     {
         this.cache.Delete(toUpdate);
         this.dispatcher.ReportGroupsDeleted(new List<IGroup>(){ toUpdate });
     }
 }
Exemplo n.º 7
0
 private void TrySaveAndReport(DbGroup toUpdate, Database database)
 {
     try
     {
         this.SaveAndReportUpdated(database, toUpdate);
     }
     catch (DbUpdateException)
     {
         this.TryToRefreshUpdated(toUpdate, database);
     }
 }
Exemplo n.º 8
0
 private void SetChildsToRoot(Database database, DbGroup group)
 {
     foreach (DbGroup child in this.CachedChilds(group))
     {
         child.Parent = null;
         database.Cache.Attach(child);
         this.TrySaveAndReport(child, database);
         this.cache.Delete(child);
     }
 }
Exemplo n.º 9
0
 private void SaveAndReportUpdated(Database database, DbGroup toUpdate)
 {
     database.Cache.MarkAsModified(toUpdate);
     database.SaveImmediatelyIfRequested();
     database.Cache.Detach(toUpdate);
     this.cache.Update(toUpdate);
     this.dispatcher.ReportGroupsUpdated(new List<IGroup>() { toUpdate });
 }
Exemplo n.º 10
0
 /// <summary>
 /// Doesn't remove them from cache, only from database
 /// </summary>
 private List<DbGroup> DeleteEmptyGroupsFromDatabase(Database database)
 {
     List<DbGroup> emptyGroups = this.GetEmptyGroups();
     database.Cache.AttachAll(emptyGroups);
     database.DeleteAll(emptyGroups);
     return emptyGroups;
 }