public async Task <IActionResult> AddChannel( Guid?id, string token, AddChannelModel model) { if (id == null) { return(BadRequest()); } if (token == null) { return(BadRequest()); } var list = await _listService.GetListAsync(id.Value); if (list == null) { return(BadRequest()); } if (TokenUtils.NotEqual(token, list.TokenString)) { return(BadRequest()); } if (!ModelState.IsValid) { return(View(model)); } var channel = await _channelService.GetOrCreateChannelAsync(model.Url); if (channel == null) { ModelState.AddModelError("Url", "Cannot find channel on YouTube."); return(View(model)); } await _listService.AddChannelAsync(list.Id, channel.Id); return(RedirectToAction("Index")); }