/// <summary> /// Initializes a new instance of the WidgetInstanceDecorator class. /// </summary> /// <param name="widget">The widget instance object.</param> /// <param name="repository">The widget repository</param> public WidgetInstanceDecorator(WidgetInstance widget, IWidgetRepository repository) { this.Repository = repository; this.Model = widget; widget.CopyTo(this, "WebPage", "WidgetDescriptor", "Roles"); ReflectionHelper.Copy(widget, this); }
/// <summary> /// Clone a new instance by current widget instance. /// </summary> /// <param name="culture">The locale name.</param> /// <returns>A new widget instance returns.</returns> public WidgetInstance Clone(string culture = "") { var copy = new WidgetInstance(); this.CopyTo(copy, "ID", "RefID", "TrackState", "WebPage", "WidgetDescriptor", "Roles"); if (!string.IsNullOrEmpty(culture)) copy.Locale = culture; return copy; }