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); } }