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); }
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)); }
// 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); }
/// 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)); }
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); }
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)); }
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)); }
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")); }
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; }