Beispiel #1
0
        // GET: Settings
        public ActionResult Settings()
        {
            XMPPSettings xMPPSettings = XMPPConfig.ReadSettings();

            var result = new XMPPSettingsViewModel
            {
                server          = xMPPSettings.Server,
                domain          = xMPPSettings.Domain,
                port            = xMPPSettings.Port,
                autoReconnect   = xMPPSettings.AutoReconnect,
                enable          = xMPPSettings.Enable,
                user            = xMPPSettings.User,
                password        = xMPPSettings.Password,
                messageTemplate = xMPPSettings.MessageTemplate,
                isConnected     = sender.IsConnected()
            };

            return(PartialView(result));
        }
Beispiel #2
0
        //Send XMPP message
        private void SendNotificationOut(NotificationViewModel notification, XMPPSettings xMPPSettings)
        {
            IXMPPClient sender = NinjectIoC.Initialize().Get <IXMPPClient>();

            string[] xmppRecipients = notification.sendto.Select(s => sender.GetUserName(employeeRepository.GetEmployee(s).Login, xMPPSettings.Domain)).ToArray <string>();

            if (!sender.IsConnected())
            {
                sender.Connect(xMPPSettings.Server, xMPPSettings.Port, xMPPSettings.User, xMPPSettings.Password, xMPPSettings.AutoReconnect);
                Thread.Sleep(1000);
            }

            Task.Run(() =>
            {
                sender.SendNotification(xmppRecipients, FullTemplate(notification, xMPPSettings.MessageTemplate));
            });
        }