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); }
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); }
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) { } //} } }
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) { } } }
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")); }