void ResultChangedDispatcher (GadgetResult gadget) { if (gadget.IsNull ()) { // to Sibling (Cleanup) var message = new TCollectionSiblingMessageInternal (TInternalMessageAction.Cleanup, TChild.List, TypeInfo); DelegateCommand.PublishInternalMessage.Execute (message); } else { // to Sibling (Select) var component = TActionComponent.Create (TCategory.Result); component.Models.GadgetResultModel.CopyFrom (gadget); var materialDictionary = new Dictionary<Guid, GadgetMaterial> (); Model.RequestMaterial (materialDictionary); var message = new TCollectionSiblingMessageInternal (TInternalMessageAction.Select, TChild.List, TypeInfo); message.Support.Argument.Args.Select (component, materialDictionary); DelegateCommand.PublishInternalMessage.Execute (message); } }
public void Request (GadgetResult gadget) { if (gadget.NotNull ()) { var category = TCategoryType.FromValue (Category); // Registration if (category.Equals (TCategory.Registration)) { var gadgetRegistration = GadgetRegistration.CreateDefault; RequestData (gadgetRegistration); gadget.AddContent (gadgetRegistration); } // Test if (category.Equals (TCategory.Test)) { var gadgetTest = GadgetTest.CreateDefault; Request (this, gadgetTest); gadget.AddContent (gadgetTest); } } }
public void OnResultChanged (GadgetResult gadget) { TDispatcher.BeginInvoke (ResultChangedDispatcher, gadget); }