Ejemplo n.º 1
0
        public async Task <IActionResult> Atualizar([FromHeader] string tokenAutor, [FromBody] ComentarioAtt comentario, string id)
        {
            var Core = new ComentarioCore(_mapper).EditarComentario(tokenAutor, comentario, id);

            return(Core.Status ? Ok(Core) : (IActionResult)BadRequest(Core));
        }
Ejemplo n.º 2
0
        public Retorno EditarComentario(string tokenAutor, ComentarioAtt comentarioAtt, string comentarioId)
        {
            // conversoes dos guids
            if (!Guid.TryParse(tokenAutor, out Guid token))
            {
                return new Retorno {
                           Status = false, Resultado = new List <string> {
                               "Token inválido"
                           }
                }
            }
            ;

            if (!Guid.TryParse(comentarioId, out Guid comentId))
            {
                return new Retorno {
                           Status = false, Resultado = new List <string> {
                               "Comentário inválido"
                           }
                }
            }
            ;


            //procuro pelo suuario que esta comentando
            var usuarioForum = _arm.Usuarios.Find(c => c.Id == token);

            if (usuarioForum == null)
            {
                return new Retorno {
                           Status = false, Resultado = new List <string> {
                               "Usuario nao existe na base de dados"
                           }
                }
            }
            ;

            var umComentario = _arm.Comentarios.Find(c => c.Id == comentId);

            // validacao do autor
            if (umComentario.AutorId != usuarioForum.Id.ToString())
            {
                return new Retorno {
                           Status = false, Resultado = new List <string> {
                               "Autor do comentario inválido"
                           }
                }
            }
            ;

            //verifico a tamanho dos textos
            if (comentarioAtt.Msg.Length < 10 || comentarioAtt.Msg.Length > 500)
            {
                return new Retorno {
                           Status = false, Resultado = new List <string> {
                               "Tamanho da mensagem inválido, digite entre 10 e 500 caracteres"
                           }
                }
            }
            ;

            _mapper.Map(comentarioAtt, umComentario);

            Arquivo.Salvar(_arm);
            return(new Retorno {
                Status = true, Resultado = _mapper.Map <ComentarioRetorno>(umComentario)
            });
        }