コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }