public IActionResult CreateMessage(MessageCreateViewModel data) { if (!ModelState.IsValid) { return(this.BadRequest()); } var currentUserId = this.userManager.GetUserId(this.User); var message = this.chatService.AddMessage(data.Message, currentUserId, false); // var translatedMessage = this.translator.Translate(data.Message, LanguageCodes.English); // var mood = this.emotionGetter.GetEmotionFromText(translatedMessage.TranslatedText); var mood = this.emotionGetter.GetEmotionFromText(data.Message); this.moodService.Add(currentUserId, mood); var moodMessage = $"I predict mood: {mood}."; var thinkMessage = "I think"; var feelBetterMessage = "will make you feel better"; // if (translatedMessage.DetectedSourceLanguage != LanguageCodes.English) // { // moodMessage = this.translator.Translate(moodMessage, translatedMessage.DetectedSourceLanguage).TranslatedText; // thinkMessage = this.translator.Translate(thinkMessage, translatedMessage.DetectedSourceLanguage).TranslatedText; // feelBetterMessage = this.translator.Translate(feelBetterMessage, translatedMessage.DetectedSourceLanguage).TranslatedText; // } if (this.IsMoodNegative(mood)) { var recommendation = this.recommender.Recommend(currentUserId); moodMessage += Environment.NewLine; moodMessage += $"{thinkMessage} '{recommendation.Content}' {feelBetterMessage}!"; moodMessage += Environment.NewLine; var response = this.chatService.AddMessage(moodMessage, currentUserId, true); return(this.Json(new { myMessage = this.mapper.Map <MessageListViewModel>(message), response = this.mapper.Map <MessageListViewModel>(response), hasRecommendation = true, recommendationId = recommendation.Id })); } var responseMessage = this.chatService.AddMessage(moodMessage, currentUserId, true); return(this.Json(new { myMessage = this.mapper.Map <MessageListViewModel>(message), response = this.mapper.Map <MessageListViewModel>(responseMessage), hasRecommendation = false })); }
public IActionResult New(MessageCreateViewModel model) { if (!TempData.ContainsKey(ApplicationConstants.TempDataMessageRecepientIdKey) || !TempData.ContainsKey(ApplicationConstants.TempDataMessageRecepienUserNameKey)) { return(this.NotFound()); } var recepientId = TempData[ApplicationConstants.TempDataMessageRecepientIdKey].ToString(); if (!this.users.Exists(recepientId)) { return(this.NotFound()); } this.TempData.Keep(ApplicationConstants.TempDataMessageRecepientIdKey); this.TempData.Keep(ApplicationConstants.TempDataMessageRecepienUserNameKey); if (!ModelState.IsValid) { return(this.View(model)); } var senderId = this.userManager.GetUserId(this.User); this.messages.Create(senderId, recepientId, model.Subject, model.Text); TempData[ApplicationConstants.TempDataSuccessMessageKey] = $"Message Sent To {TempData[ApplicationConstants.TempDataMessageRecepienUserNameKey]}!"; return(RedirectToAction("Sent", "Messages", new { area = "" })); }
public IActionResult Create(MessageCreateViewModel messageCreateViewModel) { messageService.Create(messageCreateViewModel.TopicId, messageCreateViewModel.AuthorId, messageCreateViewModel.Text); hubContext.Clients.All.SendAsync("UpdateTopic"); return(RedirectToAction("Details", "Topic", new { id = messageCreateViewModel.TopicId })); }
public IActionResult Create(MessageCreateViewModel model) { bool success = false; using (MSMQManager msmq = new MSMQManager(configuration)) { success = msmq.SendMessage(model.Description); } return(Json(success)); }
// GET: MessageBoards/Create public ActionResult Create(string id) { var userId = User.Identity.GetUserId(); var linker = db.ProfileLinkers.First(pl => (pl.LinkedProfile == userId && pl.UserLinkedId == id) || (pl.LinkedProfile == id && pl.UserLinkedId == userId)); var message = new MessageCreateViewModel() { RecieverID = id, LinkerId = linker.ID }; return(PartialView(message)); }
public ActionResult Create(MessageCreateViewModel newMessageView, string id) { try { newMessageView.SenderUser = User.Identity.GetUserId(); SaveMessage(newMessageView); return(RedirectToAction("MessageList", "Home")); } catch { return(View()); } }
// GET: Message/Create public ActionResult Create(string id) { var messageCreateView = new MessageCreateViewModel(); messageCreateView.ReceiverView = GetProfile(id); var userId = User.Identity.GetUserId(); List <TalklessData.Entities.Message> messages = TalklessData.Core.Service.GetMessages(userId); messages = messages.Where(messagElement => messagElement.CreateTime.Date == DateTime.Today).ToList(); messageCreateView.sendedMessages = messages.Where(messageElement => messageElement.SenderUser.Equals(userId)).Count(); return(View(messageCreateView)); }
public async Task <IActionResult> SendMessage([FromBody] MessageCreateViewModel messageModel, [FromServices] IHubContext <ChatHub> chat) { var mapper = new MapperConfiguration(cfg => cfg.CreateMap <MessageCreateViewModel, MessageCreateDto>()).CreateMapper(); var messageDto = mapper.Map <MessageCreateViewModel, MessageCreateDto>(messageModel); var message = await _chatService.CreateMessage(messageDto); await chat.Clients.Group(messageModel.ChatId.ToString()).SendAsync("ReceiveMessage", new { Text = message.Text, PosterName = message.PosterName, Timestamp = message.Timestamp, PosterId = message.PosterId }); return(Ok(message)); }
public IActionResult CreateMessage(MessageCreateViewModel data) { if (!ModelState.IsValid) { return(this.BadRequest()); } var currentUserId = this.userManager.GetUserId(this.User); var message = this.chatService.AddMessage(data.Message, currentUserId, false); var mood = this.emotionGetter.GetEmotionFromText(data.Message); var moodMessage = $"I think you are feeling {GetMoodAdjective(mood)}"; if (this.IsMoodNegative(mood)) { var recommendation = this.recommender.Recommend(currentUserId); moodMessage += Environment.NewLine; moodMessage += $"I think '{recommendation.Content}' will make you feel better!"; moodMessage += Environment.NewLine; var response = this.chatService.AddMessage(moodMessage, currentUserId, true); return(this.Json(new { myMessage = this.mapper.Map <MessageListViewModel>(message), response = this.mapper.Map <MessageListViewModel>(response), hasRecommendation = true, recommendationId = recommendation.Id })); } var responseMessage = this.chatService.AddMessage(moodMessage, currentUserId, true); this.moodService.Add(currentUserId, mood); return(this.Json(new { myMessage = this.mapper.Map <MessageListViewModel>(message), response = this.mapper.Map <MessageListViewModel>(responseMessage), hasRecommendation = false })); }
public async Task <ActionResult> Create(MessageCreateViewModel messageVM) { if (ModelState.IsValid) { var message = new SingleMessage { id = db.SingleMessages.Count(), MessageText = messageVM.MessageText, TimeOfMessage = DateTime.Now }; var userId = User.Identity.GetUserId(); var messageBoard = new MessageBoard { MessageID = db.MessageBoards.Count(), SingleMessage = message, RecieverID = messageVM.RecieverID, SenderID = userId, ProfileLinkerID = messageVM.LinkerId }; db.MessageBoards.Add(messageBoard); await db.SaveChangesAsync(); return(RedirectToAction("MessagesForUser", "MessageBoards", new { id = messageVM.RecieverID })); } return(View()); }
public async Task <IActionResult> Create(MessageCreateViewModel model) { if (ModelState.IsValid) { string uniqueFileName = null; //获取当前用户的用户名 ClaimsPrincipal currentUser = this.User; ApplicationUser applicationUser = await _userManager.FindByNameAsync(currentUser.Identity.Name); //var currentUser = _userManager.GetUserAsync(HttpContext.User); Message newMessage = new Message(); { //ApplicationUser applicationUser = new ApplicationUser(); //applicationUser.UserName = currentUser.Identity.Name; } newMessage.ApplicationUserId = applicationUser.Id; newMessage.Title = model.Title; newMessage.PublishTime = DateTime.Now; _messageRepository.Insert(newMessage); foreach (var item in model.Photos) { Photo photo = new Photo { MessageId = newMessage.Id, }; string uploadsFolder = Path.Combine(_webHostEnvironment.WebRootPath, "images", "Users"); uniqueFileName = Guid.NewGuid().ToString() + "_" + item.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); item.CopyTo(new FileStream(filePath, FileMode.Create)); photo.PhotoPath = uniqueFileName; _photoRepository.Insert(photo); newMessage.Photos.Add(photo); } _messageRepository.Update(newMessage); applicationUser.Messages.Add(newMessage); await _userManager.UpdateAsync(applicationUser); return(RedirectToAction("Single", new { Id = newMessage.Id })); } return(View()); }
public async Task<ActionResult> Create(MessageCreateViewModel message) { if (!ModelState.IsValid) { return View(message); } var receiver = userServices.GetByEmail(message.ReceiverEmail); var sender = User.Identity.GetUserId(); if (receiver.Id == sender) { ModelState.AddModelError("ReceiverEmail", "You cannot send e-mail to yourself!"); return View(message); } var newMessage = await messageServices.Create(sender, receiver.Id, message.Title, message.Content, message.Flag, message.Notes); return RedirectToAction("Index", "Message", new { status = lastStatus }); }
public ActionResult Send(MessageCreateViewModel model) { if (this.ModelState.IsValid) { var userToSend = this.UserService.GetById(model.Receiver); var messageDb = new Message() { From = this.UserProfile, To = userToSend, Subject = model.Subject, Text = model.Text, Date = DateTime.Now }; this.messageService.Add(messageDb); this.AddToastMessage(string.Empty, NotificationMessages.MessageSent, ToastType.Success); return(this.RedirectToAction("Inbox")); } return(this.View(model)); }
private void SaveMessage(MessageCreateViewModel newMessage) { TalklessData.Core.Service.CreateMessage(newMessage.SenderUser, newMessage.ReceiverUser, newMessage.MessageText); }
public void SendMessage(MessageCreateViewModel model) { }
public ActionResult Send(MessageCreateViewModel model) { if (this.ModelState.IsValid) { var userToSend = this.UserService.GetById(model.Receiver); var messageDb = new Message() { From = this.UserProfile, To = userToSend, Subject = model.Subject, Text = model.Text, Date = DateTime.Now }; this.messageService.Add(messageDb); this.AddToastMessage(string.Empty, NotificationMessages.MessageSent, ToastType.Success); return this.RedirectToAction("Inbox"); } return this.View(model); }