Esempio n. 1
0
        public bool InsertConversation(ReferenceData.Entity.Conversation c)
        {
            int result = db.Usp_InsertConversation(c.id, c.creatorId, c.avatar2, c.title2);

            if (result == 1)
            {
                return(true);
            }
            return(false);
        }
Esempio n. 2
0
        public List <ReferenceData.Entity.Conversation> GetConversationListOfAccount(int accId)
        {
            var resultSet = db.Usp_GetConversationsByUserId(accId).ToList();
            List <ReferenceData.Entity.Conversation> list = null;

            if (resultSet.Count > 0)
            {
                list = new List <ReferenceData.Entity.Conversation>();
                string imagesFolder = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\Files\Images\";
                foreach (var c in resultSet)
                {
                    ReferenceData.Entity.Conversation cvst = new ReferenceData.Entity.Conversation();
                    cvst.id          = c.id;
                    cvst.creatorId   = c.creatorId;
                    cvst.senderId    = c.senderId;
                    cvst.messageType = c.messageType;
                    cvst.content     = c.content;
                    cvst.title       = c.title;
                    cvst.memberList  = new AccountDAO().GetAccountByConversationId(cvst.id);
                    if (cvst.memberList != null)
                    {
                        if (cvst.memberList.Count > 2)
                        {
                            cvst.state  = true;
                            cvst.avatar = ChatAppUtils.ConvertFileToByte(imagesFolder + c.avatar);
                        }
                        else
                        {
                            foreach (var u in cvst.memberList)
                            {
                                if (u.id != accId)
                                {
                                    foreach (var onl in onlineList)
                                    {
                                        if (onl.Acc.Equals(u))
                                        {
                                            cvst.state = true;
                                            break;
                                        }
                                    }
                                    cvst.title  = u.firstName + " " + u.lastName;
                                    cvst.avatar = u.avatar;
                                }
                            }
                        }
                    }
                    cvst.createdAt = c.createdAt;
                    list.Add(cvst);
                }
            }
            return(list);
        }
Esempio n. 3
0
        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));
                            }
                        }
                    }
                }
            }
        }
Esempio n. 4
0
 public void Handle(object sender, EventArgs e)
 {
     ReferenceData.Entity.Conversation cvst = new ReferenceData.Entity.Conversation();
     cvst.memberList = new List <ReferenceData.Entity.Account>();
     cvst.memberList.Add(form.User);
     foreach (var mb in form.NewGroup.MemberList)
     {
         cvst.memberList.Add(mb.Acc);
     }
     cvst.title     = form.NewGroup.GroupName;
     cvst.title2    = form.NewGroup.GroupName;
     cvst.creatorId = form.User.id;
     cvst.avatar    = form.NewGroup.Avatar;
     cvst.avatar2   = form.NewGroup.AvatarName;
     cvst.senderId  = form.User.id;
     form.AddChatBox(cvst);
     form.ResetCurrentConversation();
     if (form.NewGroup != null)
     {
         form.NewGroup.Dispose();
         form.NewGroup = null;
     }
 }
Esempio n. 5
0
 public void Handle(ReferenceData.Entity.Conversation cvst)
 {
     client.send(new SocketData("INSERTCONVERSATION", cvst));
 }
Esempio n. 6
0
 public Conversation(ReferenceData.Entity.Conversation conversation, ReferenceData.Entity.Account acc)
 {
     InitializeComponent();
     Cvst = conversation;
     Acc  = acc;
 }