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)); }
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) }); }