public List <VideoMiolo> GetByFilters(VideoMiolo registro) { var ctx = new DesenvContext(); var lstVideosMiolo = new VideosMiolo(); var videoEntity = new VideoEntity(); var consulta = from a in ctx.tblBooks join b in ctx.tblVideo_Book on a.intBookID equals b.intBookID join c in ctx.tblProducts on a.intBookID equals c.intProductID orderby a.intYear ascending select new { IDApostila = b.intBookID, CodigoVideo = b.txtVideoCode, Year = a.intYear, IdVideo = b.intVideoID }; if (registro.IDApostila > 0) { consulta = consulta.Where(b => b.IDApostila == registro.IDApostila && b.CodigoVideo == registro.CodigoVideo); } else if (!string.IsNullOrEmpty(registro.CodigoVideo)) { consulta = consulta.Where(b => b.CodigoVideo == registro.CodigoVideo); } foreach (var item in consulta) { VideoMiolo v = new VideoMiolo() { ID = item.IDApostila.ToString(), VideoID = item.IdVideo, IDApostila = item.IDApostila, CodigoVideo = item.CodigoVideo, BorKey = Criptografia.GetBorKey(item.CodigoVideo, item.Year, item.IDApostila), Qualidade = registro.Qualidade, }; if (!String.IsNullOrEmpty(v.Xml)) { tblVideo video = videoEntity.GetVideoVimeo(null, Convert.ToInt32(item.IdVideo)); v.URL = videoEntity.GetUrlVideoPorVideoID(Convert.ToInt32(item.IdVideo), _chaveamentoVimeoApostila, _idAplicacao, _versaoApp); v.URLThumb = videoEntity.GetUrlThumb(video, _chaveamentoVimeoApostila, _versaoApp); v.HTTPURL = v.URL; v.Links = videoEntity.GetLinksVideoVariasQualidades(video.txtVideoInfo, v.URL); lstVideosMiolo.Add(v); } } return(lstVideosMiolo); }
public List <Video> GetByVideoMiolo(VideoMiolo vm, string matricula = null, Aplicacoes IdAplicacao = Aplicacoes.MsProMobile, string VersaoApp = "") { var lstVideosMiolo = new VideosMiolo(); var videos = _vimeoRepository.GetByFilters(vm).ToList(); var chaveamento = new ChaveamentoVimeoMediMiolo(); foreach (var item in videos) { VideoMiolo v = new VideoMiolo() { ID = item.IDApostila.ToString(), VideoID = item.VideoID, IDApostila = item.IDApostila, CodigoVideo = item.CodigoVideo, BorKey = _vimeoRepository.GetBorKey(item.CodigoVideo, item.Ano, item.IDApostila), Qualidade = vm.Qualidade, }; tblVideo video = _vimeoRepository.GetVideoVimeo(null, Convert.ToInt32(item.VideoID)); VideoUrlDTO videoRetorno = new VideoUrlDTO { Url = string.Empty }; var chaveamentoVimeo = chaveamento.GetChaveamento(); if (chaveamentoVimeo) { if ((int)IdAplicacao == (int)Aplicacoes.MEDSOFT_PRO_ELECTRON || (int)IdAplicacao == (int)Aplicacoes.AreaRestrita) { v.URL = video.txtUrlStreamVimeo; } else { v.URL = video.txtUrlVimeo; } } if (video.intVimeoID == null) { ValidarEnvioEmailVideoDefeituoso(video); } else if (v.URL == null) { v.URL = _vimeoRepository.GetUrlPlataformaVideo(video, chaveamentoVimeo, (int)IdAplicacao); if (v.URL == string.Empty) { ValidarEnvioEmailVideoDefeituoso(video); } } v.HTTPURL = v.URL; v.URLThumb = _vimeoRepository.GetUrlThumb(video, new ChaveamentoVimeoMediMiolo(), VersaoApp); v.Links = _vimeoRepository.GetLinksVideoVariasQualidades(video.txtVideoInfo, v.URL); lstVideosMiolo.Add(v); } var lstv = new Videos(); foreach (var valor in lstVideosMiolo) { if (!lstv.Any(i => i.Url.Equals(valor.HTTPURL))) { var video = new Video(); video.ID = Convert.ToInt32(valor.ID); video.VideoId = valor.VideoID; video.Url = valor.HTTPURL; video.Thumb = valor.URLThumb; video.Links = valor.Links; video = _vimeoRepository.CreateVideoObject(video, matricula); lstv.Add(video); } } return(lstv); }