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));
        }