Exemple #1
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);
            }
        }