public virtual void Changed(SubChangedModel<T> changed)
        {
            if (!this.ContainsKey(changed.Id))
                return;

            var item = this[changed.Id];

            if (changed.Cleared != null)
            {
                foreach (string fieldName in changed.Cleared)
                    this.Type.GetProperty(fieldName).SetValue(item, null);
            }

            foreach (PropertyInfo property in this.Type.GetProperties())
            {
                if (changed.Object == null)
                    continue;

                object value = property.GetValue(changed.Object);
                if (value == null)
                    continue;

                property.SetValue(item, value);
            }
        }
        public override void Changed(SubChangedModel <ControlDoc> changed)
        {
            base.Changed(changed);

            if (changed.Object.isRunning.HasValue)
            {
                this.SetTestState(changed.Object.isRunning.Value);
            }
        }
        public override void Changed(SubChangedModel <ConfigDoc> changed)
        {
            base.Changed(changed);

            if (changed.Cleared != null && changed.Cleared.Contains("script"))
            {
                ServerManager.Instance.CreateStoryCompiler(null);
            }
            else if (changed.Object.script != null)
            {
                ServerManager.Instance.CreateStoryCompiler(changed.Object.script);
            }
        }
Ejemplo n.º 4
0
 public void Changed(SubChangedModel <Task> changed)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 5
0
 private void HandleChanged(SubChangedModel <T> changed)
 {
     Changed?.Invoke(this, changed);
     Subscribers.ForEach(sub => sub.Changed(changed));
 }