public void UpdateTest() { DbConnection conn = DbConnectionFactory.CreateTransient(); QualidadeDownload result; QualidadeDownload data = _listQualidadeDownloads[0]; using (var context = new Context(conn)) { context.QualidadeDownload.Add(data); context.SaveChanges(); var svc = new QualidadeDownloadService(context); data.sIdentificadoresQualidade = "Atualizado"; svc.Update(data); result = context.QualidadeDownload.First(); } Assert.AreEqual("Atualizado", result.sIdentificadoresQualidade); }
private static IEnumerable <ItemDownload> ProcurarEpisodiosNosFeeds() { var lstEpisodiosParaBaixar = new List <ItemDownload>(); var feedsService = App.Container.Resolve <FeedsService>(); var qualidadeDownloadService = App.Container.Resolve <QualidadeDownloadService>(); IEnumerable <Feed> lstFeeds = feedsService.GetLista() .Where(x => !x.bIsFeedPesquisa && (x.nIdTipoConteudo == Enums.TipoConteudo.Série || x.nIdTipoConteudo == Enums.TipoConteudo.Anime)) .OrderBy(x => x.nNrPrioridade); IEnumerable <QualidadeDownload> lstQualidadeDownloads = qualidadeDownloadService.GetLista().OrderBy(x => x.nPrioridade); var rgxQualidade = new Regex($".*?({string.Join("|", lstQualidadeDownloads.Select(x => x.sIdentificadoresQualidade))})"); foreach (Feed item in lstFeeds) { RssFeed rss; try { rss = RssFeed.Create(new Uri(item.sLkFeed)); } catch (Exception ex) { new MediaManagerException(ex).TratarException(string.Format(Mensagens.Ocorreu_um_erro_ao_abrir_o_feed_0_URL_1_, item.sDsFeed, item.sLkFeed)); continue; } foreach (RssItem objRssItem in rss.Channel.Items) { try { var episodio = new Episodio { sDsFilepath = objRssItem.Title }; string extensao = Path.GetExtension(Helper.RetirarCaracteresInvalidos(objRssItem.Title)); if (!episodio.IdentificarEpisodio() || episodio.nIdTipoConteudo != item.nIdTipoConteudo || episodio.nIdEstadoEpisodio != Enums.EstadoEpisodio.Desejado || episodio.oSerie.bIsParado || (!string.IsNullOrWhiteSpace(extensao) && !Settings.Default.ExtensoesRenomeioPermitidas.Contains(extensao))) { continue; } string strIdentificador = rgxQualidade.Match(objRssItem.Title).Groups[1].Value; // Verifica se é vazio/null para atribuir a qualidade "Desconhecido". QualidadeDownload objQualidadeDownload = !string.IsNullOrWhiteSpace(strIdentificador) ? lstQualidadeDownloads.FirstOrDefault(x => x.sIdentificadoresQualidade.Split('|').Any(y => y == strIdentificador)) : lstQualidadeDownloads.First(x => x.nCdQualidadeDownload == 1); if (lstEpisodiosParaBaixar.Any(x => x.ObjEpisodio.nCdEpisodioAPI == episodio.nCdEpisodioAPI)) { lstEpisodiosParaBaixar.First(x => x.ObjEpisodio.nCdEpisodioAPI == episodio.nCdEpisodioAPI).LstObjRssItem.Add(objRssItem, objQualidadeDownload); } else { lstEpisodiosParaBaixar.Add(new ItemDownload { ObjEpisodio = episodio, LstObjRssItem = new Dictionary <RssItem, QualidadeDownload> { { objRssItem, objQualidadeDownload } } }); } } catch (Exception e) { new MediaManagerException(e).TratarException(string.Format(Mensagens.Ocorreu_um_erro_ao_procurar_o_item_0_do_feed_RSS_1_, objRssItem.Title, item.sDsFeed)); } } } return(lstEpisodiosParaBaixar); }