public IHttpActionResult EditChannel(int id, ChannelInputModel channelInput)
        {
            if (channelInput == null)
            {
                return this.BadRequest("Invalid channel data");
            }

            if (this.ModelState == null)
            {
                return this.BadRequest();
            }

            var channel = this.Data.Channels.Find(id);

            if (channel == null)
            {
                return this.NotFound();
            }

            channel.Name = channelInput.Name;

            if (this.Data.Channels.Any(c => c.Name == channelInput.Name))
            {
                return this.Conflict();
            }

            this.Data.Channels.AddOrUpdate(channel);
            this.Data.SaveChanges();

            return this.Ok(new
            {
                Message = "Channel #" + channel.Id + " edited successfully."
            });
        }
        public IHttpActionResult CreateChannel(ChannelInputModel channelInput)
        {
            if (channelInput == null)
            {
                return this.BadRequest("Invalid channel data");
            }

            if (!this.ModelState.IsValid)
            {
                return this.BadRequest();
            }

            if (this.Data.Channels.Any(c => c.Name == channelInput.Name))
            {
                return this.Conflict();
            }

            var channel = new Channel()
            {
                Name = channelInput.Name
            };

            this.Data.Channels.Add(channel);
            this.Data.SaveChanges();

            return this.CreatedAtRoute(
                "DefaultApi",
                new { controller = "Channels", id = channel.Id },
                new { channel.Id, channel.Name });
        }
Beispiel #3
0
 public CreateChannelCommand(string serverId, ChannelInputModel input)
 {
     ServerId = serverId;
     Input    = input;
 }