public IHttpActionResult SendPersonalMessage(UserMessageBindingModel messageData) { if (messageData == null) { return BadRequest("Missing message data."); } if (!ModelState.IsValid) { return BadRequest(ModelState); } var recipientUser = this.db.Users.All() .FirstOrDefault(u => u.UserName == messageData.Recipient); if (recipientUser == null) { return BadRequest("Recipient user " + messageData.Recipient + " does not exists."); } var currentUserId = User.Identity.GetUserId(); var currentUser = this.db.Users.Find(currentUserId); var message = new UserMessage() { Text = messageData.Text, DateSent = DateTime.Now, SenderUser = currentUser, RecipientUser = recipientUser }; db.UserMessages.Add(message); db.SaveChanges(); if (message.SenderUser == null) { return this.Ok( new { message.Id, Message = "Anonymous message sent successfully to user " + recipientUser.UserName + "." } ); } return this.Ok( new { message.Id, Sender = message.SenderUser.UserName, Message = "Message sent successfully to user " + recipientUser.UserName + "." } ); }
public IHttpActionResult SendUserMessages(UserMessagesBindingModel m) { if (!ModelState.IsValid || !Data.Users.Any(u => u.UserName == m.Recipient) || string.IsNullOrEmpty(m.Text.Trim())) return BadRequest(); if (User.Identity.GetUserName() != null) { var message = new UserMessage { ReceiverId = Data.Users.First(u => u.UserName == m.Recipient).Id, SenderId = User.Identity.GetUserId(), Text = m.Text, DateSent = DateTime.Now }; Data.UserMessages.Add(message); Data.SaveChanges(); return Ok(new { message.Id, Sender = User.Identity.GetUserName(), Message = "Message sent successfully to user " + m.Recipient + "." }); } else { var message = new UserMessage { ReceiverId = Data.Users.First(u => u.UserName == m.Recipient).Id, Text = m.Text, DateSent = DateTime.Now }; Data.UserMessages.Add(message); Data.SaveChanges(); return Ok(new { message.Id, Message = "Anonymous message sent successfully to user " + m.Recipient + "." }); } }
public IHttpActionResult PostUserMessage([FromUri] string recipient, [FromUri] AnonymousMessageBindingModel model) { var recipientUser = this.Data.Users.FirstOrDefault(u => u.UserName == recipient); if (recipientUser == null || model==null) { return BadRequest(); } if (!ModelState.IsValid) { return BadRequest(); } var userId = recipientUser.Id; var SenderId = User.Identity.GetUserId(); if (SenderId == null) { var newMessage = new UserMessage() { Text = model.Text, DateSend = DateTime.Now, RecipientId = userId }; this.Data.UserMessages.Add(newMessage); this.Data.SaveChanges(); return Ok(new { Id = newMessage.Id, Message = "Anonymous message sent successfully to user " + recipientUser.UserName + " ." }); } var MessageWithUser = new UserMessage() { Text = model.Text, DateSend = DateTime.Now, RecipientId = userId, SenderId = SenderId }; this.Data.UserMessages.Add(MessageWithUser); this.Data.SaveChanges(); return Ok(new { Id = MessageWithUser.Id, Sender = User.Identity.GetUserName(), Message = "Message sent successfully to user " + recipientUser.UserName + " ." }); }
public IHttpActionResult SendPersonalMessage(PersonalMessageBindingModel model) { var loggedUserId = this.User.Identity.GetUserId(); var loggedUser = this.Data.Users.Find(loggedUserId); if (loggedUserId == null) { return this.Unauthorized(); } if (!this.ModelState.IsValid) { return this.BadRequest(this.ModelState); } var recipient = this.Data.Users.All() .FirstOrDefault(u => u.UserName.Equals(model.Recipient)); if (recipient == null) { return this.NotFound(); } var message = new UserMessage { Text = model.Text, DateSent = DateTime.Now, Sender = loggedUser, SenderId = loggedUserId, Recipient = recipient, RecipientId = recipient.Id }; this.Data.UserMessages.Add(message); this.Data.SaveChanges(); var responseMessage = string.Format("Message sent successfully to user {0}.", recipient.UserName); return this.Ok(new { message.Id, Message = responseMessage }); }