public HttpResponseMessage Delete([FromBody] DeletarUsuarioDTO data) { try { //Recupera usuário da API CFG_UsuarioAPI entityUsuarioAPI = CFG_UsuarioAPIBO.SelecionaPorUsername(Util.ReturnCredentialUserName(Request)); return(Usuario.Delete(data, entityUsuarioAPI, Request)); } catch (Exception ex) { Util.GravarErro(ex); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
/// <summary> /// Método utilizado via Web API para deleção de um usuário /// </summary> /// <param name="data">Parametros de entrada: Id Entidade, login, senha</param> /// <param name="entityUsuarioAPI">Usuário da API usado para gravar log de ação</param> public static HttpResponseMessage Delete(DeletarUsuarioDTO data, CFG_UsuarioAPI entityUsuarioAPI, HttpRequestMessage request) { try { //Verifica se todos os dados vieram if (data.ent_id == Guid.Empty || string.IsNullOrWhiteSpace(data.usu_login) || string.IsNullOrWhiteSpace(data.senha)) { return(request.CreateErrorResponse(HttpStatusCode.BadRequest, "Todos os campos são obrigatórios.")); } SYS_Usuario entity = new SYS_Usuario { ent_id = data.ent_id, usu_login = data.usu_login }; SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entity); //Validação de usuário padrão do sistema if (entity.usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Padrao_Sistema) { return(request.CreateErrorResponse(HttpStatusCode.BadRequest, "Não é possível alterar um usuário padrão do sistema.")); } // Verifica se o id do usuário enviado existe na base de dados. if (entity.IsNew) { return(request.CreateErrorResponse(HttpStatusCode.NotFound, "Usuário não encontrado.")); } var senhaDescriptografada = new SymmetricAlgorithm(SymmetricAlgorithm.Tipo.TripleDES).Decrypt(entity.usu_senha); if (data.senha != senhaDescriptografada) { return(request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Não foi possível excluir usuário. Acesso negado.")); } SYS_UsuarioBO.Delete(entity, null); #region [ Log de ação] LOG_UsuarioAPIBO.Save ( new LOG_UsuarioAPI { usu_id = entity.usu_id , uap_id = entityUsuarioAPI.uap_id , lua_dataHora = DateTime.Now , lua_acao = (byte)LOG_UsuarioAPIBO.eAcao.DelecaoUsuario } ); #endregion return(request.CreateResponse(HttpStatusCode.OK, "Usuário excluído com sucesso.")); } catch (Exception ex) { Util.GravarErro(ex); return(request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }