Exemple #1
0
        public async Task <ActionResult> Create([Bind(Include = "id,PerfilId,DataPostagem,FotoPostagem,TextoPostagem")] Postagem postagem, HttpPostedFileBase imgPostagem)
        {
            // Verificando se a variavel de sessão UserId é está nula
            if (Session["UserId"] == null)
            {
                Session["UserId"] = User.Identity.GetUserId();
            }
            postagem.UserId = Session["UserId"].ToString();

            if (imgPostagem != null)                                          // Caso venha uma foto na postagem
            {
                var imgUri = await servicoBlob.UploadImageAsync(imgPostagem); //Manda para blob

                postagem.FotoPostagem = imgUri;
            }

            var perfil = servicoPerfil.RetornaPerfilUsuario(postagem.UserId);

            postagem.PerfilId     = perfil.id;
            postagem.DataPostagem = DateTime.Now;

            if (ModelState.IsValid)
            {
                servicoPostagem.CriaPostagem(postagem);
                return(RedirectToAction("Index", "Gerenciador"));
            }

            return(View(postagem));
        }
Exemple #2
0
        // Action da pagina do usuario logado
        public ActionResult Index()
        {
            var UserSessionId = User.Identity.GetUserId();

            if (Session["UserId"] == null)
            {
                Session["UserId"] = UserSessionId;
            }

            var perfilTmp = servicoPerfil.RetornaPerfilUsuario(UserSessionId);

            if (perfilTmp != null)
            {
                FabricaDashboard fabricaDash = new FabricaDashboard();
                var dashBoard = fabricaDash.MontaPerfil(UserSessionId);
                if (dashBoard != null)
                {
                    return(View(dashBoard));
                }
            }
            return(RedirectToAction("CheckIn", "Perfis"));
        }
Exemple #3
0
        // Action que busca um perfil para o usuario ou cria um novo perfil
        public ActionResult CheckIn()
        {
            var userId     = User.Identity.GetUserId();            // Obtém o id do user logado
            var PerfilUser = servico.RetornaPerfilUsuario(userId); // Busca um perfil existente para o user logado

            if (PerfilUser != null)                                // Manda para o perfil existente caso seja true
            {
                return(RedirectToAction("Index", "Gerenciador"));
            }

            CriaPerfilPadrao.Criar(userId); // Cria um perfil padrão caso a condição acima seja false
            return(RedirectToAction("Index", "Gerenciador"));
        }
Exemple #4
0
        // Action que busca um perfil para o usuario ou cria um novo perfil
        public ActionResult CheckIn()
        {
            var userId     = User.Identity.GetUserId();
            var PerfilUser = servico.RetornaPerfilUsuario(userId);

            if (PerfilUser != null) // Caso Perfil não seja nulo, encaminha para páina com o perfil carregado
            {
                return(RedirectToAction("Index", "Gerenciador"));
            }

            CriaPerfilPadrao.Criar(userId); // Cria um perfil padrão caso a condição acima seja false
            return(RedirectToAction("Index", "Gerenciador"));
        }
        // 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;
        }