public bool Create(StreamSimpleModel model) { try { var any = _streamUserMapper.Any(model.StreamId); if (any) { Logger.Warn("Stream exist!" + model); return(false); } foreach (var connection in _connectionMapper.GetConnections(CurUserId)) { Groups.Add(connection, model.StreamId); } _streamUserMapper.Add(model.StreamId, CurUserId); _streamCreatorMapper.Add(Context.ConnectionId, model.StreamId); Logger.Debug(LogKey + model); return(true); } catch (Exception e) { Logger.Error(e); return(false); } }
public override Task OnDisconnected(bool stopCalled) { try { var streams = _streamCreatorMapper.GetConnections(Context.ConnectionId); _streamCreatorMapper.Remove(Context.ConnectionId); if (streams != null) { foreach (var stream in streams) { var model = new StreamSimpleModel { StreamId = stream }; _streamUserMapper.Remove(model.StreamId); Clients.OthersInGroup(model.StreamId).Deleted(model); _comments.Remove(model.StreamId); _joined.Remove(model.StreamId); } } } catch (Exception e) { Logger.Error(e); } return(base.OnDisconnected(stopCalled)); }
public bool IsStreamExist(StreamSimpleModel model) { try { Logger.Debug(LogKey + model); return(_streamUserMapper.Any(model.StreamId)); } catch (Exception e) { Logger.Error(e); return(false); } }
public int GetStreamMembersCount(StreamSimpleModel model) { try { var any = _streamUserMapper.Any(model.StreamId); if (!any) { Logger.Warn("Stream not exist!" + model); return(0); } Logger.Debug(LogKey + model); return(GetMembersCount(model.StreamId)); } catch (Exception e) { Logger.Error(e); return(0); } }
public IEnumerable <string> GetStreamMembers(StreamSimpleModel model) { try { var any = _streamUserMapper.Any(model.StreamId); if (!any) { Logger.Warn("Stream not exist!" + model); return(null); } Logger.Debug(LogKey + model); return(_streamUserMapper.GetConnections(model.StreamId)); } catch (Exception e) { Logger.Error(e); return(null); } }
public bool Delete(StreamSimpleModel model) { try { var any = _streamUserMapper.Any(model.StreamId); if (!any) { Logger.Warn("Stream not exist!" + model); return(false); } _streamUserMapper.Remove(model.StreamId); Clients.OthersInGroup(model.StreamId).Deleted(model); Logger.Debug(LogKey + model); return(true); } catch (Exception e) { Logger.Error(e); return(false); } }