Пример #1
0
        private static CentralAudioViewModel ObterAudioCategoriaDB(int?categoriaId)
        {
            var url = ServerSettings.Url;

            using (var db = new ModeloDados())
            {
                var categoria = db.CategoriasAudios.Where(cat => cat.Id == categoriaId).FirstOrDefault();
                var audios    = db.Audios.Where(audio => !audio.Excluido && audio.Liberado &&
                                                audio.Colecao.Categoria.Id == categoriaId)
                                .OrderByDescending(audio => audio.DataCadastro)
                                .Take(20)
                                .Select(audio => new AudioViewModel
                {
                    Url    = url + "/Admin/conteudo/audios/" + audio.Id + "/" + audio.Url,
                    Titulo = audio.Colecao.Titulo,
                    Data   = audio.DataCadastro,
                    Id     = audio.Id
                }).AsParallel()
                                .ToList();
                var central = new CentralAudioViewModel();
                central.Audios       = audios;
                central.DataCadastro = categoria.DataCadastro;
                central.Descricao    = categoria.Descricao;

                return(central);
            }
        }
Пример #2
0
        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {
            var authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];

            if (authCookie != null)
            {
                ModeloDados db = new ModeloDados();

                var ticket = FormsAuthentication.Decrypt(authCookie.Value);

                FormsIdentity formsIdentity = new FormsIdentity(ticket);

                ClaimsIdentity claimsIdentity = new ClaimsIdentity(formsIdentity);

                var user = db.Login.Where(p => p.sLogin == ticket.Name).ToList();

                foreach (var role in user)
                {
                    claimsIdentity.AddClaim(
                        new Claim(ClaimTypes.Role, role.IDPerfil.ToString()));
                }

                if (ticket.Name.ToUpper() == "ADMIN")
                {
                    claimsIdentity.AddClaim(
                        new Claim(ClaimTypes.Role, "Administrador"));
                }

                ClaimsPrincipal claimsPrincipal = new ClaimsPrincipal(claimsIdentity);

                HttpContext.Current.User = claimsPrincipal;
            }
        }
Пример #3
0
        public static List <AudioViewModel> ObterAudios(ModeloDados db, string chave = "")
        {
            var url = ServerSettings.Url;

            var audios = db.Noticias
                         .Where(audio => !string.IsNullOrEmpty(audio.audio) &&
                                chave == null || audio.audio.Contains(chave) &&
                                (chave == null || audio.titulo.Contains(chave) || audio.texto.Contains(chave) || audio.subtitulo.Contains(chave) || (audio.Colunista == null ? true : audio.Colunista.nome.Contains(chave))))
                         .OrderByDescending(noticia => noticia.dataAtualizacao).Take(10)
                         .Select(noticia => new AudioViewModel {
                Url = url + "/Admin/conteudo/noticias/" + noticia.id + "/audio/" + noticia.audio, Titulo = noticia.titulo, Data = noticia.dataAtualizacao, Id = noticia.id
            })
                         .AsParallel().ToList();

            audios.AddRange(db.Audios.Where(audio => !audio.Excluido && audio.Liberado && (chave == null || audio.Legenda.Contains(chave)))
                            .Select(audio =>
                                    new AudioViewModel
            {
                Data   = audio.DataCadastro,
                Url    = url + "/Admin/conteudo/audios/" + audio.Id + "/" + audio.Url,
                Id     = audio.Id,
                Titulo = audio.Legenda
            }).OrderByDescending(noticia => noticia.Data).Take(10).ToList());

            return(audios);
        }
Пример #4
0
        public static List <NoticiaViewModel> ObterNoticias(ModeloDados db, int?idEditoria = null, string chave = "")
        {
            var noticiasQuery = db.Noticias
                                .Where(noticia =>
                                       noticia.Colunista == null &&
                                       !noticia.excluido &&
                                       noticia.liberado &&
                                       noticia.dataAtualizacao < DateTime.Now);

            if (idEditoria != null)
            {
                noticiasQuery = noticiasQuery.Where(noticia => (noticia.Editoriais.Any(editoria => editoria.id == idEditoria)));
            }
            else if (string.IsNullOrWhiteSpace(chave))
            {
                noticiasQuery = noticiasQuery.Where(noticia => (noticia.titulo.Contains(chave) || noticia.texto.Contains(chave) || noticia.subtitulo.Contains(chave) || (noticia.Colunista == null ? true : noticia.Colunista.nome.Contains(chave))));
            }

            var noticias = noticiasQuery.OrderByDescending(noticia => noticia.dataAtualizacao).Take(20).Select(noticia =>
                                                                                                               new NoticiaViewModel
            {
                Id            = noticia.id,
                Titulo        = noticia.titulo,
                Chamada       = noticia.chamada,
                Texto         = string.Empty,
                Foto          = string.IsNullOrEmpty(noticia.foto) ? null : url + "/admin/Conteudo/noticias/" + noticia.id + "/744x500/" + noticia.foto,
                Data          = noticia.dataAtualizacao,
                NomeAutor     = noticia.porAutor,
                NomeCategoria = noticia.Categorias.FirstOrDefault() == null ? string.Empty : noticia.Categorias.FirstOrDefault().Titulo,
                Url           = url + "/noticia/" + noticia.url
            }).ToList();

            return(noticias);
        }
Пример #5
0
        public static List <PublicidadeViewModel> ObterPublicidadesInternas(ModeloDados db)
        {
            var url = ServerSettings.Url;

            var publicidades = db.Banners.Where(banner => !banner.Excluido && banner.Liberado && DateTime.Today >= banner.DataInicio && DateTime.Today <= banner.DataFim && banner.AreaBanner.Any(area => area.chave.Contains("app-interna")));

            //foreach (var publicidade in publicidades)
            //{
            //    publicidade.BannersVisualizacoesCliques.Add(new BannersVisualizacoesCliques
            //    {
            //        CodigoBanner = publicidade.Id,
            //        Visualizacao = true,
            //        Clique = false,
            //        DataCadastro = DateTime.Now
            //    });

            //    db.Entry(publicidade).State = EntityState.Modified;
            //}
            //db.SaveChanges();

            var publicidadesList = publicidades.Select(banner => new PublicidadeViewModel
            {
                Id     = banner.Id,
                Url    = string.IsNullOrEmpty(banner.Link) ? null : url + "/API/publicidade/clique?idBanner=" + banner.Id,
                Imagem = url + "/Admin/Conteudo/Banners/600x331/" + banner.Arquivo
            }).ToList();

            return(publicidadesList);
        }
Пример #6
0
        public IHttpActionResult ObterConteudoHome()
        {
            using (var db = new ModeloDados())
            {
                //Stopwatch swAudio = Stopwatch.StartNew();
                var audios = AudiosService.ObterAudios();
                //TimeSpan audioTime = swAudio.Elapsed;

                //Stopwatch swColunista = Stopwatch.StartNew();
                var colunistas = ColunistasService.ObterColunistas();
                //TimeSpan colunistaTime = swColunista.Elapsed;

                //Stopwatch swPublicidade = Stopwatch.StartNew();
                var publicidade = PublicidadesService.ObterPublicidadesPrincipais();
                //TimeSpan publicidadeTime = swPublicidade.Elapsed;

                //Stopwatch swNoticia = Stopwatch.StartNew();
                var noticias = NoticiasService.ObterNoticiasHome();
                //TimeSpan noticiaTime = swNoticia.Elapsed;

                var esportes = noticias.Take(3).ToList();
                var gerais   = noticias.Skip(3).Take(3).ToList();

                var homeModel = new HomeViewModel {
                    Audios = audios, Colunistas = colunistas, Noticias = gerais, Esportes = esportes, Publicidade = publicidade
                };

                //return Json("Audio: " + audioTime + " Colunistas: " + colunistaTime + " Publicidade: " + publicidadeTime + " Noticias: " + noticiaTime);
                return(Json(homeModel));
            }
        }
Пример #7
0
        public static List <NoticiaViewModel> ObterNoticiasHome(ModeloDados db, int?idEditoria = null, string chave = "")
        {
            var noticiasEsportes = db.Noticias
                                   .Where(noticia =>
                                          noticia.Colunista == null &&
                                          !noticia.excluido &&
                                          noticia.liberado &&
                                          (noticia.Editoriais.Any(editoria => editoria.id == 1)) &&
                                          !(noticia.foto == null) &&
                                          (noticia.TipoDestaque == TipoDestaque.Interna1 ||
                                           noticia.TipoDestaque == TipoDestaque.Interna2 ||
                                           noticia.TipoDestaque == TipoDestaque.Interna3))
                                   .OrderByDescending(noticia => noticia.dataAtualizacao)
                                   .ThenByDescending(noticia => noticia.TipoDestaque)
                                   .Take(3);

            var noticiasGerais = db.Noticias
                                 .Where(noticia =>
                                        noticia.Colunista == null &&
                                        !noticia.excluido &&
                                        noticia.liberado &&
                                        !(noticia.Editoriais.Any(editoria => editoria.id == 1)) &&
                                        !(noticia.foto == null) &&
                                        (noticia.TipoDestaque == TipoDestaque.Normal1 ||
                                         noticia.TipoDestaque == TipoDestaque.Normal2 ||
                                         noticia.TipoDestaque == TipoDestaque.Normal3))
                                 .OrderByDescending(noticia => noticia.dataAtualizacao)
                                 .ThenByDescending(noticia => noticia.TipoDestaque)
                                 .Take(3);

            //if (idEditoria != null)
            //{
            //    noticiasQuery = noticiasQuery.Where(noticia => (noticia.Editoriais.Any(editoria => editoria.id == idEditoria)));
            //}
            //else if (string.IsNullOrWhiteSpace(chave))
            //{
            //    noticiasQuery = noticiasQuery.Where(noticia => (noticia.titulo.Contains(chave) || noticia.texto.Contains(chave) || noticia.subtitulo.Contains(chave) || (noticia.Colunista == null ? true : noticia.Colunista.nome.Contains(chave))));
            //}

            var noticiashome = noticiasEsportes.ToList();

            noticiashome.AddRange(noticiasGerais.ToList());

            var noticias = noticiashome.Select(noticia =>
                                               new NoticiaViewModel
            {
                Id            = noticia.id,
                Titulo        = noticia.titulo,
                Chamada       = noticia.chamada,
                Texto         = string.Empty,
                Foto          = string.IsNullOrEmpty(noticia.foto) ? null : url + "/admin/Conteudo/noticias/" + noticia.id + "/744x500/" + noticia.foto,
                Data          = noticia.dataAtualizacao,
                NomeAutor     = noticia.porAutor,
                NomeCategoria = noticia.Categorias.FirstOrDefault() == null ? string.Empty : noticia.Categorias.FirstOrDefault().Titulo,
                Url           = url + "/noticia/" + noticia.url
            }).ToList();

            return(noticias);
        }
Пример #8
0
        public EditoriasViewModel ObterEditoriasDB()
        {
            int[] listaIdTimes = { 16, 14, 13, 17 };
            var   url          = ServerSettings.Url;

            using (var db = new ModeloDados())
            {
                var esportes = db.Editoriais.Where(editoria =>

                                                   !editoria.excluido &&
                                                   editoria.ativo &&
                                                   editoria.esportes &&
                                                   !listaIdTimes.Contains(editoria.id)
                                                   ).OrderBy(editoria => editoria.nome)

                               .Select(editoria => new EditoriaisViewModel
                {
                    id     = editoria.id,
                    titulo = editoria.nome,
                    chave  = editoria.chave
                }).ToList();

                var editoriais = db.Editoriais.Where(editoria =>

                                                     !editoria.excluido &&
                                                     editoria.ativo &&
                                                     !editoria.esportes

                                                     ).OrderBy(editoria => editoria.nome)

                                 .Select(editoria => new EditoriaisViewModel
                {
                    id     = editoria.id,
                    titulo = editoria.nome,
                    chave  = editoria.chave
                }).ToList();

                var times = db.Editoriais.Where(editoria =>

                                                !editoria.excluido &&
                                                editoria.ativo &&
                                                editoria.esportes &&
                                                listaIdTimes.Contains(editoria.id)
                                                ).OrderBy(editoria => editoria.nome)

                            .Select(editoria => new TimesViewModel
                {
                    id     = editoria.id,
                    titulo = editoria.nome,
                    chave  = editoria.chave,
                    logo   = url + "/Admin/Conteudo/times/" + editoria.Times.FirstOrDefault().Id + "/original/" + editoria.Times.FirstOrDefault().Escudo
                }).ToList();

                return(new EditoriasViewModel {
                    esportes = esportes, editoriais = editoriais, times = times
                });
            }
        }
Пример #9
0
        public IHttpActionResult ObterAudios()
        {
            using (var db = new ModeloDados())
            {
                var audios = db.Noticias.Where(noticia => noticia.Colunista == null && string.IsNullOrEmpty(noticia.audio)).Take(20).OrderByDescending(noticia => noticia.data).Select(noticia => new { url = noticia.audio, noticia.titulo, noticia.data, noticia.id }).ToList();

                return(Json(audios));
            }
        }
Пример #10
0
        public IHttpActionResult ObterColunistas()
        {
            using (var db = new ModeloDados())
            {
                var colunistas = db.Colunista.OrderBy(colunista => colunista.nome).Select(colunista => new { colunista.id, colunista.nome, colunista.email, colunista.descricao, colunista.foto, colunista.sexo }).ToList();

                return(Json(colunistas));
            }
        }
Пример #11
0
        public IHttpActionResult ObterPostagens()
        {
            using (var db = new ModeloDados())
            {
                var noticias = db.Noticias.Where(noticia => noticia.Colunista != null).Take(20).OrderByDescending(noticia => noticia.data).Select(noticia => new { noticia.id, noticia.titulo, noticia.chamada, noticia.texto, noticia.foto, noticia.data, nomeAutor = noticia.Colunista == null ? string.Empty : noticia.Colunista.nome }).ToList();

                return(Json(noticias));
            }
        }
Пример #12
0
        private List <CidadesViewModel> ObterCidadesDB()
        {
            using (var db = new ModeloDados())
            {
                var cidades = db.cidade.Select(cidade => new CidadesViewModel {
                    id = cidade.id, nome = cidade.nome
                }).ToList();

                return(cidades);
            }
        }
Пример #13
0
        public static List <NoticiaViewModel> ObterNoticiasHome(int?idEditoria = null, string chave = "")
        {
            string key = primeKey + "ObterNoticiasHome:" + idEditoria + ":" + chave + ":TNoticias:TEditoriais";

            List <NoticiaViewModel> retorno = null;

            using (var db = new ModeloDados())
            {
                Func <object, List <NoticiaViewModel> > funcao = t => ObterNoticiasHome(db, idEditoria, chave);
                retorno = Site.Services.RedisService.GetOrSetToRedis(key, funcao, 10);
            }

            return(retorno);
        }
Пример #14
0
        public static List <AudioViewModel> ObterAudios(string chave = "")
        {
            string key = primeKey + "ObterAudios:" + chave + ":TNoticias:TAudios";

            List <AudioViewModel> retorno = null;

            using (var db = new ModeloDados())
            {
                Func <object, List <AudioViewModel> > funcao = t => ObterAudios(db, chave);
                retorno = Site.Services.RedisService.GetOrSetToRedis(key, funcao, 60);
            }

            return(retorno);
        }
Пример #15
0
        public static PostagemViewModel ObterPostagem(int?idPostagem = null)
        {
            string key = primeKey + "ObterPostagens:" + idPostagem + ":TNoticias";

            PostagemViewModel retorno = null;

            using (var db = new ModeloDados())
            {
                Func <object, PostagemViewModel> funcao = t => ObterPostagem(db, idPostagem);
                retorno = Site.Services.RedisService.GetOrSetToRedis(key, funcao, 60);
            }

            return(retorno);
        }
Пример #16
0
        public static List <NoticiaViewModel> ObterNoticiasRelacionadas(int idNoticia)
        {
            string key = primeKey + "ObterNoticiasRelacionadas:" + idNoticia + ":TNoticias";

            List <NoticiaViewModel> retorno = null;

            using (var db = new ModeloDados())
            {
                Func <object, List <NoticiaViewModel> > funcao = t => ObterNoticiasRelacionadas(db, idNoticia);
                retorno = Site.Services.RedisService.GetOrSetToRedis(key, funcao, 10);
            }

            return(retorno);
        }
Пример #17
0
        public static NoticiaViewModel ObterNoticia(int idNoticia)
        {
            string key = primeKey + "ObterNoticia:" + idNoticia + ":TNoticias";

            NoticiaViewModel retorno = null;

            using (var db = new ModeloDados())
            {
                Func <object, NoticiaViewModel> funcao = t => ObterNoticia(db, idNoticia);
                retorno = Site.Services.RedisService.GetOrSetToRedis(key, funcao, 10);
            }

            return(retorno);
        }
Пример #18
0
        public static List <PostagemViewModel> ObterPostagens(int?idEditoria = null, int?idColunista = null, string chave = "")
        {
            string key = primeKey + "ObterPostagens:" + idEditoria + ":" + idColunista + ":" + chave + ":TNoticias";

            List <PostagemViewModel> retorno = null;

            using (var db = new ModeloDados())
            {
                Func <object, List <PostagemViewModel> > funcao = t => ObterPostagens(db, idEditoria, idColunista, chave);
                retorno = Site.Services.RedisService.GetOrSetToRedis(key, funcao, 60);
            }

            return(retorno);
        }
Пример #19
0
 private static List <CategoriaAudioViewModel> ObterCategoriasDB()
 {
     using (var db = new ModeloDados())
     {
         return(db.CategoriasAudios
                .Where(x => x.Liberado && !x.Excluido)
                .Select(categoria => new CategoriaAudioViewModel
         {
             Id = categoria.Id,
             Descricao = categoria.Descricao,
             DataCadastro = categoria.DataCadastro
         })
                .OrderBy(x => x.Descricao).ToList());
     }
 }
Пример #20
0
        public static List <PublicidadeViewModel> ObterPublicidadesInternas()
        {
            string key = primeKey + "ObterPublicidadesInternas:TBanners";

            List <PublicidadeViewModel> retorno = null;

            using (var db = new ModeloDados())
            {
                Func <object, List <PublicidadeViewModel> > funcao = t => ObterPublicidadesInternas(db);
                retorno = RedisService.GetOrSetToRedis(key, funcao, 60);
            }
            BannersToFIFO(retorno);

            return(retorno);
        }
Пример #21
0
        public IHttpActionResult ObterRadios()
        {
            using (var db = new ModeloDados())
            {
                var radios = db.Radios.Select(radio =>
                                              new
                {
                    radio.Id,
                    streamingMP3  = (radio.TipoStream1 == TipoStream.MP3 ? radio.Stream1 : radio.TipoStream2 == TipoStream.MP3 ? radio.Stream2 : string.Empty),
                    streamingAAC  = (radio.TipoStream1 == TipoStream.AAC ? radio.Stream1 : radio.TipoStream2 == TipoStream.AAC ? radio.Stream2 : string.Empty),
                    streamingM3U3 = (radio.TipoStream1 == TipoStream.M3U3 ? radio.Stream1 : radio.TipoStream2 == TipoStream.M3U3 ? radio.Stream2 : string.Empty),
                    streamingRTSP = (radio.TipoStream1 == TipoStream.RTSP ? radio.Stream1 : radio.TipoStream2 == TipoStream.RTSP ? radio.Stream2 : string.Empty),
                    radio.Titulo,
                    radio.Imagem
                }).ToList();

                return(Json(radios));
            }
        }
Пример #22
0
        public static NoticiaViewModel ObterNoticia(ModeloDados db, int idNoticia)
        {
            var noticiaViewModel = db.Noticias.Where(noticia => noticia.id == idNoticia)
                                   .Select(
                noticia => new NoticiaViewModel
            {
                Id            = noticia.id,
                Titulo        = noticia.titulo,
                Chamada       = noticia.chamada,
                Texto         = noticia.texto,
                Foto          = string.IsNullOrEmpty(noticia.foto) ? string.Empty : url + "/admin/Conteudo/noticias/" + noticia.id + "/744x500/" + noticia.foto,
                Data          = noticia.dataAtualizacao,
                NomeAutor     = noticia.porAutor,
                NomeCategoria = noticia.Categorias.FirstOrDefault() == null ? string.Empty : noticia.Categorias.FirstOrDefault().Titulo,
                Url           = url + "/noticia/" + noticia.url
            }).FirstOrDefault();

            return(noticiaViewModel);
        }
Пример #23
0
        public static List <PostagemViewModel> ObterPostagensRelacionadas(ModeloDados db, int?idPostagem = null)
        {
            var colunistaId = db.Noticias.FirstOrDefault(noticia => noticia.id == idPostagem).idColunista;

            var postagemViewModel = db.Noticias.Where(postagem => postagem.id != idPostagem && !postagem.excluido && postagem.dataAtualizacao < DateTime.Now && postagem.liberado && postagem.idColunista != null && postagem.idColunista == colunistaId).OrderByDescending(postagem => postagem.dataAtualizacao).Take(3)
                                    .Select(
                postagem => new PostagemViewModel
            {
                Id            = postagem.id,
                Titulo        = postagem.titulo,
                Chamada       = postagem.chamada,
                Texto         = string.Empty,
                Foto          = string.IsNullOrEmpty(postagem.foto) ? string.Empty : url + "/admin/Conteudo/noticias/" + postagem.id + "/744x500/" + postagem.foto,
                Data          = postagem.dataAtualizacao,
                NomeColunista = postagem.Colunista.nome,
                Url           = url + "/noticia/" + postagem.url
            }).ToList();

            return(postagemViewModel);
        }
Пример #24
0
        private List <RadiosViewModel> ObterRadiosDB()
        {
            var url = ServerSettings.Url;

            using (var db = new ModeloDados())
            {
                var radios = db.Radios
                             .Where(radio => radio.Ativo)
                             .Select(radio =>
                                     new RadiosViewModel
                {
                    Id = radio.Id,
                    streamingMobile = (radio.TipoStream1 == TipoStream.MP3 ? radio.Stream1 : radio.TipoStream2 == TipoStream.MP3 ? radio.Stream2 : string.Empty),
                    Titulo          = radio.Titulo,
                    logo            = string.IsNullOrEmpty(radio.Imagem) ? null : url + "/Admin/Conteudo/Radio/" + radio.Imagem
                }).OrderBy(radio => radio.Titulo).ToList();

                return(radios);
            }
        }
Пример #25
0
        public static List <NoticiaViewModel> ObterNoticiasRelacionadas(ModeloDados db, int idNoticia)
        {
            var editoriaisIds = db.Noticias.Where(noticia => noticia.id == idNoticia).SelectMany(noticia => noticia.Editoriais.Select(editorial => editorial.id)).ToArray();

            var noticiaViewModel = db.Noticias.Where(noticia => noticia.id != idNoticia && noticia.Editoriais.Any(editorial => editoriaisIds.Contains(editorial.id))).OrderByDescending(noticia => noticia.dataAtualizacao).Take(3)
                                   .Select(
                noticia => new NoticiaViewModel
            {
                Id            = noticia.id,
                Titulo        = noticia.titulo,
                Chamada       = noticia.chamada,
                Texto         = string.Empty,
                Foto          = string.IsNullOrEmpty(noticia.foto) ? string.Empty : url + "/admin/Conteudo/noticias/" + noticia.id + "/744x500/" + noticia.foto,
                Data          = noticia.dataAtualizacao,
                NomeAutor     = noticia.porAutor,
                NomeCategoria = noticia.Categorias.FirstOrDefault() == null ? string.Empty : noticia.Categorias.FirstOrDefault().Titulo,
                Url           = url + "/noticia/" + noticia.url
            }).ToList();

            return(noticiaViewModel);
        }
Пример #26
0
        public static List <NoticiaMaisLidasViewModel> ObterNoticiasMaisVistas(ModeloDados db, int?idEditoria)
        {
            var lastweek = DateTime.Now.Date.AddDays(-7);
            var noticias = db.Noticias.Include("Editoriais")
                           .Where(noticia =>
                                  noticia.Colunista == null &&
                                  !noticia.excluido &&
                                  noticia.liberado &&
                                  noticia.dataCadastro >= lastweek &&
                                  noticia.Editoriais.Any(editoria => editoria.ativo && !editoria.excluido))
                           .OrderByDescending(noticia => noticia.visualizacao).Take(7)

                           .Select(noticia => new NoticiaMaisLidasViewModel
            {
                Id      = noticia.id,
                Chamada = noticia.chamada,
                Foto    = string.IsNullOrEmpty(noticia.foto) ? string.Empty : url + "/admin/Conteudo/noticias/" + noticia.id + "/744x500/" + noticia.foto,
                Data    = noticia.dataCadastro
            }).ToList();

            return(noticias);
        }
Пример #27
0
        /// <summary>
        /// metodo que conta os cliques... ou add visualizacao
        /// </summary>
        /// <param name="banners"></param>
        /// <param name="acao"></param>
        /// <param name="db"></param>
        /// <returns></returns>
        public string BannerCount(Banners banners, BannerOperation acao, ref ModeloDados db)
        {
            string url = string.Empty;

            //if (banners != null)
            //{
            //    var registro = new BannersVisualizacoesCliques();


            //    if (acao == BannerOperation.Visualizacao)
            //    {
            //        registro = new BannersVisualizacoesCliques
            //        {
            //            CodigoBanner = banners.Id,
            //            Visualizacao = true,
            //            Clique = false,
            //            DataCadastro = DateTime.Now
            //        };
            //    }
            //    else
            //    {
            //        registro = new BannersVisualizacoesCliques
            //        {
            //            CodigoBanner = banners.Id,
            //            Visualizacao = false,
            //            Clique = true,
            //            DataCadastro = DateTime.Now
            //        };

            //url = banners.Link;
            //    }
            //    db.Entry(registro).State = EntityState.Added;
            //    db.SaveChanges();

            //}

            return(url);
        }
Пример #28
0
        public IHttpActionResult Clique(int idBanner)
        {
            var url = ServerSettings.Url;

            using (var db = new ModeloDados())
            {
                var publicidade = db.Banners.FirstOrDefault(banner => banner.Id == idBanner);
                publicidade.BannersVisualizacoesCliques.Add(new BannersVisualizacoesCliques
                {
                    CodigoBanner = publicidade.Id,
                    Visualizacao = false,
                    Clique       = true,
                    DataCadastro = DateTime.Now
                });

                db.Entry(publicidade).State = EntityState.Modified;

                db.SaveChanges();

                HttpContext.Current.Response.Redirect(publicidade.Link);
            }
            return(Json(true));
        }
Пример #29
0
        public static PostagemViewModel ObterPostagem(ModeloDados db, int?idPostagem = null)
        {
            var postagemViewModel = db.Noticias.Where(postagem =>

                                                      postagem.Colunista != null &&
                                                      !postagem.excluido &&
                                                      postagem.liberado && postagem.id == idPostagem
                                                      ).OrderByDescending(postagem => postagem.dataAtualizacao)

                                    .Select(postagem => new PostagemViewModel
            {
                Id            = postagem.id,
                Titulo        = postagem.titulo,
                Chamada       = postagem.chamada,
                Texto         = postagem.texto,
                Foto          = string.IsNullOrEmpty(postagem.foto) ? null : url + "/admin/Conteudo/noticias/" + postagem.id + "/744x500/" + postagem.foto,
                Data          = postagem.dataAtualizacao,
                NomeColunista = postagem.Colunista.nome,
                Url           = url + "/noticia/" + postagem.url
            }).FirstOrDefault();

            return(postagemViewModel);
        }
Пример #30
0
        public static List <PostagemViewModel> ObterPostagens(ModeloDados db, int?idEditoria = null, int?idColunista = null, string chave = "")
        {
            var postagensQuery = db.Noticias.Where(postagem =>

                                                   postagem.Colunista != null &&
                                                   !postagem.excluido &&
                                                   postagem.liberado
                                                   );

            if (idColunista != null)
            {
                postagensQuery = postagensQuery.Where(noticia => noticia.idColunista == idColunista);
            }
            else if (!string.IsNullOrWhiteSpace(chave))
            {
                postagensQuery = postagensQuery.Where(postagem => (chave == null || postagem.titulo.Contains(chave) || postagem.texto.Contains(chave) || postagem.subtitulo.Contains(chave) || (postagem.Colunista == null ? true : postagem.Colunista.nome.Contains(chave))));
            }
            else
            {
                postagensQuery = postagensQuery.Where(noticia => noticia.Editoriais.Any(editoria => idEditoria == null || editoria.id == idEditoria));
            }

            var postagens = postagensQuery.OrderByDescending(noticia => noticia.dataAtualizacao).Take(20)
                            .Select(postagem => new PostagemViewModel
            {
                Id            = postagem.id,
                Titulo        = postagem.titulo,
                Chamada       = postagem.chamada,
                Texto         = string.Empty,
                Foto          = string.IsNullOrEmpty(postagem.foto) ? null : url + "/admin/Conteudo/noticias/" + postagem.id + "/744x500/" + postagem.foto,
                Data          = postagem.dataAtualizacao,
                NomeColunista = postagem.Colunista.nome,
                Url           = url + "/noticia/" + postagem.url
            }).ToList();

            return(postagens);
        }