public IHttpActionResult SendMessage( [FromBody] MessageBindingModels model) { if (model == null) { return(this.BadRequest("Model cannot be null (no data in request)")); } if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var reciever = this.Data.Users.FirstOrDefault(u => u.UserName == model.Reciever); if (reciever == null) { return(this.BadRequest(string.Format( "User {0} does not exist", model.Reciever))); } string senderName = this.User.Identity.Name; var sender = this.Data.Users.FirstOrDefault(u => u.UserName == senderName); var message = new Message() { SenderId = sender.Id, ReceiverId = reciever.Id, MessageDateTime = DateTime.Now, Content = model.Content }; this.Data.Messages.Add(message); this.Data.SaveChanges(); var data = this.Data.Messages .Where(p => p.Id == message.Id) .Select(MessageViewModels.Create) .FirstOrDefault(); return(this.Ok(data)); }
public IHttpActionResult SendMessage( [FromBody] MessageBindingModels model, string channelName) { if (model == null) { return(this.BadRequest("Model cannot be null (no data in request)")); } if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } string senderName = this.User.Identity.Name; var channelId = this.Data.ChatRooms.FirstOrDefault(c => c.Name == channelName).Id; var sender = this.Data.Users.FirstOrDefault(u => u.UserName == senderName); var message = new Message() { SenderId = sender.Id, ChatRoomId = channelId, MessageDateTime = DateTime.Now, Content = model.Content }; this.Data.Messages.Add(message); this.Data.SaveChanges(); var data = this.Data.Messages .Where(p => p.Id == message.Id) .Select(MessageViewModels.Create) .FirstOrDefault(); return(this.Ok(data)); }