Example #1
0
        public RespostaModel CriarModelResposta(Resposta entidadeResposta)
        {
            var respostaModel = new RespostaModel();

            respostaModel.Id                  = entidadeResposta.Id;
            respostaModel.Usuario             = entidadeResposta.Usuario.converterUsuarioParaUsuarioModel();
            respostaModel.Descricao           = entidadeResposta.Descricao;
            respostaModel.DataResposta        = entidadeResposta.DataResposta;
            respostaModel.QuantidadeUpVotes   = entidadeResposta.UpVotes.Count;
            respostaModel.QuantidadeDownVotes = entidadeResposta.DownVotes.Count;
            respostaModel.EhRespostaCorreta   = entidadeResposta.EhRespostaCorreta;
            respostaModel.DownVotes           = new List <UsuarioBaseModel>();
            foreach (var downvote in entidadeResposta.DownVotes)
            {
                respostaModel.DownVotes.Add(downvote.Usuario.converterUsuarioParaUsuarioModel());
            }
            respostaModel.UpVotes = new List <UsuarioBaseModel>();
            foreach (var upvote in entidadeResposta.UpVotes)
            {
                respostaModel.UpVotes.Add(upvote.Usuario.converterUsuarioParaUsuarioModel());
            }
            respostaModel.Comentarios = new List <ComentarioRespostaModel>();
            foreach (var each in entidadeResposta.Comentarios)
            {
                var comentario = new ComentarioRespostaModel();
                comentario.Usuario        = each.Usuario.converterUsuarioParaUsuarioModel();
                comentario.Id             = each.Id;
                comentario.DataComentario = each.DataComentario;
                comentario.Descricao      = each.Descricao;
                respostaModel.Comentarios.Add(comentario);
            }
            return(respostaModel);
        }
Example #2
0
        public HttpResponseMessage AdicionarComentario(int idResposta, [FromBody] ComentarioRespostaModel comentarioModel)
        {
            var usuario  = usuariosRepositorio.ObterPorEmail(Thread.CurrentPrincipal.Identity.Name);
            var resposta = respostasRepositorio.ObterPorId(idResposta);

            resposta.Comentar(usuario, comentarioModel.Descricao);
            respostasRepositorio.Alterar(resposta);
            return(ResponderOK());
        }
Example #3
0
        private PerguntaModel CriarModelPergunta(Pergunta entidadePergunta)
        {
            var perguntaModel = new PerguntaModel();

            perguntaModel.Id           = entidadePergunta.Id;
            perguntaModel.Titulo       = entidadePergunta.Titulo;
            perguntaModel.Usuario      = entidadePergunta.Usuario.converterUsuarioParaUsuarioModel();
            perguntaModel.Descricao    = entidadePergunta.Descricao;
            perguntaModel.DataPergunta = entidadePergunta.DataPergunta;
            perguntaModel.Tags         = new List <TagModel>();
            perguntaModel.DownVotes    = new List <UsuarioBaseModel>();
            perguntaModel.UpVotes      = new List <UsuarioBaseModel>();
            var tags = entidadePergunta.Tags;

            foreach (var tag in tags)
            {
                var tagModel = new TagModel();
                tagModel.Id        = tag.Id;
                tagModel.Descricao = tag.Descricao;
                perguntaModel.Tags.Add(tagModel);
            }
            perguntaModel.Comentarios = new List <ComentarioRespostaModel>();
            foreach (var each in entidadePergunta.ComentariosPergunta)
            {
                var comentario = new ComentarioRespostaModel();
                comentario.Usuario        = each.Usuario.converterUsuarioParaUsuarioModel();
                comentario.Id             = each.Id;
                comentario.DataComentario = each.DataComentario;
                comentario.Descricao      = each.Descricao;
                perguntaModel.Comentarios.Add(comentario);
            }
            perguntaModel.QuantidadeDownVotes = entidadePergunta.DownVotes.Count();
            perguntaModel.QuantidadeUpVotes   = entidadePergunta.UpVotes.Count();
            foreach (var each in entidadePergunta.UpVotes)
            {
                perguntaModel.UpVotes.Add(each.Usuario.converterUsuarioParaUsuarioModel());
            }
            foreach (var each in entidadePergunta.DownVotes)
            {
                perguntaModel.DownVotes.Add(each.Usuario.converterUsuarioParaUsuarioModel());
            }
            return(perguntaModel);
        }