public ActionResult Publish(YouTubeViewModel oModel) { var channels = oCore.iRepositories.ICategoryTypeRepository.Select(CTRecordStatus.Ative).OrderBy(model => model.name); ViewBag.Categories = channels; try { if (ModelState.IsValid) { try { var yt = new YouTube() { videoId = oModel.videoId }; if (yt.ResolveYoutube()) { yt.ResolveYoutube(TopAppRouter.YoutubeDataSource, TopAppRouter.YoutubeApiKey, TopAppRouter.YoutubeApiResources, TopAppRouter.RemoteConectionTimeout); } else { yt.ExternalData = new YouTubeTemplate() { Id = yt.videoId }; yt.videoId = Newtonsoft.Json.JsonConvert.SerializeObject(yt.ExternalData); yt.ResolveYoutube(TopAppRouter.YoutubeDataSource, TopAppRouter.YoutubeApiKey, TopAppRouter.YoutubeApiResources, TopAppRouter.RemoteConectionTimeout); } if (yt.ResolveYoutube(TopAppRouter.YoutubeDataSource, TopAppRouter.YoutubeApiKey, TopAppRouter.YoutubeApiResources, TopAppRouter.RemoteConectionTimeout)) { oModel.videoId = Newtonsoft.Json.JsonConvert.SerializeObject(yt.ExternalData); } } catch { } oModel.categoryId = (oModel.categoryId == null || oModel.categoryId == 0) ? 1 : oModel.categoryId; var result = oCore.businessControllers.bcYouTube.Create(oUserProfile.oAccount, oModel.url, oModel.description, oModel.videoId, (long)oModel.categoryId); if (result.Item2) { var chn = channels.SingleOrDefault(ch => ch.id == oModel.categoryId); Country oCountry; if (oUserProfile == null || oUserProfile.oAccount.Country1 == null) oCountry = oCurrentUserLocation.Country; else oCountry = oUserProfile.oAccount.Country1; return PartialView("Confirm", new Tuple<YouTube, CategoryType, System.Collections.Generic.IEnumerable<Post>>(result.Item1, chn, oCore.businessControllers.bcChannel.LatestPosts(oCountry, oUserProfile.oAccount, chn, PostType.YouTube, 6))); } else { ViewBag.ErrorMsg = Resources.Resources.YouTubeSharingError; } } } catch (Exception ex) { ViewBag.ErrorMsg = Resources.Resources.YouTubeSharingError1; //Salva o erro no arquivo de log do sistema ex.Save(new StackTrace(ex, true), ErrorLog.system); } return PartialView("New", oModel); }