Exemple #1
0
        OnDisconnected(bool stopCalled)
#endif
        {
            //%%%%%%%%%%%%%%%%%%% notify users in scope of user disconnect
            string name = null;

            try {
                if (Context.User != null)
                {
                    name = Context.User.Identity.Name;
                }
                if (!string.IsNullOrWhiteSpace(name))
                {
                    Dispatch(this.Clients.Others, "userDisconnect", name);
                }
            } catch (Exception) { }

            try {
                string         host = Context.Headers["Host"];
                SiteDefinition site = await SiteDefinition.LoadSiteDefinitionAsync(host);

                if (site == null)
                {
                    throw new InternalError("No site definition for {0}", host);
                }
                using (ConnectionDataProvider connDP = new ConnectionDataProvider(site.Identity)) {
                    await connDP.RemoveItemAsync(Context.ConnectionId);
                }
            } catch (Exception) { }
#if MVC6
            await base.OnDisconnectedAsync(exception);
#else
            await base.OnDisconnected(stopCalled);
#endif
        }
Exemple #2
0
 private async Task UpdateConnection(string user, string ipAddress, string connectionId)
 {
     try {
         using (ConnectionDataProvider connDP = new ConnectionDataProvider()) {
             await connDP.UpdateEntryAsync(user, ipAddress, connectionId);
         }
     } catch (Exception) { }
 }
Exemple #3
0
        public async Task <bool> IsUserOnline(string user)
        {
            YetaWFManager manager = await this.SetupSignalRAsync();

            using (ConnectionDataProvider connDP = new ConnectionDataProvider()) {
                Connection conn = await connDP.GetEntryAsync(user);

                return(conn != null);
            }
        }
 private void DeleteItem()
 {
     if (MessageBox.Show(
             this, ParentControlManager.Strings.GetString("really_delete_record"),
             ParentControlManager.Strings.GetString("question"), MessageBoxButtons.YesNo,
             MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
     {
         ConnectionDataProvider provider = new ConnectionDataProvider();
         provider.DeleteConnection((int)((Connection)listViewMain.SelectedItems[0].Tag).Id);
         RefreshData();
     }
 }
        /// <summary>
        /// Refresh of the list view component.
        /// </summary>
        public void RefreshData()
        {
            ConnectionDataProvider provider = new ConnectionDataProvider();

            listViewMain.Clear();
            foreach (Connection conn in provider.GetConnectionList())
            {
                ListViewItem item = new ListViewItem(conn.Name, 0);
                item.Tag         = conn;
                item.ToolTipText = conn.Name;
                listViewMain.Items.Add(item);
            }

            base.Refresh();
        }
Exemple #6
0
        public async Task <List <string> > GetOnlineUsers()
        {
            YetaWFManager manager = await this.SetupSignalRAsync();

            using (ConnectionDataProvider connDP = new ConnectionDataProvider()) {
                //%%%%%%%%%%%%%%%%%%% limit scope to friend users
                List <DataProviderFilterInfo> filters = null;
                filters = DataProviderFilterInfo.Join(filters, new DataProviderFilterInfo {
                    Field = "Name", Operator = "!=", Value = null
                });
                List <DataProviderSortInfo> sorts = null;
                sorts = DataProviderSortInfo.Join(sorts, new DataProviderSortInfo {
                    Field = "Name", Order = DataProviderSortInfo.SortDirection.Ascending
                });
                DataProviderGetRecords <Connection> conns = await connDP.GetItemsAsync(0, 0, sorts, filters);

                return((from c in conns.Data select c.Name).Distinct().ToList());
            }
        }
Exemple #7
0
        OnConnected()
#endif
        {
            try {
                string         host = Context.Headers["Host"];
                SiteDefinition site = await SiteDefinition.LoadSiteDefinitionAsync(host);

                if (site == null)
                {
                    throw new InternalError("No site definition for {0}", host);
                }

                string name      = null;
                string ipAddress = null;
                try {
                    if (Context.User != null)
                    {
                        name = Context.User.Identity.Name;
                    }
                } catch (Exception) { }
                try {
                    ipAddress = (string)Context.Request.Environment["server.RemoteIpAddress"];
                } catch (Exception) { }
                string connectionId = Context.ConnectionId;

                try {
                    using (ConnectionDataProvider connDP = new ConnectionDataProvider(site.Identity)) {
                        await connDP.UpdateEntryAsync(name, ipAddress, connectionId);
                    }
                } catch (Exception) { }

                //%%%%%%%%%%%%%%%%%%% notify users in scope of new user
                if (!string.IsNullOrWhiteSpace(name))
                {
                    Dispatch(this.Clients.Others, "userConnect", name);
                }
            } catch (Exception) { }
#if MVC6
            await base.OnConnectedAsync();
#else
            await base.OnConnected();
#endif
        }