protected void _dgvUsuario_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Deletar") { try { int index = int.Parse(e.CommandArgument.ToString()); Guid usu_id = new Guid(_dgvUsuario.DataKeys[index].Value.ToString()); //DELETA O VINCULO DE USUARIO COM USUARIOLOGINPROVIDER (CASO EXISTA) SYS_UsuarioLoginProviderBO.DeleteBy_usu_id(usu_id); SYS_Usuario entity = new SYS_Usuario { usu_id = usu_id }; SYS_UsuarioBO.GetEntity(entity); if (SYS_UsuarioBO.Delete(entity, null)) { _dgvUsuario.PageIndex = 0; _dgvUsuario.DataBind(); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "usu_id: " + usu_id); _lblMessage.Text = UtilBO.GetErroMessage("Usuário excluído com sucesso.", UtilBO.TipoMensagem.Sucesso); } else { _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o usuário.", UtilBO.TipoMensagem.Erro); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro); } } }
/// <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)); } }