public override void Run() { ReferenceData.Entity.Conversation cvst = (ReferenceData.Entity.Conversation)data.Data; if (cvst.avatar2 != null && cvst.avatar != null) { string imagesFolder = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\Files\Images\"; string[] info = getFileInfo(cvst.avatar2); cvst.avatar2 = info[0] + DateTime.Now.ToUniversalTime().Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds + "." + info[1]; File.WriteAllBytes(imagesFolder + cvst.avatar2, cvst.avatar); } bool result = new ConversationDAO().InsertConversation(cvst); if (result) { foreach (var member in cvst.memberList) { ReferenceData.Entity.Participant p = new ReferenceData.Entity.Participant(); p.conversationId = cvst.id; p.userId = member.id; new ParticipantDAO().InsertParticipant(p); } foreach (var onl in worker.Server.OnlineList) { foreach (var mb in cvst.memberList) { if (onl.Acc.id == mb.id && mb.id != cvst.creatorId) { cvst.state = true; onl.Worker.send(new SocketData("INSERTCONVERSATION", cvst)); if (cvst.memberList.Count == 2) { this.worker.send(new SocketData("ONLINE", mb)); } } } } } }
public void InsertParticipant(ReferenceData.Entity.Participant p) { db.Usp_InsertParticipant(p.userId, p.conversationId); }