Example #1
0
        /// <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);
        }
Example #2
0
        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}");
        }
Example #3
0
        /// <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);
        }
Example #4
0
        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");
            }
        }
Example #5
0
        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);
        }
Example #6
0
        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();
        }
Example #7
0
 public MainForm()
 {
     InitializeComponent();
     locEvClient = new EventClient();
     lvList.SetDoubleBuffered(true);
     lvList.ListViewItemSorter = new ListViewItemComparer(lastColumn);
 }
Example #8
0
        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();
        }
Example #9
0
        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();
            }
        }
Example #10
0
 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);
     }
 }
Example #11
0
        static void Main(string[] args)
        {
            EventClient c   = new EventClient();
            var         res = c.ReadEvents();

            Console.WriteLine(res);
            Console.ReadKey();
        }
Example #12
0
        public ReconfirmationWindow(string info, string id, EventClient client)
        {
            InitializeComponent();

            InfoStr = info;
            IDStr   = id;
            Client  = client;
        }
Example #13
0
 protected string getEventName(string eventID)
 {
     int eID = int.Parse(eventID);
     EventClient evClient = new EventClient();
     string evName = evClient.GetEventName(eID);
     evClient.Close();
     return evName;
 }
Example #14
0
            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);
            }
Example #15
0
 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);
 }
Example #16
0
 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);
 }
Example #17
0
        public SACNListener(Int16 universeID, int port)
        {
            Port       = port;
            UniverseID = universeID;
            Socket     = new EventClient(port);
            Socket.JoinMulticastGroup(SACNCommon.GetMulticastAddress(UniverseID));

            Socket.PacketReceived += Socket_PacketReceived;
        }
Example #18
0
        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();
        }
Example #20
0
 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;
 }
Example #22
0
 internal static EventClient GetDefaultEventClient(InstanceContext ctx)
 {
     if (App.IsConnectedToLocalhost())
     {
         return(EventClient.GetNamedPipesClient(ctx));
     }
     else
     {
         return(EventClient.GetNetTcpClient(ctx, UserSettings.AutoSyncServerHost, UserSettings.AutoSyncServerPort, UserSettings.AutoSyncServerIdentity));
     }
 }
Example #23
0
        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);
            }
        }
Example #24
0
        /// <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);
            }
        }
Example #26
0
        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);
        }
Example #27
0
        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));
            }
        }
Example #29
0
        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();
        }
Example #30
0
        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;
        }
Example #31
0
        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);
        }
Example #32
0
        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;
            }
Example #36
0
        /// <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();
        }
Example #38
0
        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;
            }
        }
Example #39
0
        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();
        }
Example #40
0
        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);
 }
Example #44
0
        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);
                }
            }
        }
Example #45
0
        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;
            }
        }
Example #46
0
        //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;
                }
            }
        }
Example #47
0
 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();
 }