/// <summary> /// Отправляем сообщение посредством EventAggregator что нам нужно установить /// такой набор временных отметок в отпределенное время. /// </summary> /// <param name="timesList"></param> private async void SendUpdateAtTimes(List <string> timesList) { // Если вызов идет во время инициалзации - выходим из метода if (!_useNormalWork) { return; } var args = new ExplicitArguments(); args.SetArg("fileName", _playFileAtTime); args.SetArg("tsLists", timesList); IAtTimePlayData atData = _container.GetInstance <IAtTimePlayData>(args); var argMsg = new ExplicitArguments(); argMsg.SetArg("msgData", atData); var atMessage = _container.GetInstance <IAtTimePlayDataMsg>(argMsg); SendToAclockMessage(null, atData); //mediator.Publish(atMessage); // Пробуем запросить нашего работника, в если удачно - пересылаему ему задачу var atHandle = _container.TryGetInstance <IHandle <IAtTimePlayDataMsg> >(); if (atHandle != null) { await _eventAggregator.PublishOnUIThreadAsync(atMessage); } }
public void RegisterAndRetrieveArgs() { var args = new ExplicitArguments(); Assert.IsNull(args.GetArg("name")); args.SetArg("name", "Jeremy"); Assert.AreEqual("Jeremy", args.GetArg("name")); args.SetArg("age", 34); Assert.AreEqual(34, args.GetArg("age")); }
public void RegisterAndRetrieveArgs() { var args = new ExplicitArguments(); args.GetArg("name").ShouldBeNull(); args.SetArg("name", "Jeremy"); args.GetArg("name").ShouldBe("Jeremy"); args.SetArg("age", 34); args.GetArg("age").ShouldBe(34); }
public IPresenter Create(Type presenterType, Type viewType, IView viewInstance) { if (presenterType == null) { throw new ArgumentNullException("presenterType"); } if (viewType == null) { throw new ArgumentNullException("viewType"); } if (viewInstance == null) { throw new ArgumentNullException("viewInstance"); } if (!container.Model.HasImplementationsFor(presenterType)) { lock (registerLock) { if (!container.Model.HasImplementationsFor(presenterType)) { container.Configure(x => x.For(presenterType).HybridHttpOrThreadLocalScoped().Use(presenterType).Named(presenterType.Name)); } } } var args = new ExplicitArguments(); args.Set("view"); args.SetArg("view", viewInstance); return((IPresenter)container.GetInstance(presenterType, args)); }
public IPresenter Create(Type presenterType, Type viewType, IView viewInstance) { if (presenterType == null) throw new ArgumentNullException("presenterType"); if (viewType == null) throw new ArgumentNullException("viewType"); if (viewInstance == null) throw new ArgumentNullException("viewInstance"); if (!container.Model.HasImplementationsFor(presenterType)) { lock (registerLock) { if (!container.Model.HasImplementationsFor(presenterType)) { container.Configure(x => x.For(presenterType).HybridHttpOrThreadLocalScoped().Use(presenterType).Named(presenterType.Name)); } } } var args = new ExplicitArguments(); args.Set("view"); args.SetArg("view", viewInstance); return (IPresenter)container.GetInstance(presenterType, args); }
public T Get <T>(ExplictArg explictArg) { var args = new ExplicitArguments(); args.SetArg(explictArg.Key, explictArg.Arg); return(_container.GetInstance <T>(args)); }
public T Get <T>(IEnumerable <ExplictArg> explictArgs) { var args = new ExplicitArguments(); foreach (var explictArg in explictArgs) { args.SetArg(explictArg.Key, explictArg.Arg); } return(_container.GetInstance <T>(args)); }
private static ExplicitArguments getExplicitArguments(bool isNamed, MethodInfo methodInfo, IList <object> arguments) { var explicitArguments = new ExplicitArguments(); var parameters = methodInfo.GetParameters(); for (var i = isNamed ? 1 : 0; i < arguments.Count; ++i) { explicitArguments.SetArg(parameters[i].Name, arguments[i]); } return(explicitArguments); }
private static ExplicitArguments getExplicitArguments(bool isNamed, MethodInfo methodInfo, IList<object> arguments) { var explicitArguments = new ExplicitArguments(); var parameters = methodInfo.GetParameters(); for (var i = isNamed ? 1 : 0; i < arguments.Count; ++i) { explicitArguments.SetArg(parameters[i].Name, arguments[i]); } return explicitArguments; }
private void SendMsgForSetAutoStartApp() { // Если вызов идет во время инициалзации - выходим из метода if (!_useNormalWork) { return; } var sendArgs = new ExplicitArguments(); sendArgs.SetArg("usingAutoStart", _autoStartApp); sendArgs.SetArg("appName", AppName); var autoHandler = _container.TryGetInstance <IHandle <IAppAutoStartMsg> >(); var setAutoStart = _container.TryGetInstance <IAppAutoStartMsg>(sendArgs); if (setAutoStart != null && autoHandler != null) { //await mediator.Publish(setAutoStart); _eventAggregator.PublishOnBackgroundThread(setAutoStart); } }
public void Pass_in_arguments_as_dictionary() { ObjectFactory.Initialize(x => { x.ForRequestedType<IView>().TheDefaultIsConcreteType<View>(); }); var theNode = new Node(); var theTrade = new Trade(); var args = new ExplicitArguments(); args.Set(theNode); args.SetArg("trade", theTrade); var command = ObjectFactory.GetInstance<Command>(args); Assert.IsInstanceOfType(typeof (View), command.View); Assert.AreSame(theNode, command.Node); Assert.AreSame(theTrade, command.Trade); }
public void Pass_in_arguments_as_dictionary() { var container = new Container(x => { x.ForRequestedType <IView>().TheDefaultIsConcreteType <View>(); }); var theNode = new Node(); var theTrade = new Trade(); var args = new ExplicitArguments(); args.Set(theNode); args.SetArg("trade", theTrade); var command = container.GetInstance <Command>(args); Assert.IsInstanceOfType(typeof(View), command.View); Assert.AreSame(theNode, command.Node); Assert.AreSame(theTrade, command.Trade); }
public void Pass_in_arguments_as_dictionary() { var container = new Container(x => { x.For <IView>().Use <View>(); }); var theNode = new Node(); var theTrade = new Trade(); var args = new ExplicitArguments(); args.Set(theNode); args.SetArg("trade", theTrade); var command = container.GetInstance <Command>(args); command.View.ShouldBeOfType <View>(); theNode.ShouldBeTheSameAs(command.Node); theTrade.ShouldBeTheSameAs(command.Trade); }
public async virtual Task <IWidget> CreateWidget(Type widget, String cacheId = null) { var args = new ExplicitArguments(); var id = cacheId ?? Guid.NewGuid().ToString(); args.SetArg("host", CurrentWorkspace); args.Set(id); var instance = AppContainer.ObjectProvider.GetInstance(widget, args) as IWidget; if (null == instance) { return(null); } await instance.Initialize(); return(instance); }
public async Task CreateWorkspace(TState state, bool loadLayout) { var candidate = AvailableWorkspaces.FirstOrDefault(wspace => wspace.State.Equals(state)); //we infer !loadLayout == create blank workspace if (null != candidate && loadLayout) { CurrentWorkspace = candidate; return; } var arg = new ExplicitArguments(); arg.SetArg("loadLayout", loadLayout); var workspace = AppContainer.ObjectProvider.GetInstance <IWorkspace <TState> >(arg); await workspace.Initialize(state); AvailableWorkspaces.Add(workspace); }
public void Pass_in_arguments_as_dictionary() { var container = new Container(x => { x.For<IView>().Use<View>(); }); var theNode = new Node(); var theTrade = new Trade(); var args = new ExplicitArguments(); args.Set(theNode); args.SetArg("trade", theTrade); var command = container.GetInstance<Command>(args); command.View.ShouldBeOfType<View>(); theNode.ShouldBeTheSameAs(command.Node); theTrade.ShouldBeTheSameAs(command.Trade); }
ExplicitArgsExpression IExplicitProperty.EqualTo(object value) { _args.SetArg(_lastArgName, value); return(this); }