// GET: Barbas public ActionResult Index() { var lista = servico.RetornaBarbas(); var barbaView = BarbaViewModel.GetModel(lista); return(View(barbaView)); }
// 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; }