public IHttpActionResult PostChannelMessages(string channelName, ChannelMessagesBindingModel model) { if (model == null) { return(this.BadRequest("Name is required!Cannot be empty.")); } if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var channel = this.Data.Channels .FirstOrDefault(ch => ch.Name == channelName); if (channel == null) { return(this.NotFound()); } var message = new ChannelMessage { Text = model.Text, DateSent = DateTime.Now, ChannelId = channel.Id }; if (this.User.Identity.IsAuthenticated) { message.SenderId = this.User.Identity.GetUserId(); } this.Data.ChannelMessages.Add(message); this.Data.SaveChanges(); if (this.User.Identity.IsAuthenticated) { return(this.Ok(new { Id = message.Id, Sender = this.User.Identity.GetUserName(), Message = "Message sent to channel " + channel.Name })); } return(this.Ok(new { Id = message.Id, Message = "Anonymous message sent to channel " + channel.Name })); }
public IHttpActionResult PostMessagesToChannel(string channelName, ChannelMessagesBindingModel m) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (string.IsNullOrEmpty(channelName)) { return(BadRequest()); } if (!Data.Channels.Any(c => c.Name == channelName)) { return(NotFound()); } var channelId = Data.Channels.First(c => c.Name == channelName).Id; var message = new ChannelMessage { Text = m.Text, DateSent = DateTime.Now, ChannelId = channelId }; Data.ChannelMessages.Add(message); Data.SaveChanges(); return(Ok(new { message.Id, Message = "Anonymous message sent to channel " + channelName + "." })); }