コード例 #1
0
        public WidgetViewModelProxy(IWidgetPlugin plugin, IWidgetTemplate widgetTemplate, IDataSourceAnalyser analyser)
        {
            _plugin         = plugin;
            _widgetTemplate = widgetTemplate;
            _analyser       = analyser;
            _deleteCommand  = new DelegateCommand(Delete);

            try
            {
                InnerViewModel = plugin.CreateViewModel(widgetTemplate, analyser);
            }
            catch (Exception e)
            {
                var type = plugin.GetType();
                Log.ErrorFormat("{0}.CreateViewModel() threw exception:\r\n{1}", type.FullName, e);
            }

            if (InnerViewModel != null)
            {
                InnerViewModel.PropertyChanged  += ViewModelOnPropertyChanged;
                InnerViewModel.TemplateModified += ViewModelOnTemplateModified;

                try
                {
                    Content = plugin.CreateContentPresenterFor(InnerViewModel);
                }
                catch (Exception e)
                {
                    var type = plugin.GetType();
                    Log.ErrorFormat("{0}.CreateContentPresenterFor() threw exception:\r\n{1}", type.FullName, e);
                }
            }
        }
コード例 #2
0
        public static bool IsWidgetActive(this IWidgetPlugin widget,
                                          WidgetSettings widgetSettings)
        {
            if (widget == null)
            {
                throw new ArgumentNullException("widget");
            }

            if (widgetSettings == null)
            {
                throw new ArgumentNullException("widgetSettings");
            }

            if (widgetSettings.ActiveWidgetSystemNames == null)
            {
                return(false);
            }
            foreach (string activeMethodSystemName in widgetSettings.ActiveWidgetSystemNames)
            {
                if (widget.PluginDescriptor.SystemName.Equals(activeMethodSystemName, StringComparison.InvariantCultureIgnoreCase))
                {
                    return(true);
                }
            }
            return(false);
        }
コード例 #3
0
        public WidgetFactoryViewModel(
            IWidgetPlugin plugin)
        {
            if (plugin == null)
            {
                throw new ArgumentNullException(nameof(plugin));
            }

            _plugin = plugin;
        }
コード例 #4
0
 private IWidgetConfiguration CreateViewConfiguration(IWidgetPlugin plugin)
 {
     try
     {
         return(plugin.DefaultViewConfiguration?.Clone() as IWidgetConfiguration);
     }
     catch (Exception e)
     {
         Log.ErrorFormat("Caught unexpected exception while creating view configuration for widget '{0}': {1}", plugin, e);
         return(null);
     }
 }
コード例 #5
0
 public CcService(IProductService productService,
                  IPluginFinder pluginFinder,
                  IStoreContext storeContext,
                  IWidgetPlugin widgetPlugin,
                  WidgetSettings widgetSettings,
                  IOrderService orderService,
                  ISettingService settingService)
 {
     _productService = productService;
     _pluginFinder   = pluginFinder;
     _storeContext   = storeContext;
     _widgetPlugin   = widgetPlugin;
     _widgetSettings = widgetSettings;
     _orderService   = orderService;
     _settingService = settingService;
 }
コード例 #6
0
        private void LayoutOnRequestAddWidget(IWidgetPlugin plugin)
        {
            var viewConfiguration = CreateViewConfiguration(plugin);

            var configuration = plugin.DefaultAnalyserConfiguration?.Clone() as ILogAnalyserConfiguration;
            var analyser      = CreateAnalyser(plugin.AnalyserId, configuration);

            var widgetTemplate = new WidgetTemplate
            {
                Id            = WidgetId.CreateNew(),
                AnalyserId    = analyser.Id,
                Configuration = viewConfiguration
            };
            var widget = plugin.CreateViewModel(widgetTemplate, analyser);

            _analysersPerWidget.Add(widget, analyser);
            _template.Add(widgetTemplate);

            Add(widget);
        }
コード例 #7
0
        /// <summary>
        /// Is widget active
        /// </summary>
        /// <param name="widget">Widget</param>
        /// <returns>Result</returns>
        public virtual bool IsWidgetActive(IWidgetPlugin widget)
        {
            if (widget == null)
            {
                throw new ArgumentNullException(nameof(widget));
            }

            if (_widgetSettings.ActiveWidgetSystemNames == null)
            {
                return(false);
            }

            foreach (var activeMethodSystemName in _widgetSettings.ActiveWidgetSystemNames)
            {
                if (widget.PluginDescriptor.SystemName.Equals(activeMethodSystemName, StringComparison.InvariantCultureIgnoreCase))
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #8
0
 public static WidgetModel ToModel(this IWidgetPlugin entity)
 {
     return(entity.MapTo <IWidgetPlugin, WidgetModel>());
 }
コード例 #9
0
 public void RaiseRequestAdd(IWidgetPlugin obj)
 {
     RequestAdd?.Invoke(obj);
 }
コード例 #10
0
 public static WidgetModel ToModel(this IWidgetPlugin entity)
 {
     return(Mapper.Map <IWidgetPlugin, WidgetModel>(entity));
 }
コード例 #11
0
 public void RaiseRequestAdd(IWidgetPlugin plugin)
 {
     RequestAdd?.Invoke(plugin);
 }