// GET: Perfils/Details/5 public ActionResult Details(int id) { var perfil = servico.RetornaPerfilUnico(id); if (perfil == null) { return(HttpNotFound()); } return(View(perfil)); }
// Metodo que recebe um do tipo Postagem e converte para PostagemViewModel public void SetModel(Postagem postagem) { Perfil perfil = new Perfil(); perfil = servicoPerfil.RetornaPerfilUnico(postagem.PerfilId); id = postagem.id; PerfilId = postagem.PerfilId; DataPostagem = postagem.DataPostagem; FotoPostagem = postagem.FotoPostagem; TextoPostagem = postagem.TextoPostagem; UserId = perfil.UserID; UserName = perfil.NomeExibicao; UserFoto = perfil.FotoPerfil; DataPostagem.IsDaylightSavingTime(); }
// Metodo que recebe um do tipo horta e converte para hortaViewModel public void SetModel(Horta horta) { Perfil perfil = new Perfil(); perfil = servicoPerfil.RetornaPerfilUnico(horta.PerfilID); id = horta.id; PerfilID = horta.PerfilID; data = horta.data; Nome = horta.nome; UserId = perfil.UserID; Capacidade = horta.capacidade; Tipo = horta.tipo; Plantas = horta.Plantas; UserName = perfil.NomeExibicao; UserFoto = perfil.FotoPerfil; }
// Metodo que recebe um do tipo barba e converte para barbaViewModel public void SetModel(Barba barba) { Perfil perfil = new Perfil(); perfil = servicoPerfil.RetornaPerfilUnico(barba.PerfilID); id = barba.id; PerfilID = barba.PerfilID; data = barba.data; Nome = barba.nome; UserId = perfil.UserID; Capacidade = barba.capacidade; Tipo = barba.tipo; Bigodes = barba.Bigodes; UserName = perfil.NomeExibicao; UserFoto = perfil.FotoPerfil; }
// Action que localiza o usuario a partir do id de perfil e chama a action PerfilTerceiro public ActionResult PerfilPorUserId(int perfilId) { var perfil = servicoPerfil.RetornaPerfilUnico(perfilId); return(RedirectToAction("PerfilVisitado", new { userId = perfil.UserID })); }
// 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; }