Exemple #1
0
        public bool CreateNewChat(string Message, List <string> Recievers)
        {
            try
            {
                List <string> Names = new List <string>();
                Names = Recievers;
                Names.Add(Current_User_id);
                Names.Sort();
                string ChatThread = null;

                foreach (var reciever in Names)
                {
                    // ChatThread = ChatThread +","+ reciever;
                    if (ChatThread == null)
                    {
                        ChatThread = reciever;
                    }
                    else
                    {
                        ChatThread = ChatThread + "," + reciever;
                    }
                }


                MessageSendingModel sendmessage = new MessageSendingModel();

                sendmessage.SenderID        = Current_User_id;
                sendmessage.Massage         = Message;
                sendmessage.MessageThreadID = ChatThread;
                sendmessage.Date_Time       = DateTime.Now;
                _data.SendMessage.Add(sendmessage);


                List <MessageRecieveModel> recivemessage = new List <MessageRecieveModel>();
                foreach (var reciever in Recievers)
                {
                    recivemessage.Add(new MessageRecieveModel()
                    {
                        RecieverID      = reciever,
                        MessageThreadID = ChatThread,
                        HasRead         = null,
                        ReadingDateTime = null,
                    });
                }


                _data.RecieveMessage.AddRange(recivemessage);
                _data.SaveChanges();


                return(true);
            }

            catch (Exception ex)
            {
                return(false);
            }
        }
Exemple #2
0
        public bool Save_Message(Chat_Data_Pass model)
        {
            try
            {
                string senderID   = Current_User_id;
                string RecieverID = model.PartnerId;
                string MessageThreadID;

                if (_data.SendMessage.Any(x => (x.MessageThreadID.Contains(senderID)) && (x.MessageThreadID.Contains(RecieverID))))
                {
                    var allMessage = _data.SendMessage.FirstOrDefault(x => (x.MessageThreadID.Contains(senderID)) && (x.MessageThreadID.Contains(RecieverID)));
                    MessageThreadID = allMessage.MessageThreadID;
                }

                else
                {
                    MessageThreadID = senderID + ',' + RecieverID;
                }



                MessageSendingModel sendmessage   = new MessageSendingModel();
                MessageRecieveModel recivemessage = new MessageRecieveModel();


                sendmessage.SenderID        = senderID;
                sendmessage.Massage         = model.Message;
                sendmessage.MessageThreadID = MessageThreadID;
                sendmessage.Date_Time       = DateTime.Now;
                _data.SendMessage.Add(sendmessage);

                recivemessage.RecieverID      = RecieverID;
                recivemessage.MessageThreadID = MessageThreadID;
                _data.RecieveMessage.Add(recivemessage);
                _data.SaveChanges();

                return(true);
            }
            catch
            {
                return(false);
            }
        }