Example #1
0
 private static void TryClearHistory()
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         database.ClearHistory();
     }
 }
Example #2
0
 private List <int?> TryLoadFavoritesFromDatabase()
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         return(database.GetFavoritesInGroup(this.Id).ToList());
     }
 }
Example #3
0
 private static List <DbCredentialSet> TryLoadFromDatabase()
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         return(database.CredentialBase.OfType <DbCredentialSet>().ToList());
     }
 }
Example #4
0
 private void TryLoadImageFromDatabase(DbFavorite favorite)
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         byte[] imageData = database.GetFavoriteIcon(favorite.Id);
         this.AssignImageByLoadedData(favorite, imageData);
     }
 }
Example #5
0
 private static void DeleteFromDatabase(DbCredentialSet credentailToRemove)
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         database.CredentialBase.Attach(credentailToRemove);
         database.CredentialBase.Remove(credentailToRemove);
         database.SaveImmediatelyIfRequested();
     }
 }
Example #6
0
 private static void AddToDatabase(DbCredentialSet credentialToAdd)
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         database.CredentialBase.Add(credentialToAdd);
         database.SaveImmediatelyIfRequested();
         database.Cache.Detach(credentialToAdd);
     }
 }
Example #7
0
 private static void TryAddToDatabase(DbFavorite historyTarget)
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         var userSid = WindowsUserIdentifiers.GetCurrentUserSid();
         // store holds dates in UTC
         database.InsertHistory(historyTarget.Id, Moment.Now, userSid);
     }
 }
Example #8
0
 private void TryUpdateGroup(IGroup group)
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         var toUpdate = group as DbGroup;
         database.Cache.Attach(toUpdate);
         this.TrySaveAndReport(toUpdate, database);
     }
 }
Example #9
0
 private ProtocolOptions LoadPropertiesFromDatabase()
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         string serializedProperties = database.GetProtocolPropertiesByFavorite(this.favorite.Id);
         Type   propertiesType       = this.favorite.protocolProperties.GetType();
         return(Serialize.DeSerializeXML(serializedProperties, propertiesType) as ProtocolOptions);
     }
 }
Example #10
0
 private static List <DbGroup> TryLoadFromDatabase()
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         var groups = database.Groups.ToList();
         database.Cache.DetachAll(groups);
         return(groups);
     }
 }
Example #11
0
 private void TryUpdateFavorite(IFavorite favorite)
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         var toUpdate = favorite as DbFavorite;
         database.Cache.AttachFavorite(toUpdate);
         this.TrySaveAndReportFavoriteUpdate(toUpdate, database);
     }
 }
Example #12
0
 private void TryRebuild()
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         var emptyGroups = this.DeleteEmptyGroupsFromDatabase(database);
         database.SaveImmediatelyIfRequested();
         var toReport = this.DeleteFromCache(emptyGroups);
         this.dispatcher.ReportGroupsDeleted(toReport);
     }
 }
Example #13
0
 private void TryApplyValue(ApplyValueParams applyParams)
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         var dbFavorites = applyParams.Favorites.Cast <DbFavorite>().ToList();
         database.Cache.AttachAll(dbFavorites);
         applyParams.Action(applyParams.Favorites, applyParams.ValueToApply);
         this.SaveAndReportFavoritesUpdated(database, dbFavorites, applyParams.Favorites);
     }
 }
Example #14
0
 private void CommitNewMastrerPassord(string connectionString)
 {
     using (this.database = DatabaseConnections.CreateInstance(connectionString))
     {
         UpdateStoredPasswords();
         this.database.UpdateMasterPassword(this.newStoredKey);
         this.database.SaveChanges();
     }
     this.database = null;
 }
Example #15
0
 private void TryLoadDetailsFromDatabase()
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         database.Favorites.Attach(this.favorite);
         this.LoadReferences(database);
         this.LoadFieldsFromReferences();
         database.Cache.DetachFavorite(this.favorite);
     }
 }
Example #16
0
 private void UpdateFavoritesMembershipInDatabase(List <IFavorite> favorites)
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         foreach (DbFavorite favorite in favorites)
         {
             database.InsertFavoritesInGroup(favorite.Id, this.Id);
             this.AddToCachedIds(favorite);
         }
     }
 }
Example #17
0
 private void RemoveFavoritesFromDatabase(List <IFavorite> favorites)
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         foreach (DbFavorite favorite in favorites)
         {
             database.DeleteFavoritesInGroup(favorite.Id, this.Id);
             this.RemoveFromCachedIds(favorite);
         }
     }
 }
Example #18
0
 private SortableList <IFavorite> TryLodFromDatabase(string historyDateKey)
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         var interval = HistoryIntervals.GetIntervalByName(historyDateKey);
         // store holds dates in UTC
         var favoriteIds       = database.GetFavoritesHistoryByDate(interval.From, interval.To).ToList();
         var intervalFavorites =
             this.favorites.Cast <DbFavorite>().Where(favorite => favoriteIds.Contains(favorite.Id));
         return(Data.Favorites.OrderByDefaultSorting(intervalFavorites));
     }
 }
Example #19
0
 private void TryUpdate(ICredentialSet toUpdate)
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         var credentialToUpdate = toUpdate as DbCredentialSet;
         database.CredentialBase.Attach(credentialToUpdate);
         database.Cache.MarkAsModified(credentialToUpdate);
         database.SaveImmediatelyIfRequested();
         database.Cache.Detach(credentialToUpdate);
         this.cache.Update(credentialToUpdate);
     }
 }
Example #20
0
 private void TryAdd(List <IFavorite> favorites)
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         List <DbFavorite> toAdd = favorites.Cast <DbFavorite>().ToList();
         database.AddAll(toAdd);
         this.UpdateIconInDatabase(database, toAdd);
         database.SaveImmediatelyIfRequested();
         database.Cache.DetachAll(toAdd);
         this.cache.Add(toAdd);
         this.dispatcher.ReportFavoritesAdded(favorites);
     }
 }
Example #21
0
 private void TryApplyCredentials(List <IFavorite> selectedFavorites, ICredentialSet credential)
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         var dbFavorites = selectedFavorites.Cast <DbFavorite>().ToList();
         Data.Favorites.ApplyCredentialsToFavorites(selectedFavorites, credential);
         database.Cache.AttachAll(dbFavorites);
         // here we have to mark it modified, because caching detail properties
         // sets proper credential set reference
         database.Cache.MarkAsModified(dbFavorites);
         this.batchActions.SaveAndReportFavoritesUpdated(database, dbFavorites, selectedFavorites);
     }
 }
Example #22
0
 private void TryAdd(IGroup group)
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         var toAdd = group as DbGroup;
         database.AddToGroups(toAdd);
         database.SaveImmediatelyIfRequested();
         database.Cache.DetachGoup(toAdd);
         this.cache.Add(toAdd);
         this.dispatcher.ReportGroupsAdded(new List <IGroup> {
             toAdd
         });
     }
 }
Example #23
0
 private void TryDelete(IGroup group)
 {
     using (var database = DatabaseConnections.CreateInstance())
     {
         var toDelete         = group as DbGroup;
         var changedFavorites = group.Favorites;
         this.SetChildsToRoot(database, toDelete);
         database.Groups.Attach(toDelete);
         database.Groups.Remove(toDelete);
         database.SaveImmediatelyIfRequested();
         this.FinishGroupRemove(group);
         this.dispatcher.ReportFavoritesUpdated(changedFavorites);
     }
 }
Example #24
0
 private void TryDelete(List <IFavorite> favorites)
 {
     using (Database database = DatabaseConnections.CreateInstance())
     {
         List <DbFavorite>       favoritesToDelete       = favorites.Cast <DbFavorite>().ToList();
         List <DbCredentialBase> redundantCredentialBase = SelectRedundantCredentialBase(favoritesToDelete);
         this.DeleteFavoritesFromDatabase(database, favoritesToDelete);
         database.SaveImmediatelyIfRequested();
         database.RemoveRedundantCredentialBase(redundantCredentialBase);
         database.SaveImmediatelyIfRequested();
         this.groups.RefreshCache();
         this.FinishRemove(favorites, favoritesToDelete);
     }
 }
Example #25
0
        private static List <DbGroup> TryLoadFromDatabase(List <DbGroup> toRefresh)
        {
            using (var database = DatabaseConnections.CreateInstance())
            {
                if (toRefresh != null)
                {
                    database.Cache.AttachAll(toRefresh);
                }

                ((IObjectContextAdapter)database).ObjectContext.Refresh(RefreshMode.StoreWins, database.Groups);
                var groups = database.Groups.Include("ParentGroup").ToList();
                database.Cache.DetachAll(groups);
                return(groups);
            }
        }
Example #26
0
 private List <DbFavorite> TryLoadFromDatabase()
 {
     string[] knownProtocols = this.connectionManager.GetAvailableProtocols();
     using (Database database = DatabaseConnections.CreateInstance())
     {
         // to list because Linq to entities allows only cast to primitive types.
         // cant use connectionManager.IsKnownProtocol because it cant be translated to serverside query.
         List <DbFavorite> favorites = database.Favorites
                                       .Where(f => knownProtocols.Contains(f.Protocol))
                                       .ToList();
         database.Cache.DetachAll(favorites);
         favorites.ForEach(this.PrepareFavorite);
         return(favorites);
     }
 }
Example #27
0
        private void TryUpdateFavorite(IFavorite favorite, List <IGroup> newGroups)
        {
            using (Database database = DatabaseConnections.CreateInstance())
            {
                var toUpdate = favorite as DbFavorite;
                database.Cache.AttachFavorite(toUpdate);
                List <IGroup> addedGroups = database.AddToDatabase(newGroups);
                // commit newly created groups, otherwise we cant add into them
                database.SaveImmediatelyIfRequested();
                UpdateGroupsMembership(favorite, newGroups);
                database.SaveImmediatelyIfRequested();

                this.dispatcher.ReportGroupsAdded(addedGroups);
                this.TrySaveAndReportFavoriteUpdate(toUpdate, database);
            }
        }