protected override async Task ApplyProfile(ProfileBase profile) { if (profile is LocalProfile localProfile) { var subscriber = new LocalSubscriber(); var snippetStore = new LocalSnippetStore(localProfile.FolderName, subscriber); var csScriptRunService = new CsScriptRunService(_clipboardService); var pyScriptRunService = new PyScriptRunService(_clipboardService); SnippetService = new SnippetService(snippetStore, _messenger, csScriptRunService, pyScriptRunService, _dispatcher, subscriber, "Me"); var userStore = new LocalUserStore(localProfile.FolderName, subscriber); UserService = new UserService(userStore, _messenger, _dispatcher, subscriber); await subscriber.StartAsync(); Subscriber = subscriber; } }
public SnippetService( ISnippetStore dataStore, IMessenger messenger, CsScriptRunService csScriptRunService, PyScriptRunService pyScriptRunService, IDispatcherHelper dispatcher, ISubscriber subscriber, string myName) { _store = dataStore; _messenger = messenger; _csScriptRunService = csScriptRunService; _pyScriptRunService = pyScriptRunService; _dispatcher = dispatcher; _subscriber = subscriber; _myName = myName; subscriber.Register <SnippetCreated>(Handle); subscriber.Register <SnippetUpdated>(Handle); subscriber.Register <SnippetDeleted>(Handle); }
protected override async Task ApplyProfile(ProfileBase profile) { if (_rabbitMqModelFactory != null) { _rabbitMqModelFactory.Dispose(); _rabbitMqModelFactory = null; } if (profile is RmqProfile rmqProfile) { _profile = rmqProfile; _rabbitMqModelFactory = new RabbitMqModelFactory( _profile.RabbitMqHost, _profile.RabbitMqVirtualHost, _profile.RabbitMqUser, _profile.RabbitMqPassword); var requestClient = CreateRequestClient(); var tokenProvider = new TokenProvider(CreateRequestClient, _profile.ServerUser, _profile.ServerPassword); var subscriber = new RabbitMqSubscriber( _rabbitMqModelFactory, exception => { _dispatcher.BeginInvokeOnMainThread(async() => await _errorService.ShowAlertAsync(exception)); }); var snippetStore = new SnippetStore(requestClient, tokenProvider); var csScriptRunService = new CsScriptRunService(_clipboardService); var pyScriptRunService = new PyScriptRunService(_clipboardService); SnippetService = new SnippetService(snippetStore, _messenger, csScriptRunService, pyScriptRunService, _dispatcher, subscriber, _profile.ServerUser); var userStore = new UserStore(requestClient, tokenProvider); UserService = new UserService(userStore, _messenger, _dispatcher, subscriber); await subscriber.StartAsync(); Subscriber = subscriber; } }
public async Task <string> Run(string language, string code, string template, Dictionary <string, string> variables) { switch (language) { case "C#": return(await Task.Run(async() => await _csScriptRunService.Run(code, template, variables))); case "Python": await PyScriptRunService.PyInitAsync(); return(_pyScriptRunService.Run(code, template, variables)); case "NodeJS": return(await Jering.Javascript.NodeJS.StaticNodeJSService.InvokeFromStringAsync <string>(code, args : new object[] { template, variables })); } throw new NotImplementedException($"Language '{language}' not implemented!"); }
protected override async Task ApplyProfile(ProfileBase profile) { if (profile is RestProfile restProfile) { _profile = restProfile; var requestClient = CreateRequestClient(); var tokenProvider = new TokenProvider(CreateRequestClient, _profile.ServerUser, _profile.ServerPassword); var token = await tokenProvider.GetToken(); var serverUri = new Uri(_profile.ServerName); var signalRUri = new Uri(serverUri, "/cosei"); var subscriber = new SignalRSubscriber(signalRUri.AbsoluteUri, options => { options.Headers.Add("Authorization", $"Bearer {token}"); }, exception => { _dispatcher.BeginInvokeOnMainThread(async() => await _errorService.ShowAlertAsync(exception)); }); var snippetStore = new SnippetStore(requestClient, tokenProvider); var csScriptRunService = new CsScriptRunService(_clipboardService); var pyScriptRunService = new PyScriptRunService(_clipboardService); SnippetService = new SnippetService(snippetStore, _messenger, csScriptRunService, pyScriptRunService, _dispatcher, subscriber, _profile.ServerUser); var userStore = new UserStore(requestClient, tokenProvider); UserService = new UserService(userStore, _messenger, _dispatcher, subscriber); await subscriber.StartAsync(); Subscriber = subscriber; } }