Пример #1
0
        public async Task <long> SendMessage(vmMessage message)
        {
            long chatId = 0;
            //Receive Message
            List <string> ReceiverConnectionids = _connections.GetConnections(message.Receiverid).ToList <string>();

            if (ReceiverConnectionids.Count() > 0)
            {
                //Save-Receive-Message
                try
                {
                    UserChat model = new UserChat()
                    {
                        Senderid    = message.Senderid,
                        Receiverid  = message.Receiverid,
                        Message     = message.Message,
                        Messagedate = message.Messagedate
                    };

                    UserChat userChat = await _chatDBService.SaveItemAsync(model);

                    chatId = userChat.Chatid;

                    await Clients.Clients(ReceiverConnectionids).SendAsync("ReceiveMessage", message);
                }
                catch (Exception) { }
            }

            return(chatId);
        }
Пример #2
0
        public async Task <object> saveUserChat(vmMessage _model)
        {
            string message = string.Empty;

            try
            {
                using (_ctx = new SignalRChatContext())
                {
                    UserChat model = new UserChat()
                    {
                        Chatid        = _ctx.UserChat.DefaultIfEmpty().Max(x => x == null ? 0 : x.Chatid) + 1,
                        Connectionid  = _model.Connectionid,
                        Senderid      = _model.Senderid,
                        Receiverid    = _model.Receiverid,
                        Message       = _model.Message,
                        Messagestatus = _model.Messagestatus,
                        Messagedate   = _model.Messagedate,
                        IsGroup       = _model.IsGroup,
                        IsPrivate     = _model.IsPrivate,
                        IsMultiple    = _model.IsMultiple
                    };
                    _ctx.UserChat.Add(model);
                    await _ctx.SaveChangesAsync();

                    message = "Saved";
                }
            }
            catch (Exception ex)
            {
                message = "Error:" + ex.ToString();
            }
            return(message);
        }
Пример #3
0
        public async Task SendMessage(vmMessage _message)
        {
            string[] splitReceiverid = null;
            //string[] ReceiverID = null;
            List <string> ReceiverID = new List <string>();

            if (_message.Receiverid.Contains(','))
            {
                splitReceiverid = _message.Receiverid.Split(',');
                foreach (string receiverID in splitReceiverid)
                {
                    //   _objData = new IChatRepository();
                    string ReceiverName = await _chatRepository.getReceiverName(receiverID);

                    ReceiverID.Add(ReceiverName);
                }
                var x = string.Join(", ", ReceiverID);
                try
                {
                    _message.Receiverid = x;
                    //_message.Connectionid = String.Join(",", ReceiverConnectionids);
                    await _chatRepository.saveUserChat(_message);

                    await Clients.All.SendAsync("ReceiveMessage", _message);


                    //await Clients.Clients(ReceiverConnectionids).SendAsync("ReceiveMessage", _message);
                }
                catch (Exception) { }
                //}
            }
            else
            {
                //Receive Message
                List <string> ReceiverConnectionids = _connections.GetConnections(_message.Receiverid).ToList <string>();
                //if (ReceiverConnectionids.Count() > 0)
                //{
                //Save-Receive-Message
                try
                {
                    // _objData = new DataAccess();
                    _message.IsPrivate = true;
                    // _message.Connectionid = String.Join(",", ReceiverConnectionids);
                    await _chatRepository.saveUserChat(_message);

                    //await Clients.Users(_message.Receiverid).SendAsync("ReceiveMessage", _message);
                    //await Clients.All.SendAsync("ReceiveMessage", _message);
                    await Clients.Clients(ReceiverConnectionids).SendAsync("ReceiveMessage", _message);
                }
                catch (Exception) { }
                //}
            }
        }
Пример #4
0
        public async Task SendMessage(vmMessage _message)
        {
            //Receive Message
            List <string> ReceiverConnectionids = _connections.GetConnections(_message.Receiverid).ToList <string>();

            if (ReceiverConnectionids.Count() > 0)
            {
                //Save-Receive-Message
                try
                {
                    _objData              = new DataAccess();
                    _message.IsPrivate    = true;
                    _message.Connectionid = String.Join(",", ReceiverConnectionids);
                    await _objData.saveUserChat(_message);

                    await Clients.Clients(ReceiverConnectionids).SendAsync("ReceiveMessage", _message);
                }
                catch (Exception) { }
            }
        }
Пример #5
0
        public ActionResult SendMessage(vmMessage messages)
        {
            if (!string.IsNullOrEmpty(messages.message) /*|| !string.IsNullOrEmpty(messages.email) ||!string.IsNullOrEmpty(messages.subject) || !string.IsNullOrEmpty(messages.name)*/)
            {
                Messages mes = new Messages();
                mes.Name    = messages.name;
                mes.Email   = messages.email;
                mes.Subject = messages.subject;
                mes.Message = messages.message;

                context.Messages.Add(mes);
                context.SaveChanges();

                Session["Send"] = true;
            }
            else
            {
                Session["UnSend"] = true;
            }



            if (messages.PAGE == "Details")
            {
                return(RedirectToAction("Details", "Courses"));
            }

            if (messages.PAGE == "Details")
            {
                return(RedirectToAction("Index", "Event"));
            }

            if (messages.PAGE == "Details")
            {
                return(RedirectToAction("Index", "Blog"));
            }


            return(RedirectToAction("Index", "Blog"));
        }