예제 #1
0
 /// <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);
 }
예제 #2
0
        /// <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;
        }