Esempio n. 1
0
        public async Task <List <PostagemViewModel> > ObterListaPostagemPorUsuarioIdAsync(int postagemId)
        {
            List <Postagem> listaPostagem = await _postagemRepository
                                            .ObterListaPostagemPorUsuarioIdAsync(postagemId)
                                            .ConfigureAwait(false);

            if (listaPostagem is null)
            {
                throw new ArgumentException("Lista de postagens não encontrada!");
            }



            var listaPostagemMV = new List <PostagemViewModel>();

            foreach (var postagem in listaPostagem)
            {
                Usuario usuarioBanco = await _usuarioRepository.PegarId(postagem.UsuarioId);

                PostagemViewModel postagemMV = new PostagemViewModel()
                {
                    Id          = postagem.Id,
                    UsuarioId   = usuarioBanco.Id,
                    NomeUsuario = usuarioBanco.Nome,
                    Texto       = postagem.Texto,
                    Criacao     = postagem.Criacao
                };

                listaPostagemMV.Add(postagemMV);
            }

            return(listaPostagemMV);
        }
Esempio n. 2
0
        public IHttpActionResult ObterPostagens(int?idEditoria = null, int?idPostagem = null, int?idColunista = null)
        {
            var noticia  = new PostagemViewModel();
            var noticias = new List <PostagemViewModel>();

            if (idPostagem != null)
            {
                noticia = PostagensService.ObterPostagem(idPostagem.Value);

                if (noticia == null)
                {
                    return(Json(new { Falha = new { code = HttpStatusCode.NotFound, msg = "Postagem não encontada." } }));
                }

                noticias = PostagensService.ObterPostagensRelacionadas(idPostagem.Value);

                return(Json(new { Postagem = noticia, Relacionados = noticias }));
            }
            else
            {
                noticias = PostagensService.ObterPostagens(idEditoria, idColunista);
            }

            return(Json(noticias));
        }
Esempio n. 3
0
        // GET: Postagem/Create
        public ActionResult Create()
        {
            PostagemViewModel post = new PostagemViewModel();

            post.Regioes = regiaoServico.GetAll().ToList();
            post.Tipos   = tiposServico.GetAll().ToList();
            return(View(post));
        }
        public RedeModel MontaPaginaTodaRede()
        {
            RedeModel paginaGeral = new RedeModel();

            paginaGeral.TodosOsPerfis = servicoPerfil.RetornaPerfis(16);              // Obtém uma lista de perfis do banco
            var PostagensBanco       = servicoPostagem.RetornaPostagens(16).ToList(); // Obtém uma lista de postagens do banco
            var postagensConvertidas = PostagemViewModel.GetModel(PostagensBanco);    // Converte as postagens de 'Postagem' para 'PostViewModel'

            paginaGeral.TodasAsPostagens = postagensConvertidas;                      // Adiciona a lista de postagens convertidas à entidade 'TodaRedeModel'

            return(paginaGeral);
        }
Esempio n. 5
0
        /// Visualizar/1
        public IActionResult Visualizar(int id)
        {
            var postagem = _postagemServico.ObterPostagemPorId(id);

            if (postagem == null)
            {
                return(NotFound());
            }

            var model = new PostagemViewModel(postagem);

            return(View(model));
        }
Esempio n. 6
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);
        }
Esempio n. 7
0
 public ActionResult Edit(PostagemViewModel model)
 {
     if (ModelState.IsValid)
     {
         Postagem post = postagemServico.FindById(model.PostagemId);
         post.RegiaoId   = model.RegiaoId;
         post.TipoId     = model.TipoId;
         post.TextoPost  = model.TextoPost;
         post.TituloPost = model.TituloPost;
         postagemServico.Edit(post);
         return(RedirectToAction("Details", new { id = post.PostagemId }));
     }
     return(View(model));
 }
Esempio n. 8
0
        public ActionResult Edit(Guid id)
        {
            Postagem          post  = postagemServico.FindById(id);
            PostagemViewModel model = new PostagemViewModel();

            model.PostagemId = post.PostagemId;
            model.Regioes    = regiaoServico.GetAll();
            model.RegiaoId   = post.RegiaoId;
            model.TextoPost  = post.TextoPost;
            model.Tipos      = tiposServico.GetAll();
            model.TipoId     = post.TipoId;
            model.TituloPost = post.TituloPost;
            return(View(model));
        }
Esempio n. 9
0
        public Postagem()
        {
            InitializeComponent();

            if (Device.OS == TargetPlatform.iOS)
            {
                Title = "Postar";
            }

            PostagemVM     = new PostagemViewModel();
            BindingContext = PostagemVM;

            btnPostar.Clicked += BtnPostar_Clicked;
        }
        public static PostagemViewModel toViewModel(this Postagem postagem)
        {
            if (postagem != null)
            {
                var listaImageLink = new List <string>();
                foreach (var imagemLink in postagem.Imagens)
                {
                    listaImageLink.Add($"CarregarImagemPostagem/{ imagemLink.ImagemId}");
                }

                var viewModel = new PostagemViewModel(postagem.PostagemId, listaImageLink, postagem.Texto, postagem.Comentarios, postagem.Likes);
                return(viewModel);
            }
            throw new NullReferenceException("Objeto null, o objeto postagem não pode ser nulo");
        }
        public async Task <ActionResult> Create(PostagemViewModel model)
        {
            if (ModelState.IsValid)
            {
                model.idUsuario    = Session["idUsuario"].ToString();
                model.emailUsuario = Session["EmailUsuario"].ToString();

                var response = await _client.PostAsJsonAsync("api/Postagems/Create", model);

                return(RedirectToAction("Principal", "Home"));
            }
            else
            {
                return(View());
            }
        }
        public async Task <ActionResult> PostarImagem(PostagemViewModel model, HttpPostedFileBase photo)
        {
            model.idUsuario    = Session["idUsuario"].ToString();
            model.emailUsuario = Session["EmailUsuario"].ToString();

            if (photo == null)
            {
                model.imagem = "Sem Imagem";
            }
            else
            {
                var uploadImagem = await imageService.UploadImageAsync(photo);

                model.imagem = uploadImagem.ToString();
            }

            var response = await _client.PostAsJsonAsync("api/Postagems/Create", model);

            return(RedirectToAction("Principal", "Home"));
        }
Esempio n. 13
0
        public ActionResult Create(PostagemViewModel model)
        {
            if (Request.Files.Count > 3)
            {
                ModelState.AddModelError("Fotos", "Insira no maximo 3 imagens");
            }
            if (Request.Files[0].FileName == "")
            {
                ModelState.AddModelError("Fotos", "Faça o upload de pelo menos uma foto");
            }
            if (ModelState.IsValid)
            {
                Postagem postagem = new Postagem();

                Eleitor eleitor = new Eleitor();
                eleitor            = (Eleitor)Session["SessionEleitor"];
                postagem.EleitorId = eleitor.EleitorId;

                postagem.Data       = DateTime.Now;
                postagem.RegiaoId   = model.RegiaoId;
                postagem.TipoId     = model.TipoId;
                postagem.TextoPost  = model.TextoPost;
                postagem.TituloPost = model.TituloPost;
                postagemServico.Add(postagem);

                HttpFileCollectionBase arquivos = Request.Files;//pego os arquivos updo e insiro na variavel
                for (int i = 0; i < arquivos.Count; i++)
                {
                    ImagemPost imagem = new ImagemPost();
                    imagem.NomeImagem = Guid.NewGuid().ToString() + arquivos[i].FileName.Substring(arquivos[i].FileName.IndexOf("."));
                    string path = HttpContext.Server.MapPath("~/Imagens/Postagem/");
                    arquivos[i].SaveAs(path + imagem.NomeImagem);
                    imagem.PostagemId = postagem.PostagemId;
                    imagemPostServico.Add(imagem);
                }
                return(RedirectToAction("TimeLinePostagens", "Postagem"));
            }
            model.Regioes = regiaoServico.GetAll().ToList();
            model.Tipos   = tiposServico.GetAll().ToList();
            return(View(model));
        }
        // Metodo que monta o DashBoardModel com os dados necessários para a View perfil
        public DashboardModel MontaPerfil(string UserId)
        {
            var perfil = servicoPerfil.RetornaPerfilUsuario(UserId);// localiza o perfil do usuário logado

            // Recupera todos os itens seguidos usando o id do usuário
            var Seguidos = servicoSeguir.ObterSeguidos(UserId);

            // Recupera todos os seguidores do perfil
            var Seguidores = servicoSeguir.ObterSeguidores(perfil.id);

            // Recupera todas as postagens deste usuário
            var PostagensUsuario = servicoPostagem.RetornaPostagemUsuario(UserId, 5);

            // Recupera 10 postagens do banco
            var PostagensBanco = servicoPostagem.RetornaPostagens(10);

            // Recupera todas as barbas do banco
            var listaBarbas = servicoBarba.RetornaBarbas();


            // Adiciona à lista cada perfil seguido encontrado com base no id
            List<Perfil> perfisSeguidos = new List<Perfil>();
            List<Postagem> postagensSeguidos = new List<Postagem>();
            foreach (var seguido in Seguidos.Where(x => x.PerfilID != 0))
            {
                var perfilSeguido = servicoPerfil.RetornaPerfilUnico(seguido.PerfilID);
                perfisSeguidos.Add(perfilSeguido);

                // Recuperando as postagens de cada perfil seguido
                foreach (var postagemSeguido in PostagensBanco.Where(x => x.PerfilId == perfilSeguido.id))
                {
                    postagensSeguidos.Add(postagemSeguido);
                }
            }

            // Adiciona à lista cada perfil seguidor
            List<Perfil> perfisSeguidores = new List<Perfil>();
            foreach (var seguidor in Seguidores)
            {
                var perfilSeguidor = servicoPerfil.RetornaPerfilUsuario(seguidor.SeguidorId);
                perfisSeguidores.Add(perfilSeguidor);
            }

            // Convertendo Postagem em PostagemViewModel
            var PostagensSeguidosView = PostagemViewModel.GetModel(postagensSeguidos);
            // Ordenando por data
            var PostagensSeguidosOrdenadas = PostagensSeguidosView.OrderByDescending(x => x.DataPostagem).ToList();

            // Montando o DashBoard para enviar à View
            DashboardModel dashBoard = new DashboardModel();
            dashBoard.postagens = PostagemViewModel.GetModel(PostagensUsuario);
            dashBoard.postagensSeguidos = PostagensSeguidosOrdenadas;
            dashBoard.TotPostagens = servicoPostagem.TotalPostagens();
            dashBoard.PerfisSeguidos = perfisSeguidos;
            dashBoard.PerfisSeguidores = perfisSeguidores;
            dashBoard.Barbas = BarbaViewModel.GetModel(listaBarbas);
            dashBoard.nomePerfil = perfil.NomeExibicao;
            dashBoard.fotoPerfil = perfil.FotoPerfil;
            dashBoard.idPerfil = perfil.id;
            dashBoard.UserId = perfil.UserID;

            return dashBoard;
        }