public static ChannelMessageViewModel CreateSingleView(ChannelMessage message) { return new ChannelMessageViewModel { DateSent = message.Date, Id = message.Id, ContainsFile = message.FileContent == null ? 0 : 1, Sender = message.Sender.UserName, Text = message.Text }; }
public IHttpActionResult PostChannelMessage(string channelName, ChannelMessageBindingModel channelMessageData) { if (channelMessageData == null) { return this.BadRequest("Missing message data."); } if (!this.ModelState.IsValid) { return this.BadRequest(this.ModelState); } var channel = this.Data.Channels.All().FirstOrDefault(c => c.Name == channelName); if (channel == null) { return this.NotFound(); } var loggedUserId = this.User.Identity.GetUserId(); var loggedUser = this.Data.Users.Find(loggedUserId); var message = new ChannelMessage { Text = channelMessageData.Text, FileContent = channelMessageData.FileContent, ChannelId = channel.Id, Date = DateTime.Now, SenderId = loggedUser.Id }; this.Data.ChannelMessages.Add(message); this.Data.SaveChanges(); return this.Ok(ChannelMessageViewModel.CreateSingleView(message)); }