Example #1
0
        private void ApplicationOnDetailViewCreated(object sender, DetailViewCreatedEventArgs e)
        {
            var strategy  = ((WinShowViewStrategyBase)Application.ShowViewStrategy);
            var winWindow = strategy.Windows.FirstOrDefault(window => window.View != null && window.View.Model == e.View.Model);

            if (winWindow != null)
            {
                if (((IModelDetailViewCaching)e.View.Model).DetailViewCaching)
                {
                    winWindow.View.CurrentObject = GetCurrentObject(e, winWindow);
                }
            }
        }
Example #2
0
 private object GetCurrentObject(DetailViewCreatedEventArgs e, WinWindow winWindow)
 {
     if (e.View.ObjectSpace.IsNewObject(e.View.CurrentObject))
     {
         var newViewShortcut    = e.View.CreateShortcut();
         var temporaryObjectKey = newViewShortcut[ViewShortcut.TemporaryObjectKeyParamName];
         var newObj             = winWindow.View.ObjectSpace.CreateObject(winWindow.View.ObjectTypeInfo.Type);
         e.View.CurrentObject.Map(newObj, Flags.Public);
         CustomizeViewShortcut(e, winWindow, temporaryObjectKey);
         return(newObj);
     }
     return(winWindow.View.ObjectSpace.GetObject(e.View.CurrentObject));
 }
Example #3
0
        private void ApplicationOnDetailViewCreated(object sender, DetailViewCreatedEventArgs e)
        {
            var strategy = ((WinShowViewStrategyBase)Application.ShowViewStrategy);

            foreach (var winWindow in strategy.Windows.Where(winWindow => !winWindow.View.IsValueNull()))
            {
                var view            = winWindow.View;
                var shortcut        = view.CreateShortcut();
                var newViewShortCut = e.View.CreateShortcut();
                shortcut.ObjectKey = newViewShortCut.ObjectKey;
                if (shortcut == newViewShortCut)
                {
                    view.CurrentObject = view.ObjectSpace.GetObject(e.View.CurrentObject);
                }
            }
        }
 private static void CustomizeViewShortcut(DetailViewCreatedEventArgs e, WinWindow winWindow, string temporaryObjectKey){
     e.View.CustomizeViewShortcut += (o, args) =>{
         var shortcut = args.ViewShortcut;
         if (shortcut.ContainsKey(ViewShortcut.IsNewObject)){
             shortcut.Remove(ViewShortcut.IsNewObject);
         }
     };
     winWindow.View.CustomizeViewShortcut += (o, args) =>{
         var shortcut = args.ViewShortcut;
         if (shortcut.ContainsKey(ViewShortcut.TemporaryObjectKeyParamName))
             shortcut[ViewShortcut.TemporaryObjectKeyParamName] = temporaryObjectKey;
         if (shortcut.ContainsKey(ViewShortcut.IsNewObject)){
             shortcut.Remove(ViewShortcut.IsNewObject);
         }
     };
 }
 private void ApplicationOnDetailViewCreated(object sender, DetailViewCreatedEventArgs e){
     var strategy = ((WinShowViewStrategyBase) Application.ShowViewStrategy);
     var winWindow = strategy.Windows.FirstOrDefault(window => window.View!=null&&window.View.Model == e.View.Model);
     if (winWindow != null){
         if (e.View.ObjectSpace.IsNewObject(e.View.CurrentObject)){
             var newViewShortcut = e.View.CreateShortcut();
             var temporaryObjectKey = newViewShortcut[ViewShortcut.TemporaryObjectKeyParamName];
             var newObj = winWindow.View.ObjectSpace.CreateObject(winWindow.View.ObjectTypeInfo.Type);
             e.View.CurrentObject.Map(newObj,Flags.Public);
             CustomizeViewShortcut(e, winWindow, temporaryObjectKey);
             winWindow.View.CurrentObject = newObj;
             
         }
         else{
             winWindow.View.CurrentObject = winWindow.View.ObjectSpace.GetObject(e.View.CurrentObject);
         }
     }
 }
Example #6
0
 private void CustomizeViewShortcut(DetailViewCreatedEventArgs e, WinWindow winWindow, string temporaryObjectKey)
 {
     e.View.CustomizeViewShortcut += (o, args) => {
         var shortcut = args.ViewShortcut;
         if (shortcut.ContainsKey(ViewShortcut.IsNewObject))
         {
             shortcut.Remove(ViewShortcut.IsNewObject);
         }
     };
     winWindow.View.CustomizeViewShortcut += (o, args) => {
         var shortcut = args.ViewShortcut;
         if (shortcut.ContainsKey(ViewShortcut.TemporaryObjectKeyParamName))
         {
             shortcut[ViewShortcut.TemporaryObjectKeyParamName] = temporaryObjectKey;
         }
         if (shortcut.ContainsKey(ViewShortcut.IsNewObject))
         {
             shortcut.Remove(ViewShortcut.IsNewObject);
         }
     };
 }
Example #7
0
 private void ApplicationOnDetailViewCreated(object sender, DetailViewCreatedEventArgs viewCreatedEventArgs)
 {
     viewCreatedEventArgs.View.Disposing += ViewOnDisposing;
 }