コード例 #1
0
        public IHttpActionResult DenunciarComentario(int ComentarioID, [FromBody] String Texto)
        {
            PostInteracao POST_INTERACAO = new PostInteracao();

            POST_INTERACAO.ComentarioId = ComentarioID;
            POST_INTERACAO.UsuarioId    = Util.Utilitarios.GetTokenUsuarioLogado(Request);
            POST_INTERACAO.Tipo         = PostInteracao.TipoInteracao.DenunciaComentario;
            POST_INTERACAO.Texto        = Texto;

            POST_INTERACAO.Data = DateTime.Now;

            db.PostsInteracoes.Add(POST_INTERACAO);


            PostInteracao COMENTARIO = db.PostsInteracoes.Find(ComentarioID);

            COMENTARIO.QuantidadeDenuncias++;
            COMENTARIO.Denunciado = true;

            if (COMENTARIO.QuantidadeDenuncias > 3) //LIMITE DE DENUNCIAS
            {
                COMENTARIO.Bloqueado = true;
            }


            db.SaveChanges();

            return(Ok());
        }
コード例 #2
0
        public async Task _EnviarComentario()
        {
            //NovoComentario
            NovoComentario.UsuarioId    = App.UsuarioLogado.Id;
            NovoComentario.UsuarioDados = App.UsuarioLogado;
            NovoComentario.Data         = DateTime.Now;

            NovoComentario.Meu = true;

            try
            {
                using (APIHelper API = new APIHelper())
                {
                    await API.PUT("api/posts/comentar/" + POST.Id + "/?texto=" + NovoComentario.Texto, null);
                }
            }
            catch (HTTPException EX)
            {
            }
            catch (Exception EX)
            {
            }

            COMENTARIOS.Add(NovoComentario);

            MessagingCenter.Send <Object>(this, "ComentariosRecebidos");

            POST.EuComentei = true;
            QuantidadeComentarios++;


            NovoComentario = new PostInteracao();
        }
コード例 #3
0
        public IHttpActionResult DenunciarComentario(int ComentarioID, [FromBody] String Texto)
        {
            PostInteracao postInteracao = new PostInteracao();

            postInteracao.ComentarioId = ComentarioID;
            postInteracao.UsuarioId    = Utilitarios.GetTokenUsuarioLogado(Request);
            postInteracao.Tipo         = PostInteracao.TipoInteracao.DenunciaComentario;
            postInteracao.Texto        = Texto;
            postInteracao.Data         = DateTime.Now;

            db.PostsInteracoes.Add(postInteracao);

            PostInteracao comentario = db.PostsInteracoes.Find(ComentarioID);

            comentario.QuantidadeDenuncias++;
            comentario.Denunciado = true;

            if (comentario.QuantidadeDenuncias > Utilitarios.quantidadeDenunciaMaxima())
            {
                comentario.Bloqueado = true;
            }

            db.SaveChanges();

            return(Ok());
        }
コード例 #4
0
        public ComentarioParcial(PostInteracao comentario)
        {
            _COMENTARIO = comentario;

            InitializeComponent();

            BindingContext = _COMENTARIO;
        }
コード例 #5
0
        async void ExecutePerfilCommand(PostInteracao postInteracao)
        {
            var navigationParams = new NavigationParameters();

            navigationParams.Add("usuario", postInteracao.UsuarioDados);

            await _navigationService.NavigateAsync("PerfilPage", navigationParams);
        }
コード例 #6
0
        public IHttpActionResult Curtir(int PostID, bool Curtir)
        {
            int UsuarioId = Util.Utilitarios.GetTokenUsuarioLogado(Request);

            PostInteracao POST_INTERACAO = db.PostsInteracoes
                                           .FirstOrDefault(pp => pp.PostId == PostID && pp.UsuarioId == UsuarioId && pp.Tipo == PostInteracao.TipoInteracao.Curtida);

            Post POST = db.Posts.Find(PostID);

            if (POST_INTERACAO == null)
            {
                if (Curtir)
                {
                    POST_INTERACAO = new PostInteracao();

                    POST_INTERACAO.PostId    = PostID;
                    POST_INTERACAO.UsuarioId = Util.Utilitarios.GetTokenUsuarioLogado(Request);
                    POST_INTERACAO.Tipo      = PostInteracao.TipoInteracao.Curtida;

                    POST_INTERACAO.Data = DateTime.Now;

                    db.PostsInteracoes.Add(POST_INTERACAO);
                    POST.QuantidadeCurtidas++;


                    //push
                    Usuario             UsuarioLogado = db.Usuarios.Find(UsuarioId);
                    List <UsuarioToken> Tokens        = db.UsuarioTokens.Where(tt => tt.UsuarioId == POST.UsuarioId).ToList();
                    foreach (var T in Tokens)
                    {
                        switch (T.Plataforma)
                        {
                        case UsuarioToken.Plataformas.Android:
                            Utilitarios.EnviaNotificacaoAndroid("Curtida", UsuarioLogado.Nome + " curtiu sua postagem.", PostID, T.Token);
                            break;

                        case UsuarioToken.Plataformas.iOS:
                            Utilitarios.EnviaNotificacaoIOS("Curtida", UsuarioLogado.Nome + " curtiu sua postagem.", PostID, T.Token);
                            break;
                        }
                    }
                }
            }
            else
            {
                if (!Curtir)
                {
                    db.PostsInteracoes.Remove(POST_INTERACAO);
                    POST.QuantidadeCurtidas--;
                }
            }


            db.SaveChanges();

            return(Ok());
        }
コード例 #7
0
        public PostDetalheViewModel(INavigationService navigationService, IPageDialogService dialogService)
        {
            _navigationService = navigationService;
            _dialogService     = dialogService;

            NovoComentario = new PostInteracao();

            DenunciarCommand        = new Command(async() => await ExecuteDenunciarCommand());
            EnviarComentarioCommand = new Command(async() => await ExecuteEnviarComentarioCommand());
            ExcluirCommand          = new Command(async() => await ExecuteExcluirCommand());
            PerfilCommand           = new DelegateCommand <PostInteracao>(ExecutePerfilCommand);
        }
コード例 #8
0
        public ActionResult DeleteComentario(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PostInteracao postI = db.PostsInteracoes.Find(id);

            db.PostsInteracoes.Remove(postI);
            db.SaveChanges();
            return(RedirectToAction("ComentariosDenunciados"));
        }
コード例 #9
0
        public PostDetalheViewModel(Post P, Page Pg)
        {
            PageParent = Pg;
            POST       = P;
            BuscaComentarios();

            NovoComentario = new PostInteracao();

            Curtir           = new Command(async() => await _Curtir());
            Denunciar        = new Command(async() => await _Denunciar());
            EnviarComentario = new Command(async() => await _EnviarComentario());
            Excluir          = new Command(async() => await _Excluir());
        }
コード例 #10
0
        public IHttpActionResult Comentar(int PostID, String Texto)
        {
            PostInteracao POST_INTERACAO = new PostInteracao();

            POST_INTERACAO.PostId    = PostID;
            POST_INTERACAO.UsuarioId = Util.Utilitarios.GetTokenUsuarioLogado(Request);
            POST_INTERACAO.Tipo      = PostInteracao.TipoInteracao.Comentario;

            POST_INTERACAO.Data = DateTime.Now;

            POST_INTERACAO.Texto = Texto;

            db.PostsInteracoes.Add(POST_INTERACAO);

            Post POST = db.Posts.Find(PostID);

            POST.QuantidadeComentarios++;

            db.SaveChanges();

            //push
            Usuario             UsuarioLogado = db.Usuarios.Find(POST_INTERACAO.UsuarioId);
            List <UsuarioToken> Tokens        = db.UsuarioTokens.Where(tt => tt.UsuarioId == POST.UsuarioId).ToList();
            String TextoDaNotificacao         = Texto;

            if (TextoDaNotificacao.Length > 30)
            {
                TextoDaNotificacao = TextoDaNotificacao.Substring(0, 30);
            }
            foreach (var T in Tokens)
            {
                switch (T.Plataforma)
                {
                case UsuarioToken.Plataformas.Android:
                    Utilitarios.EnviaNotificacaoAndroid("Comentário", UsuarioLogado.Nome + " comentou: " + TextoDaNotificacao, PostID, T.Token);
                    break;

                case UsuarioToken.Plataformas.iOS:
                    Utilitarios.EnviaNotificacaoIOS("Comentário", UsuarioLogado.Nome + " comentou: " + TextoDaNotificacao, PostID, T.Token);
                    break;
                }
            }

            return(Ok());
        }
コード例 #11
0
        public ActionResult DetailsComentario(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PostInteracao postI = db.PostsInteracoes.Find(id);

            if (postI == null)
            {
                return(HttpNotFound());
            }

            //Get Denuncias
            ViewBag.Denuncias = db.PostsInteracoes.Include(p => p.UsuarioDados).Where(dd => dd.Tipo == PostInteracao.TipoInteracao.DenunciaComentario && dd.ComentarioId == postI.Id).ToList();

            return(View(postI));
        }
コード例 #12
0
        public async void DenunciarComentario(PostInteracao Comentario)
        {
            Comentario.EuDenunciei = true;

            try
            {
                using (APIHelper API = new APIHelper())
                {
                    await API.PUT("api/posts/denunciar-comentario/" + Comentario.Id, null);
                }
            }
            catch (HTTPException EX)
            {
            }
            catch (Exception EX)
            {
            }
        }
コード例 #13
0
        public IHttpActionResult Comentar(int PostID, string Texto)
        {
            PostInteracao postInteracao = new PostInteracao();

            postInteracao.PostId    = PostID;
            postInteracao.UsuarioId = Utilitarios.GetTokenUsuarioLogado(Request);
            postInteracao.Tipo      = PostInteracao.TipoInteracao.Comentario;
            postInteracao.Data      = DateTime.Now;
            postInteracao.Texto     = Texto;

            db.PostsInteracoes.Add(postInteracao);

            Post post = db.Posts.Find(PostID);

            post.QuantidadeComentarios++;

            db.SaveChanges();

            return(Ok());
        }
コード例 #14
0
ファイル: PostsController.cs プロジェクト: douglassimaodev/AX
        public IHttpActionResult Curtir(int PostID, bool Curtir)
        {
            int UsuarioId = Util.Utilitarios.GetTokenUsuarioLogado(Request);

            PostInteracao POST_INTERACAO = db.PostsInteracoes
                                           .FirstOrDefault(pp => pp.PostId == PostID && pp.UsuarioId == UsuarioId && pp.Tipo == PostInteracao.TipoInteracao.Curtida);

            Post POST = db.Posts.Find(PostID);

            if (POST_INTERACAO == null)
            {
                if (Curtir)
                {
                    POST_INTERACAO = new PostInteracao();

                    POST_INTERACAO.PostId    = PostID;
                    POST_INTERACAO.UsuarioId = Util.Utilitarios.GetTokenUsuarioLogado(Request);
                    POST_INTERACAO.Tipo      = PostInteracao.TipoInteracao.Curtida;

                    POST_INTERACAO.Data = DateTime.Now;

                    db.PostsInteracoes.Add(POST_INTERACAO);
                    POST.QuantidadeCurtidas++;
                }
            }
            else
            {
                if (!Curtir)
                {
                    db.PostsInteracoes.Remove(POST_INTERACAO);
                    POST.QuantidadeCurtidas--;
                }
            }


            db.SaveChanges();

            return(Ok());
        }
コード例 #15
0
ファイル: PostsController.cs プロジェクト: douglassimaodev/AX
        public IHttpActionResult Comentar(int PostID, String Texto)
        {
            PostInteracao POST_INTERACAO = new PostInteracao();

            POST_INTERACAO.PostId    = PostID;
            POST_INTERACAO.UsuarioId = Util.Utilitarios.GetTokenUsuarioLogado(Request);
            POST_INTERACAO.Tipo      = PostInteracao.TipoInteracao.Comentario;

            POST_INTERACAO.Data = DateTime.Now;

            POST_INTERACAO.Texto = Texto;

            db.PostsInteracoes.Add(POST_INTERACAO);

            Post POST = db.Posts.Find(PostID);

            POST.QuantidadeComentarios++;

            db.SaveChanges();

            return(Ok());
        }
コード例 #16
0
        public async Task ExecuteEnviarComentarioCommand()
        {
            //Novo comentario
            NovoComentario.UsuarioId    = App.UsuarioLogado.Id;
            NovoComentario.UsuarioDados = App.UsuarioLogado;
            NovoComentario.Data         = DateTime.Now;
            NovoComentario.Meu          = true;

            try
            {
                using (APIHelper API = new APIHelper())
                {
                    await API.PUT("api/posts/comentar/" + Post.Id + "?Texto=" + NovoComentario.Texto, null);
                }
            }
            catch (HTTPException EX) { }
            catch (Exception EX) { }

            Comentarios.Add(NovoComentario);

            Post.QuantidadeComentarios++;
            Post.EuComentei = true;
            NovoComentario  = new PostInteracao();
        }
コード例 #17
0
ファイル: PostDetalhado.xaml.cs プロジェクト: wsabor/AX
 private void CP_OnDenunciaComentario(PostInteracao comentario)
 {
     PDVM.DenunciarComentario(comentario);
 }