private static void addNewVisitor( MvcContext ctx, String sid ) { OnlineUser visitor = new OnlineUser(); visitor.Name = sid; visitor.StartTime = DateTime.Now; populateOnline( visitor, ctx ); Dictionary<String, Object> dic = getIndexMap( visitor ); visitor.insertByIndex( dic ); if (ctx.viewer != null && ctx.viewer.Id > 0) OnlineStats.Instance.AddMemberCount(); }
private static void addNewVisitor(MvcContext ctx, String sid) { OnlineUser visitor = new OnlineUser(); visitor.Name = sid; visitor.StartTime = DateTime.Now; populateOnline(visitor, ctx); Dictionary <String, Object> dic = getIndexMap(visitor); visitor.insertByIndex(dic); if (ctx.viewer != null && ctx.viewer.Id > 0) { OnlineStats.Instance.AddMemberCount(); } }
private static void UpdateOnline(MvcContext ctx) { String sid = getSessionId(ctx); List <OnlineUser> result = cdb.findByName <OnlineUser>(sid); Boolean isNew = (result.Count == 0 ? true : false); if (isNew) { OnlineUser myOnline = new OnlineUser(); myOnline.Name = sid; myOnline.StartTime = DateTime.Now; populateOnline(myOnline, ctx); Dictionary <String, Object> dic = getIndexMap(myOnline); myOnline.insertByIndex(dic); } else { OnlineUser myOnline = result[0]; populateOnline(myOnline, ctx); Dictionary <String, Object> dic = getIndexMap(myOnline); myOnline.updateByIndex(dic); } // 检查是否有同名的登录用户 if (ctx.viewer != null && ctx.viewer.IsLogin) { List <OnlineUser> sameUsers = cdb.findBy <OnlineUser>("UserName", ctx.viewer.obj.Name); if (sameUsers.Count > 1) { foreach (OnlineUser u in sameUsers) { if (u.Name == sid) { continue; } cdb.delete(u); } } } }
private static void UpdateOnline( MvcContext ctx ) { String sid = getSessionId( ctx ); List<OnlineUser> result = cdb.findByName<OnlineUser>( sid ); Boolean isNew = (result.Count == 0 ? true : false); if (isNew) { OnlineUser myOnline = new OnlineUser(); myOnline.Name = sid; myOnline.StartTime = DateTime.Now; populateOnline( myOnline, ctx ); Dictionary<String, Object> dic = getIndexMap( myOnline ); myOnline.insertByIndex( dic ); } else { OnlineUser myOnline = result[0]; populateOnline( myOnline, ctx ); Dictionary<String, Object> dic = getIndexMap( myOnline ); myOnline.updateByIndex( dic ); } // 检查是否有同名的登录用户 if ( ctx.viewer != null && ctx.viewer.IsLogin) { List<OnlineUser> sameUsers = cdb.findBy<OnlineUser>( "UserName", ctx.viewer.obj.Name ); if (sameUsers.Count > 1) { foreach (OnlineUser u in sameUsers) { if (u.Name == sid) continue; cdb.delete( u ); } } } }