public void Handle(DockWindowLoadedMessage message)
        {
            var manager = IoC.Get <IDockScreenManager>();

            syncer = new CollectionSyncer <IDockScreen, IMenuPart>(manager.Documents, (item) =>
            {
                return(new MenuPart(item.Name, (i) =>
                {
                    MenuPart menu = i as MenuPart;
                    menu.IsChecked = !menu.IsChecked;
                    if (menu.IsChecked)
                    {
                        IoC.Get <IDockScreenManager>()[menu.Name].Show();
                    }
                    else
                    {
                        IoC.Get <IDockScreenManager>()[menu.Name].Close();
                    }
                })
                {
                    IsCheckable = true
                });
            });
            merger = new CollectionMerger <IMenuPart>((this as IObservableParent <IMenuPart>).Items, syncer.SyncCollection);
        }
 protected override void OnUpdateInternal(SqlSyncEntities db, ListMapping newEntity, ListMapping oldEntity)
 {
     if ((newEntity == null) || (oldEntity == null))
     {
         return;
     }
     var merger = new CollectionMerger(db);
     {
         merger.Merge(newEntity.ListMappingFields, oldEntity.ListMappingFields, new ListMappingFieldComparer(), true);
     }
 }
        public virtual void SaveModel(TModel model)
        {
            IDbContextReflector     reflector        = new DbContextReflector(DbContext, "RecordLabel.Data.Models", "ReleaseData");
            IEntityUpdater          scalarUpdater    = new ScalarPropertyUpdater(DbContext, reflector);
            EntityComparerByKeys    entityComparer   = new EntityComparerByNonForeignKeys();
            ICollectionMerger       collectionMerger = new CollectionMerger(entityComparer);
            IRecursiveEntityUpdater updater          = new EntityUpdater(DbContext, reflector, scalarUpdater, collectionMerger);
            IRecursiveEntityUpdater navUpdater       = new NavigationPropertyUpdater(DbContext, scalarUpdater, reflector);

            updater.UpdateEntity <TModel>(model, navUpdater);
        }
Exemple #4
0
 protected override void OnUpdateInternal(RosterEntities db, ListMetadata newEntity, ListMetadata oldEntity)
 {
     if ((newEntity == null) || (oldEntity == null))
     {
         return;
     }
     var merger = new CollectionMerger(db);
     {
         merger.Merge(newEntity.ListMetadataFields, oldEntity.ListMetadataFields, new ListMetadataFieldComparer(), true);
         merger.Merge(newEntity.ListMetadataActions, oldEntity.ListMetadataActions, new ListMetadataActionComparer(), true);
     }
 }
 protected override void OnUpdateInternal(RosterEntities db, ViewMetadata newEntity, ViewMetadata oldEntity)
 {
     if ((newEntity == null) || (oldEntity == null))
     {
         return;
     }
     var whereMerger = new CollectionMerger(db);
     {
         whereMerger.Merge(newEntity.ViewMetadataWhereCriteries, oldEntity.ViewMetadataWhereCriteries, new ViewMetadataWhereCriteryComparer(), true);
     }
     var fieldMerger = new CollectionMerger(db);
     {
         fieldMerger.Merge(newEntity.ViewMetadataFields, oldEntity.ViewMetadataFields, new ViewMetadataFieldComparer(), true);
     }
     var popupSettingMerger = new CollectionMerger(db);
     {
         popupSettingMerger.Merge(newEntity.ViewMetadataPopupSettings, oldEntity.ViewMetadataPopupSettings, new ViewMetadataPopupSettingComparer(), true);
     }
 }
        public override void OnAttached()
        {
            syncer = new CollectionSyncer <IDockScreen, IMenuPart>(IoC.Get <IDockScreenManager>().Screens, (item) =>
            {
                return(new MenuPart(item.Name, (i) =>
                {
                    MenuPart menu = i as MenuPart;
                    menu.IsChecked = !menu.IsChecked;
                    if (menu.IsChecked)
                    {
                        IoC.Get <IDockScreenManager>()[menu.Name].Show();
                    }
                    else
                    {
                        IoC.Get <IDockScreenManager>()[menu.Name].Close();
                    }
                })
                {
                    DisplayName = item.DisplayName, IsCheckable = true, IsChecked = true
                });
            });

            merger = new CollectionMerger <IMenuPart>((this as IObservableParent <IMenuPart>).Items, syncer.SyncCollection);
        }