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(); }
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 }); } }
private void TrySaveAndReport(DbGroup toUpdate, Database database) { try { this.SaveAndReportUpdated(database, toUpdate); } catch (DbUpdateException) { this.TryToRefreshUpdated(toUpdate, database); } }
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); } }
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 }); }
/// <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; }