/// <summary> /// Submitts messages to kafka on a given topic and using the given bootstrap servers. /// This method will create a new producer for every message submitted. /// </summary> /// <param name="subject">The <c>EventClient</c> to extend</param> /// <param name="topic">The topic to produce messages to</param> /// <param name="bootstrapServers">the boostrap servers</param> /// <returns>the modified event client.</returns> public static EventClient UseKafka(this EventClient subject, string topic, string bootstrapServers) { var config = new ProducerConfig { BootstrapServers = bootstrapServers }; var builder = new ProducerBuilder <string, string>(config); subject.UseHandle( async evnt => { using (var producer = builder.Build()) { try { var kafkaEvent = new KafkaEvent { Tags = evnt.Tags, Content = JObject.Parse(evnt.Content) }; var strContent = await Task.Run(() => JsonConvert.SerializeObject(kafkaEvent)); await producer.ProduceAsync(topic, new Message <string, string> { Key = evnt.Name, Value = strContent }); } catch (ProduceException <string, string> e) { Console.WriteLine($"Delivery to Kafka failed: {e.Error.Reason}"); throw e; } } }); return(subject); }
private static void Client_Disconnected(object sender, DisconnectedEventArgs e) { EventClient client = sender as EventClient; Console.WriteLine($"클라이언트와의 연결이 끊어졌습니다. {client.DisconnectedTime.Value}, {client.IP}"); Console.WriteLine($"클라이언트 수 : {mServer.Clients.Count}"); }
/// <summary> /// Submitts messages to kafka on a given topic and using the given bootstrap servers. /// In contrast to <c>UseKafka(this EventClient subject, string , string)</c>, this extension gives controll over how a producer is created. /// This requires the lifetime and deallocation to be managed externally but enables reusing producers for as long as it's needed and thus have much higher throughput for production of messages. /// </summary> /// <param name="subject">The <c>EventClient</c> to extend</param> /// <param name="topic">The topic to produce messages to</param> /// <param name="producerFactory">A factory function that returnes a ready to use Kafka producer.</param> /// <returns></returns> public static EventClient UseKafka(this EventClient subject, string topic, Func <IProducer <string, string> > producerFactory) { subject.UseHandle( async evnt => { try { var producer = producerFactory(); var kafkaEvent = new KafkaEvent { Tags = evnt.Tags, Content = JObject.Parse(evnt.Content) }; var strContent = await Task.Run(() => JsonConvert.SerializeObject(kafkaEvent)); await producer.ProduceAsync(topic, new Message <string, string> { Key = evnt.Name, Value = strContent }); } catch (ProduceException <string, string> e) { Console.WriteLine($"Delivery to Kafka failed: {e.Error.Reason}"); throw e; } }); return(subject); }
public void cGprsTest() { var newtraceLog = new TraceLog("SingtelTest", "Zero1", null); using (var eventClient = new EventClient(Helpers.GetSelcommWsEndpointName())) { ServiceClient serviceclient = new ServiceClient(Helpers.GetSelcommWsEndpointName()); ContactClient contactClient = new ContactClient(Helpers.GetSelcommWsEndpointName()); //Create the session. var authService = new SelcommWSsvc.SelcommWSAll.AuthenticationClient(Helpers.GetSelcommWsEndpointName()); var sessionKey = authService.AuthenticateSimpleCreateSessionAndAuthenticateContact("2041591443", "webuser", "resubew", "40000287", "1234"); //Adding a new service to an existing account var pack = new SelcommWSsvc.SelcommWSAll.PackagesClient(Helpers.GetSelcommWsEndpointName()) { }; var packageList = pack.PackageDisplayListCurrent(sessionKey, false); var newId = serviceclient.ServiceAddNewSimple(sessionKey, "40000287", DateTime.Now, packageList[0].Code, 1, 1, "MRBR", "0298" + (new System.Random()).Next(0, 1000000).ToString("000000"), "1234"); //creating new event associated with service Id Event NewEvent = new Event { EventType = new EventType { EventTypeMember = "CM", EventCode = "IC", }, Schedule = new EventSchedule { ToLogin = "******", ToDepartment = new Department { Code = "SYS" }, EventScheduleType = new EventScheduleType { Code = "ACT" }, EventScheduleStatus = new EventScheduleStatus { Code = "O" } }, Note = string.Format("Event opened for sp_cn_ref {0}", newId) }; var testevent = eventClient.EventAddForService(sessionKey, NewEvent, new Service { ServiceId = newId }); var eventDisplay = eventClient.EventDisplay(sessionKey, testevent, true); newtraceLog.CreateLog($"Global ServiceId: " + newId); newtraceLog.CreateLog($"Event Display: " + eventDisplay); SelcommWebServices.SelcommOSS.Singtel.MD.Processes.ActionHandler.cGprsActionHandler a = new SelcommWebServices.SelcommOSS.Singtel.MD.Processes.ActionHandler.cGprsActionHandler("2041591443"); var response = a.ProcessEvent(eventDisplay, newtraceLog); newtraceLog.CreateLog($"Command string: " + response); Assert.AreEqual(response.Length, 90, "length of Command string for cGprs are equal"); // Assert.AreEqual(response.Length,163, "length of Command string for cGprs are equal"); } }
static async Task Main(string[] args) { EventClient eventClient = new EventClient("wss://event.wifiplug.co.uk/v1.0", Environment.GetEnvironmentVariable("API_KEY"), Environment.GetEnvironmentVariable("API_SECRET")); eventClient.Scope = new SessionScope(Environment.GetEnvironmentVariable("SCOPE_SESSION")); eventClient.Received += (o, e) => { Console.WriteLine(JsonConvert.SerializeObject(e.Event, Formatting.Indented)); if (e.Event.Data is WifiPlug.EventFramework.Entities.DeviceCharacteristicChangeEntity) { var ev = e.Event.Data as WifiPlug.EventFramework.Entities.DeviceCharacteristicChangeEntity; Console.WriteLine($"Characteristic change: {ev.OldValue} -> {ev.NewValue}"); } else if (e.Event.Data is WifiPlug.EventFramework.Entities.DeviceStatusEntity) { var ev = e.Event.Data as WifiPlug.EventFramework.Entities.DeviceStatusEntity; Console.WriteLine($"Status: {ev.OldState} -> {ev.NewState}"); } else { Console.WriteLine($"Received event {e.Event.Name}"); } }; eventClient.Connected += (o, e) => Console.WriteLine($"Connected"); eventClient.Disconnected += (o, e) => Console.WriteLine($"Disconnected"); await eventClient.SubscribeAsync("device:*.*"); await Task.Delay(3000000); }
private void removeUnwantedFolders(string logFile) { string wrkSpaceDir = System.Web.Hosting.HostingEnvironment.MapPath("~") + "WorkSpace\\"; EventClient evClient = new EventClient(); string[] subdirs = System.IO.Directory.GetDirectories(wrkSpaceDir); foreach (string dir in subdirs) { int evFolder; string dirToCheck = dir.Substring(dir.LastIndexOf('\\')).Remove(0, 1); bool parse = int.TryParse(dirToCheck, out evFolder); if (!evClient.isEventExist(evFolder) || !parse) { emptyFolder(dir); System.IO.Directory.Delete(dir); } } evClient.Close(); System.IO.StreamWriter strWriter = new System.IO.StreamWriter(logFile, false); strWriter.WriteLine(DateTime.Now.ToString("yyyyMMdd")); strWriter.Close(); }
public MainForm() { InitializeComponent(); locEvClient = new EventClient(); lvList.SetDoubleBuffered(true); lvList.ListViewItemSorter = new ListViewItemComparer(lastColumn); }
static void Main() { EventClient eventClient = new EventClient(); eventClient.Connect("127.0.0.1", 9777); string iconFile = @"../../icons/icon.png"; IconType iconType = IconType.ICON_PNG; if !File.Exists(iconFile) { iconFile = @"/usr/share/xbmc/media/icon.png"; if !File.Exists(iconFile) { iconType = IconType.ICON_NONE; } } eventClient.SendHelo("XBMC Client Demo", iconType, iconFile); System.Threading.Thread.Sleep(1000); eventClient.SendNotification("XBMC Client Demo", "Notification Message", iconType, iconFile); System.Threading.Thread.Sleep(1000); eventClient.SendButton("dpadup", "XG", ButtonFlagsType.BTN_DOWN | ButtonFlagsType.BTN_NO_REPEAT, 0); System.Threading.Thread.Sleep(1000); eventClient.SendPing(); System.Threading.Thread.Sleep(1000); eventClient.SendMouse(32768, 32768); System.Threading.Thread.Sleep(1000); eventClient.SendLog(LogTypeEnum.LOGERROR, "Example error log message from XBMC Client Demo"); System.Threading.Thread.Sleep(1000); eventClient.SendAction("Mute"); System.Threading.Thread.Sleep(1000); eventClient.SendBye(); }
public static void InitEventServer() { var eventServer = new EventServer(GetIpAddress()); eventServer.Start(); var eventClient1 = new EventClient(GetIpAddress()); eventClient1.AddToGroup("Task", "Random"); eventClient1.Connect(); eventClient1.PublishEvent += (s, a) => { Console.WriteLine("CLIENT1: " + a.Arguments.ToString()); }; var eventClient2 = new EventClient(GetIpAddress()); eventClient2.Connect(); eventClient2.AddToGroup("Task"); eventClient2.PublishEvent += (s, a) => { Console.WriteLine("CLIENT2: " + a.Arguments.ToString()); }; var eventClient3 = new EventClient(GetIpAddress()); eventClient3.Connect(); eventClient3.AddToGroup("Task", "Random"); eventClient3.PublishEvent += (s, a) => { Console.WriteLine("CLIENT3: " + a.Arguments.ToString()); }; while (true) { eventClient1.SendEventToAll(new CustomEventData() { FirstName = "Event to All", LastName = "B" }); eventClient1.SendEventToOthers(new CustomEventData() { FirstName = "Event To Others", LastName = "D" }); eventClient1.SendEventToAllInGroup(new CustomEventData() { FirstName = "Event to all in Group Task", LastName = "D" }, "Task"); eventClient1.SendEventToRandomInGroup(new CustomEventData() { FirstName = "Event to random in Group Random", LastName = "D" }, "Random"); Console.WriteLine("Message sent"); Console.ReadLine(); } }
protected override void ProcessRecord() { base.ProcessRecord(); try { client?.Dispose(); int timeout = GetPreferredTimeout(); WriteDebug($"Cmdlet Timeout : {timeout} milliseconds."); client = new EventClient(AuthProvider, new Oci.Common.ClientConfiguration { RetryConfiguration = retryConfig, TimeoutMillis = timeout, ClientUserAgent = PSUserAgent }); string region = GetPreferredRegion(); if (region != null) { WriteDebug("Choosing Region:" + region); client.SetRegion(region); } if (Endpoint != null) { WriteDebug("Choosing Endpoint:" + Endpoint); client.SetEndpoint(Endpoint); } } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
static void Main(string[] args) { EventClient c = new EventClient(); var res = c.ReadEvents(); Console.WriteLine(res); Console.ReadKey(); }
public ReconfirmationWindow(string info, string id, EventClient client) { InitializeComponent(); InfoStr = info; IDStr = id; Client = client; }
protected string getEventName(string eventID) { int eID = int.Parse(eventID); EventClient evClient = new EventClient(); string evName = evClient.GetEventName(eID); evClient.Close(); return evName; }
public override Task ProcessRequestAsync(IRequest req, IResponse res, string operationName) { res.ContentType = MimeTypes.ServerSentEvents; res.AddHeader(HttpHeaders.CacheControl, "no-cache"); res.KeepAlive = true; res.Flush(); IAuthSession session = req.GetSession(); var userAuthId = session != null ? session.UserAuthId : null; var feature = HostContext.GetPlugin <SimpleServerEventsFeature>(); //var now = DateTime.UtcNow; var subscriptionId = SessionExtensions.CreateRandomSessionId(); var eventClient = new EventClient(res) { SubscriptionId = subscriptionId, // A session can have multiple subscriptions / clients }; if (feature.OnCreated != null) { feature.OnCreated(eventClient, req); } //var heartbeatUrl = req.ResolveAbsoluteUrl("~/".CombineWith(feature.HeartbeatPath)) // .AddQueryParam("id", subscriptionId); var privateArgs = new Dictionary <string, string>(eventClient.Meta) { { "id", subscriptionId }, //{"heartbeatUrl", heartbeatUrl}, //{"heartbeatIntervalMs", ((long)feature.HeartbeatInterval.TotalMilliseconds).ToString(CultureInfo.InvariantCulture) } }; // Register the client req.TryResolve <IServerEventsBroker>().Connect(eventClient); if (feature.OnConnected != null) { feature.OnConnected(eventClient, privateArgs); } // Welcome our new client res.OutputStream.Write(": " + subscriptionId + " connected\n\n"); // Write initial stream so the client knows we're alive res.Flush(); var tcs = new TaskCompletionSource <bool>(); eventClient.OnDispose = client => { try { res.EndHttpHandlerRequest(skipHeaders: true); } catch { } tcs.SetResult(true); }; return(tcs.Task); }
public LunoClient(ApiKeyConnection connection) : base(connection) { Analytics = new AnalyticsClient(connection); ApiAuthentication = new ApiAuthenticationClient(connection); Event = new EventClient(connection); Session = new SessionClient(connection); User = new UsersClient(connection); }
public SACNListener(Int16 universeID, int port) { Port = port; UniverseID = universeID; Socket = new EventClient(port); Socket.JoinMulticastGroup(SACNCommon.GetMulticastAddress(UniverseID)); Socket.PacketReceived += Socket_PacketReceived; }
static void Main(string[] args) { ConfigurationManager framConfMana = (ConfigurationManager)ConfigurationSettings.GetConfig("GreenFram"); string url = framConfMana.EventNotificationConfig.GetEventServerUrl(); EventClient client = new EventClient(url); client.SubscribeEvent("test1", new EventClient.EventProcessingHandler(Test1_EventReceiver)); client.SubscribeEvent("test2", new EventClient.EventProcessingHandler(Test2_EventReceiver)); Console.ReadLine(); }
static void Main(string[] args) { // загрузка текущей конфигурации сервера var configName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ModbusIntegrator.ini"); mif = new MemIniFile(configName); // запуск фонового процесса для прослушивания сокета Modbus Tcp 502 var worker = new BackgroundWorker { WorkerSupportsCancellation = true, WorkerReportsProgress = true }; workers.Add(worker); worker.DoWork += Worker_DoWork; worker.RunWorkerCompleted += Worker_RunWorkerCompleted; worker.ProgressChanged += Worker_ProgressChanged; int.TryParse(mif.ReadString("default", "IpPort", "502"), out int port); var tcptuning = new TcpTuning { Port = port }; worker.RunWorkerAsync(tcptuning); locEvClient = new EventClient(); locEvClient.Connect(new[] { "config", "fetching", "archives" }, PropertyUpdate, ShowError, UpdateLocalConnectionStatus); LoadAndRunConfiguration(); // если запускает пользователь сам if (Environment.UserInteractive) { var s = WcfEventService.EventService; s.Start(); try { Console.WriteLine($"{mif.ReadString("integrator", "descriptor", "Unknown program")}, ver {mif.ReadString("integrator", "version", "unknown")}"); Console.WriteLine(); Console.WriteLine("Type any key to exit"); Console.ReadKey(); } finally { s.Stop(); } } else { // запуск в виде службы Windows var servicesToRun = new ServiceBase[] { new WinService() }; ServiceBase.Run(servicesToRun); } // выгрузка фонового процесса при окончании работы сервиса worker.CancelAsync(); }
internal static EventClient GetDefaultEventClient(InstanceContext ctx) { if (string.Equals(UserSettings.AutoSyncServerHost, "localhost", StringComparison.OrdinalIgnoreCase)) { return(EventClient.GetNamedPipesClient(ctx)); } else { return(EventClient.GetNetTcpClient(ctx, UserSettings.AutoSyncServerHost, UserSettings.AutoSyncServerPort, UserSettings.AutoSyncServerIdentity)); } }
public async Task ReportEventAsync(SystemEvent @event) { if (!string.IsNullOrWhiteSpace(OverrideApplicationNameWith)) { @event.PartitionKey = @event.AppInfo.ApplicationName = OverrideApplicationNameWith; } var toCosmos = SendEventToCosmos(@event); var toAnalyzer = EventClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(Serialise(@event)))); await toCosmos; await toAnalyzer; }
internal static EventClient GetDefaultEventClient(InstanceContext ctx) { if (App.IsConnectedToLocalhost()) { return(EventClient.GetNamedPipesClient(ctx)); } else { return(EventClient.GetNetTcpClient(ctx, UserSettings.AutoSyncServerHost, UserSettings.AutoSyncServerPort, UserSettings.AutoSyncServerIdentity)); } }
public async Task WhenShowIncompleteIsFalse_SendV2Preview_MustNotAppendShowIncompleteQueryParam() { using (var badgeUpClient = new BadgeUpHttpClient(ApiKey.Create("eyJhY2NvdW50SWQiOiJ0aGViZXN0IiwiYXBwbGljYXRpb25JZCI6IjEzMzciLCJrZXkiOiJpY2VjcmVhbWFuZGNvb2tpZXN5dW0ifQ=="), "https://api.useast1.badgeup.io")) { // Setup mock response // When there's a showIncomplete=false query param, throw an exception. var mockHttpHandler = new MockHttpMessageHandler(); mockHttpHandler.When(HttpMethod.Post, "https://api.useast1.badgeup.io/v2/apps/1337/events*") .WithQueryString("showIncomplete", "false") .Throw(new InvalidOperationException("URL shouldn't have the showIncomplete param appended")); mockHttpHandler.Fallback.Respond("application/json", @"{ 'event': { 'id': 'cja92jvpj1gummf5lf3jj5fx3', 'applicationId': '1337', 'subject': 'subject-1', 'key': 'jump', 'timestamp': '2017-11-21T03:37:03.559Z', 'modifier': { '@inc': 1 } }, 'progress': [ { 'achievementId': 'cj1sp5nse02j9zkruwhb3zwik', 'earnedAchievementId': 'cj1ss153y02k1zkrun39g8itq', 'isComplete': true, 'isNew': true, 'percentComplete': 1, 'progressTree': { 'type': 'GROUP', 'groups': [], 'criteria': { 'cj1sp461o02imzkruqkqi8amh': 1 }, 'condition': 'AND' } } ] }" .Replace("'", "\"")); // arrange badgeUpClient.SetHttpClient(mockHttpHandler.ToHttpClient()); var client = new EventClient(badgeUpClient); // act await client.Send(new BadgeUp.Types.Event("subject-1", "jump"), showIncomplete : false); await client.Send(new BadgeUp.Types.Event("subject-1", "jump"), showIncomplete : true); await client.Send(new BadgeUp.Types.Event("subject-1", "jump"), showIncomplete : null); } }
/// <summary> /// Called when a notification is received by GfW. /// </summary> /// <param name="notification">The notification information</param> /// <param name="callbackContext">The callback context.</param> /// <param name="requestInfo">The request info.</param> /// <param name="isIdle"><c>true</c> if the user is currently idle;<c>false</c> otherwise</param> /// <param name="callbackFunction">The function GfW will run if this notification is responded to on the forwarded computer</param> /// <remarks> /// Unless your forwarder is going to handle socket-style callbacks from the remote computer, you should ignore /// the <paramref name="callbackFunction"/> parameter. /// </remarks> public override void ForwardNotification(Notification notification, CallbackContext callbackContext, RequestInfo requestInfo, bool isIdle, ForwardedNotificationCallbackHandler callbackFunction) { try { Image img = null; var tempFile = ""; try { var iconType = IconType.ICON_NONE; img = GetImage(notification); if (img != null) { tempFile = Path.GetTempFileName(); iconType = IconType.ICON_PNG; img.Save(tempFile, ImageFormat.Png); } EventClient eventClient = new EventClient(); if (!eventClient.Connect(Server)) { Growl.CoreLibrary.DebugInfo.WriteLine("Could not connect to XBMC server at " + Server); return; } if ( !eventClient.SendNotification(ToSingleLine(notification.Title), ToSingleLine(notification.Text), iconType, tempFile)) { Growl.CoreLibrary.DebugInfo.WriteLine("Error sending notification"); } eventClient.Disconnect(); } finally { if (img != null) { img.Dispose(); } Delete(tempFile); } } catch (Exception ex) { Growl.CoreLibrary.DebugInfo.WriteLine("XBMC forwarding failed: " + ex.Message); } }
private void SubscribeToStateChanges() { Trace.WriteLine($"Attempting to open event channel for {this.ManagementAgentName}/{this.ManagementAgentID}"); InstanceContext i = new InstanceContext(this); this.IsConnected = false; while (!this.IsConnected) { try { this.DisplayState = "Disconnected"; this.client = App.GetDefaultEventClient(i); this.client.Open(); this.client.Register(this.ManagementAgentID); this.IsConnected = true; this.faultedCount = 0; } catch (TimeoutException) { this.client.Abort(); Trace.WriteLine("Timeout connecting to server"); Thread.Sleep(UserSettings.ReconnectInterval); } catch (Exception ex) { this.client.Abort(); Trace.WriteLine("Error connecting to server"); Trace.WriteLine(ex); Thread.Sleep(UserSettings.ReconnectInterval); } } Trace.WriteLine($"Registered event channel for {this.ManagementAgentName}/{this.ManagementAgentID}"); this.client.InnerChannel.Closed += this.InnerChannel_Closed; this.client.InnerChannel.Faulted += this.InnerChannel_Faulted; Debug.WriteLine($"Requesting full update for {this.ManagementAgentName}/{this.ManagementAgentID}"); MAStatus status = this.client.GetFullUpdate(this.ManagementAgentID); Debug.WriteLine($"Got full update from {this.ManagementAgentName}/{this.ManagementAgentID}"); this.StartPingTimer(); if (status != null) { this.MAStatusChanged(status); } }
public WorkWindow(EventClient client, ProgramSetting setting) { InitializeComponent(); if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) { return; } Setting = setting; Client = client; mControls = new UserControl[] { AttByClass, AttByDay, InqAbsentees, InqIndividual, InqOver, StuList, Accounts, AcceptedAccounts, InqAll }; ChildManager = new ChildWindowManager(this); }
static void Main(string[] args) { var client = EventClient.Setup(ClientId, ClientSecret) .LogToConsole() .AddRebusCompatibeLogger(x => x.Serilog(new LoggerConfiguration().WriteTo.ColoredConsole().MinimumLevel.Debug())) .SubscribeToAllEvents(EventHandler) .Subscribe <DocumentCreatedEvent>(DocumentCreatedEventHandler) .Subscribe <DocumentSignedEvent>(DocumentSignedEventHandler) .Start(); Console.ReadLine(); client?.Dispose(); }
private void Connect(object o) { try { TcpClient client = new TcpClient(mSetting["ServerIP"] as string, (int)mSetting["ServerPort"]); mClient = new EventClient(client, false); mClient.ReceivedLoginResult += MClient_ReceivedLoginResult; } catch (Exception e) { this.Dispatcher.Invoke(() => MessageBox.Show(this, "서버에 연결할 수 없습니다. 인터넷 연결상태를 확인해주세요.\n\n자세한 오류 메세지 : " + e.Message, "오류", MessageBoxButton.OK, MessageBoxImage.Error)); } }
static void Main(string[] args) { var client = EventClient.Setup(ClientId, ClientSecret) .LogToConsole() .AddRebusCompatibeLogger(x => x.Console(LogLevel.Info)) .SubscribeToAllEvents(EventHandler) .Subscribe <DocumentCreatedEvent>(DocumentCreatedEventHandler) .Subscribe <DocumentSignedEvent>(DocumentSignedEventHandler) .Start(); Console.ReadLine(); client?.Dispose(); }
public ButtonSender(ClientType clientType, string ipAddress, int port) { _clientType = clientType; ButtonCodes.SetType(_clientType); if (_clientType == ClientType.XBMC || _clientType == ClientType.Boxee) { eventClient = new EventClient(); eventClient.Connect(ipAddress, port); } Connected = true; }
public static EventClient UseJsonSerialization(this EventClient subject) { var serializer = new JsonSerializer(); subject.UseParser( async(evt, type, evnt) => { using (var memstream = new MemoryStream()) { string strContent = string.Empty; await Task.Run(() => strContent = JsonConvert.SerializeObject(evt)); evnt.Content = strContent; } }); return(subject); }
private static void SendBeer(int bottlesNum, EventClient client) { for (int i = bottlesNum; i >= 0; --i) { if (i == 0) { client.SendMessage("No more bottles of beer on the wall, no more bottles of beer."); client.SendMessage($"Go to the store and buy some more, {BottlesToString(bottlesNum)} of beer on the wall."); } else { string bottlesStr = BottlesToString(i); client.SendMessage($"{bottlesStr} of beer on the wall, {bottlesStr} of beer."); client.SendMessage($"Take one down and pass it around, {BottlesToString(i - 1)} of beer on the wall."); } } }
public static EventClient UseReflectionNameResolution(this EventClient subject) { subject.UseParser( (evt, type, evnt) => { var attribute = type.GetTypeInfo().GetCustomAttribute <EventAttribute>(); if (attribute == null) { throw new ArgumentException($"The type {type.Name} does not declare the EventAttribute"); } evnt.Name = $"{attribute.Subject}.{attribute.Action}"; return(Task.CompletedTask); }); return(subject); }
public void Run(string accessKey) { Console.WriteLine("EventExample Running"); var client = new EventClient(accessKey); if (!client.IsAlive()) { Console.WriteLine("Event is not running"); return; } var rand = new Random(); // generate 10 users, with user ids 1 to 10 for (var user = 1; user <= 10; user++) { Console.WriteLine("Add user " + user); var result = client.SetUser(user.ToString(), null); } // generate 50 items, with item ids 1 to 50 for (var item = 50; item <= 100; item++) { Console.WriteLine("Add item " + item); client.SetItemWithCategory(item.ToString(), new[] { "1" }); } // each user randomly views 10 items for (var user = 1; user <= 10; user++) { for (var i = 1; i <= 10; i++) { var item = rand.Next(100) + 51; Console.WriteLine("User " + user + " views item " + item); client.UserViewedItem(user.ToString(), item.ToString()); } for (var i = 1; i <= 10; i++) { var item = rand.Next(100) + 51; Console.WriteLine("User " + user + " views item " + item); client.UserBoughtItem(user.ToString(), item.ToString()); } } Console.ReadLine(); }
public override Task ProcessRequestAsync(IRequest req, IResponse res, string operationName) { res.ContentType = MimeTypes.ServerSentEvents; res.AddHeader(HttpHeaders.CacheControl, "no-cache"); res.KeepAlive = true; res.Flush(); IAuthSession session = req.GetSession(); var userAuthId = session != null ? session.UserAuthId : null; var feature = HostContext.GetPlugin<SimpleServerEventsFeature>(); //var now = DateTime.UtcNow; var subscriptionId = SessionExtensions.CreateRandomSessionId(); var eventClient = new EventClient(res) { SubscriptionId = subscriptionId, // A session can have multiple subscriptions / clients }; if (feature.OnCreated != null) feature.OnCreated(eventClient, req); //var heartbeatUrl = req.ResolveAbsoluteUrl("~/".CombineWith(feature.HeartbeatPath)) // .AddQueryParam("id", subscriptionId); var privateArgs = new Dictionary<string, string>(eventClient.Meta) { {"id", subscriptionId }, //{"heartbeatUrl", heartbeatUrl}, //{"heartbeatIntervalMs", ((long)feature.HeartbeatInterval.TotalMilliseconds).ToString(CultureInfo.InvariantCulture) } }; // Register the client req.TryResolve<IServerEventsBroker>().Connect(eventClient); if (feature.OnConnected != null) feature.OnConnected(eventClient, privateArgs); // Welcome our new client res.OutputStream.Write(": " + subscriptionId + " connected\n\n"); // Write initial stream so the client knows we're alive res.Flush(); var tcs = new TaskCompletionSource<bool>(); eventClient.OnDispose = client => { try { res.EndHttpHandlerRequest(skipHeaders: true); } catch { } tcs.SetResult(true); }; return tcs.Task; }
/// <summary> /// Loads the list of goods in a cart with a definite cart_id from an XML file into DataSet /// </summary> /// <param name="cart_id">the cart idetntifier</param> /// <returns>The DataSet with the list of goods in the cart with the cart_id.</returns> public static DataSet LoadCart(string cart_id) { DataSet currentCart = new DataSet(); string cartsFile = HttpContext.Current.Server.MapPath("~/App_Data/Carts.xml"); cart.Clear(); if (File.Exists(cartsFile)) { cart.ReadXml(cartsFile); } else { Carts.CreateXml(cartsFile, "Carts"); cart.ReadXml(cartsFile); } // creates a copy of all carts currentCart = cart.Copy(); string expression = null; DataRow[] foundRows = null; //an expression for searching for a cart with a cart_id expression = "cart_id NOT LIKE '" + cart_id + "'"; try { if (currentCart.Tables.Count == 0) { // WriteFile("Error in Carts.LoadCart(): " + "currentCart.Tables.Count = 0"); Alert.Show("You got no item in your cart", true, "ParticipantEvents.aspx"); } if (currentCart.Tables[0].Rows.Count == 0) { // WriteFile("Error in Carts.LoadCart(): " + "currentCart.Rows.Count = 0"); Alert.Show("You got no item in your cart", true, "ParticipantEvents.aspx"); } // remove all goods from the current cart with the cart_id that does not ocincide with the specified one foundRows = currentCart.Tables[0].Select(expression); int i = 0; for (i = 0; i <= foundRows.GetUpperBound(0); i++) { foundRows[i].Delete(); } // getting a name of item for its Event_ID in order to display it further in GridView DataColumn column = currentCart.Tables[0].Columns["Event_ID"]; currentCart.Tables[0].Columns.Add("Name", System.Type.GetType("System.String")); foreach (DataRow row in currentCart.Tables[0].Rows) { //TODO: Get the event name via its ID EventClient client = new EventClient(); string name = client.GetEventName(int.Parse(row["Event_ID"].ToString())); if (!string.IsNullOrEmpty(name)) { row["Name"] = name; } } return currentCart; } catch (Exception ex) { currentCart.Clear(); //Alert.Show("Error in Carts.LoadCart(): " + ex.Message); //WriteFile("Error in Carts.LoadCart(): " + ex.Message); //HttpContext.Current.Response.Redirect("~/Default.aspx") return null; } }
private void loadTreeView() { EventClient evClient = new EventClient(); Events event_ = null; try { event_ = evClient.GetEvent(EventID()); } catch (Exception) { evClient.Close(); Alert.Show("You are not authorized to view this workspace!", true, "SelectEventWorkspace.aspx"); return; } evClient.Close(); treeWS.Nodes.Clear(); TreeNode treeRoot = new TreeNode(event_.Name); treeRoot.ImageUrl = "~/images/folders.gif"; loadFolders(treeRoot); treeWS.Nodes.Add(treeRoot); treeWS.ExpandAll(); }
public static void sendRequesteeMail(string senderName, int eventID, string title, string targetEmail, string url, string pwd) { EventClient evClient = new EventClient(); Events evnt = evClient.GetEvent(eventID); evClient.Close(); StringBuilder sb = new StringBuilder(); string FromEmail = "*****@*****.**"; MailMessage mailMsg = new MailMessage(); mailMsg.To.Add(targetEmail); mailMsg.From = new System.Net.Mail.MailAddress(FromEmail, "No-Reply (NUS GEMS)"); mailMsg.Subject = "New Request From NUS GEMS (General Events Management System)"; mailMsg.IsBodyHtml = true; sb.AppendLine(); sb.AppendLine("To whom it may concern,"); sb.AppendLine(senderName + " from National University of Singapore has sent you a request regarding " + title); sb.AppendLine("for the event " + evnt.Name + " held from " + evnt.StartDateTime.Date.ToString("dd MMM yyyy") + " to " + evnt.EndDateTime.Date.ToString("dd MMM yyyy")); sb.AppendLine(); sb.AppendLine("For more details about the request, please login at our website <a href='" + url + "'> here </a>"); sb.AppendLine(); sb.AppendLine("Your userid is " + targetEmail + " and your password is " + pwd); sb.AppendLine(); sb.AppendLine(); sb.AppendLine("Thanks and Regards"); sb.AppendLine(); sb.AppendLine("NUS GEMS Server Administrator"); sb.AppendLine(); sb.AppendLine("This e-mail is an auto-responder, Please do not reply to this e-mail"); sb.AppendLine(); sb.AppendLine("We thank you for your co-operation."); mailMsg.Body = sb.ToString().Replace(Environment.NewLine, "<br>"); try { NetworkCredential basicAuthenticationInfo = new NetworkCredential(smtpUserName, smtpPwd); SmtpClient MailObj = new SmtpClient(smtpServer, port); MailObj.Credentials = basicAuthenticationInfo; MailObj.Send(mailMsg); } catch (Exception ex) { throw ex; } }
private void loadTreeView() { EventClient evClient = new EventClient(); Events event_ = evClient.GetEvent(EventID()); evClient.Close(); treeWS.Nodes.Clear(); TreeNode treeRoot = new TreeNode(event_.Name); treeRoot.ImageUrl = "~/images/folders.gif"; loadFolders(treeRoot); treeWS.Nodes.Add(treeRoot); treeWS.ExpandAll(); }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { lblSelectedFolder.Text = "-"; string eventOrganizerID = ""; int domain = -1; try { domain = int.Parse(Session["Domain"].ToString()); } catch (Exception) { domain = -1; } if (domain != 1) Response.Redirect("~/Error404.aspx"); if (EventID() == -1) Response.Redirect("~/Error404.aspx"); bool authenticated = false; EventClient evClient = new EventClient(); eventOrganizerID = evClient.GetEvent(EventID()).Organizerid; evClient.Close(); if (NUSNetUser() != null) { RoleClient roleClient = new RoleClient(); try { if (roleClient.haveRightsTo(EventID(), NUSNetUser().UserID, EnumFunctions.Manage_Artefacts)) { authenticated = true; } } catch (Exception ex) { authenticated = false; } finally { roleClient.Close(); } } if (!authenticated) Response.Redirect("~/Error403.aspx"); } loadTreeView(); }
private void HandleUnsubscribe(EventClient client) { client.Dispose(); }
public void Disconnect(EventClient client) { EventClient dummy; clients.TryRemove(client.SubscriptionId, out dummy); }
public void Connect(EventClient client) { client.OnUnsubscribe = HandleUnsubscribe; clients.AddOrUpdate(client.SubscriptionId, client, (id, newClient) => newClient); Debug.WriteLine("New client connected: {0}", client.SubscriptionId); }
public static void Main(String[] args) { var accessKey = args.Length > 0 ? args[0] : "AEEASHv5XNkTHL4AzyoE1Hu9gTrDP2AFa7qXEQfWA5y33KdO5Hk5sNExJkW5udWX"; Console.WriteLine("Running"); using (var client = new EventClient(accessKey)) { var rand = new Random(); //var emptyProperty = new Dictionary<string, object>(); // generate 10 users, with user ids 1 to 10 for (int user = 1; user <= 10; user++) { Console.WriteLine("Add user " + user); client.SetUser("i" + user, new Dictionary<string, object> { {"name","ibrahim"+user}, {"surname","özgön"+user}, }); } // generate 50 items, with item ids 1 to 50 for (int item = 1; item <= 50; item++) { Console.WriteLine("Add item " + item); client.SetItem("" + item, new Dictionary<string, object> { {"item","pencil"+item}, {"item2","pencil"+item}, }); } // each user randomly views 10 items for (int user = 1; user <= 10; user++) { for (int i = 1; i <= 10; i++) { int item = rand.Next(50) + 1; Console.WriteLine("User " + user + " views item " + item); client.UserActionItem("view", "" + user, "" + item, new Dictionary<string, object> { {"actionview","viewed"+user} }); } } Console.ReadLine(); } using (var engineClient = new EngineClient()) { var dic = new Dictionary<string, object>(); dic.Add("num", 20); dic.Add("user", 1); try { var result = engineClient.SendQuery<ItemScoresRootObject>(dic); foreach (var res in result.ItemScores) { Console.WriteLine(res.Item + " " + res.Score); } Console.ReadLine(); } catch (Exception e) { Console.WriteLine(e); } } }
private void GetEventsForUser(DateTime start, DateTime end) { List<Events> events = new List<Events>(); try { User u = (User)Session["nusNETuser"]; if (u == null) { Alert.Show("Please Login First!", true, "SignIn.aspx"); return; } EventClient client = new EventClient(); List<Events> userEvent = client.ViewEventsByDateAndTag(u, start, end, txtTag.Text.Trim()).ToList<Events>(); client.Close(); rtpEvent.DataSource = userEvent; rtpEvent.DataBind(); } catch (Exception ex) { Alert.Show("Error Retreiving List of Events from Server", false, "~/Default.aspx"); return; } }
//TODO, Put radio buttons to set the date //1 month, 3 months this year.. protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { int eventID = int.Parse(Request.QueryString["EventID"]); EventClient evClient = new EventClient(); Events event_; List<EventDay> evDays_; try { event_ = evClient.GetEvent(eventID); evDays_ = evClient.GetDays(event_.EventID).ToList<EventDay>(); } catch (Exception ex) { evClient.Close(); Response.Redirect("~/Error404.aspx"); return; } evClient.Close(); try { this.hypRegister.NavigateUrl = "~/Register.aspx?EventID=" + eventID.ToString() + "&Name=" + event_.Name; RegistrationClient client = new RegistrationClient(); Publish publish = client.ViewPublish(eventID); client.Close(); menuEvent.Visible = true; mvTab.Visible = true; lbleventname.Text = event_.Name; lbleventdate.Text = "From " + event_.StartDateTime.ToString("dd MMM yyyy") + " To " + event_.EndDateTime.ToString("dd MMM yyyy"); lbleventdescription.Text = event_.Description; hypeventwebsite.Text = event_.Website; if (event_.Website.Length == 0) { hypeventwebsite.Visible = false; lblWebsite.Visible = false; } else { hypeventwebsite.NavigateUrl = event_.Website; } if (publish != null) { lbleventpublishinfo.Text = publish.Remarks; lblPublish.Visible = true; if (publish.PaymentAMount > 0) { lblpaymentinfo.Text = "$" + publish.PaymentAMount.ToString("0.00"); } else { lblpaymentinfo.Text = "Event is Free! :)"; } } else { lbleventpublishinfo.Text = ""; lblPublish.Visible = false; lblpaymentinfo.Text = ""; } lblpaymentinfo.Visible = lblPublish.Visible; lblpaymentinfo.Visible = lblpayment.Visible; ddlEventDay.DataSource = evDays_; ddlEventDay.DataValueField = "DayID"; ddlEventDay.DataTextField = "StartDateTime"; ddlEventDay.DataBind(); ddlEventDay_SelectedIndexChanged(this.ddlEventDay, new EventArgs()); evClient.Close(); if (publish == null || (publish.StartDateTime > DateTime.Now || publish.EndDateTime < DateTime.Now)) { this.hypRegister.Visible = false; } else { hypRegister.Visible = true; } } catch (Exception ex) { Alert.Show("Error Retreiving List of Events from Server", false, "~/Default.aspx"); return; } } }
private void getEventSummary() { Events event_; EventClient client = new EventClient(); event_ = client.GetEvent(EventID()); lblEventName.Text = event_.Name; lblFrmDate.Text = event_.StartDateTime.ToString("dd MMM yyyy"); lblToDate.Text = event_.EndDateTime.ToString("dd MMM yyyy"); txtEventDesc.Text = event_.Description; client.Close(); }