private static void NewMethod3() { StudyOnlineEntities entities = new StudyOnlineEntities(); DateTime now = DateTime.Now; for (int i = 1; i <= 150; i++) { //创建帐号 NimUser nimuser = new NimUser() { Accid = Guid.NewGuid().ToString().Replace("-", ""), Category = 0, IsActive = 1, IsEnable = 1, Username = String.Format("CFFD{0:D3}", i), Password = EncryptionUtil.Md5Encode("00000000"), CreateDate = now, NimUserEx = new NimUserEx() { Coins = 600 } }; //同步云信 String json = NimUtil.UserCreate(nimuser.Accid, null, null, null); Answer a = JsonConvert.DeserializeObject <Answer>(json); if (a.code == 200) { nimuser.Token = a.info.token; } //保存数据 entities.NimUser.Add(nimuser); Console.WriteLine("帐号:{0},密码:{2},学币:{1},accid={3},token={4}", nimuser.Username, nimuser.NimUserEx.Coins, nimuser.Password, nimuser.Accid, nimuser.Token); } entities.SaveChanges(); }
/// <summary> /// 刷新会话列表 /// </summary> /// <param name="page">页码</param> private void refresh(int page = 0) { var show = sceMain.Controls[0]; var hide = sceMain.Controls[1]; var height = 0; sessions.OrderByDescending(i => i.time).Skip(page * ppcSession.size).Take(ppcSession.size).OrderBy(i => i.time).ToList().ForEach(i => { var control = new SessionBox { headImage = i.head, name = i.name, message = i.message, time = i.time, unRead = i.unRead, Name = i.id, Dock = DockStyle.Top, }; if (i.id == id) { control.BackColor = Color.White; } control.click += (sender, args) => { sessionClick?.Invoke(sender, new SessionEventArgs(i.id, i.unRead)); click(control); }; control.doubleClick += (sender, args) => { sessionDoubleClick?.Invoke(sender, new SessionEventArgs(i.id, i.unRead)); click(control); }; height = height + control.Height; hide.Controls.Add(control); }); hide.Dock = height > Height ? DockStyle.Top : DockStyle.Fill; hide.Height = height; hide.Visible = true; show.Visible = false; show.SendToBack(); foreach (Control control in show.Controls) { NimUtil.clearEvent(control, "click"); NimUtil.clearEvent(control, "doubleClick"); control.Dispose(); } show.Controls.Clear(); }
/// <summary> /// 更新会话记录 /// </summary> /// <param name="info">会话信息</param> private void updateSession(SessionInfo info) { var session = sessions.Find(i => i.id == info.Id); if (session == null) { addSession(info); return; } session.message = NimUtil.readMsg(info); session.time = info.Timetag / 1000; session.unRead = info.Id == info.Sender; }
/// <summary> /// 新增会话记录 /// </summary> /// <param name="info">会话信息</param> private void addSession(SessionInfo info) { var user = NimUtil.getUser(info.Id); var session = new NimSessionInfo { id = info.Id, name = user.name, head = Util.getImageFromUrl(user.icon), message = NimUtil.readMsg(info), time = info.Timetag / 1000, unRead = info.UnreadCount > 0 }; sessions.Add(session); }
/// <summary> /// 初始聊天窗口 /// </summary> public void init() { UserAPI.GetUserNameCard(new List <string> { targetId }, ret => { if (ret != null && ret.Any()) { var headUrl = ret[0].IconUrl; if (!string.IsNullOrEmpty(headUrl)) { mlcMessage.target = NimUtil.getHeadImage(headUrl); return; } } mlcMessage.target = Util.getImage("icons/head.png"); }); if (myHead == null) { UserAPI.GetUserNameCard(new List <string> { myId }, ret => { if (ret != null && ret.Any()) { var headUrl = ret[0].IconUrl; if (!string.IsNullOrEmpty(headUrl)) { myHead = NimUtil.getHeadImage(headUrl); mlcMessage.me = myHead; return; } } myHead = Util.getImage("icons/head.png"); mlcMessage.me = myHead; }); } else { mlcMessage.me = myHead; } }
public void Execute(IJobExecutionContext context) { log.Info("now sync teacher"); try { StudyOnlineEntities entities = new StudyOnlineEntities(); List <Teacherreginfo> teachers = entities.Teacherreginfo.Where(o => o.IsEnable == 1 && o.IsSync != 1).ToList(); foreach (var item in teachers) { //先创建云信帐号 //同步云信帐号系统 String json = NimUtil.UserCreate(Guid.NewGuid().ToString().Replace("-", ""), null, null, HttpUtility.UrlEncode(item.Truename)); Answer a = JsonConvert.DeserializeObject <Answer>(json); if (a.code == 200) { //修改数据库状态 item.IsSync = 1; //创建新用户 NimUser nimUser = new NimUser() { Username = item.Username, Password = item.Password, Category = 1, Accid = a.info.accid, Token = a.info.token, CreateDate = DateTime.Now, IsActive = 1, IsOnline = 0 }; nimUser.NimUserEx = new NimUserEx() { Email = item.Username, Mobile = item.Phonenumber, Spoken = item.ForeignLanguages, School = item.Education, About = item.Note }; entities.NimUser.Add(nimUser); } log.Info(String.Format("Syncint the teacher:{0}", item.Username)); } entities.SaveChanges(); } catch (Exception) { log.Info("sync failure"); } }