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 }
private async Task UpdateConnection(string user, string ipAddress, string connectionId) { try { using (ConnectionDataProvider connDP = new ConnectionDataProvider()) { await connDP.UpdateEntryAsync(user, ipAddress, connectionId); } } catch (Exception) { } }
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(); }
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()); } }
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 }