// Отправка сообщений public void Send(string name, string message, string partnerId, string toUserName) { MessageStoreViewModel messageStoreViewModel = new MessageStoreViewModel(); string reqId = Context.User.Identity.GetUserId(); Clients.Client(partnerId).addMessage(name, message, partnerId); Clients.Client(Context.ConnectionId).addMessage(name, message); messageStoreViewModel.UserFromId = db.Users.Where(x => x.Id == reqId).FirstOrDefault().Id; messageStoreViewModel.UserToId = db.Users.Where(x => x.UserName == toUserName).FirstOrDefault().Id; messageStoreViewModel.Description = message; messageStoreViewModel.DateSend = DateTime.Now; db.Messages.Add(messageStoreViewModel); db.SaveChanges(); SendMessage("Новое сообщение...", partnerId); }
public async Task <ActionResult> AddMessage([Bind(Include = "Id,Description,DateSend,UserFromId,UserToId")] MessageStoreViewModel message) { if (ModelState.IsValid) { /* * if (message.UserDialogId == null) * { * UserDialog dialog = new UserDialog(); * dialog.UserFromId = message.UserFromId; * dialog.UserToId = message.UserToId; * db.Dialogs.Add(dialog); * db.SaveChanges(); * // message.UserDialogId = dialog.Id; * } */ message.DateSend = DateTime.Now; db.Messages.Add(message); await db.SaveChangesAsync(); return(RedirectToAction("Index", "Chat", new { userToId = message.UserToId })); } return(View(message)); }