/// <summary> /// Apaga uma Webpages_Roles /// </summary> /// <param name="param"></param> /// <returns></returns> public static void Delete(string token, Int32 RoleId, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } try { webpages_Roles role = _db.webpages_Roles.Where(r => r.RoleId == RoleId).FirstOrDefault(); if (role == null) { throw new Exception("Role inexistente"); // não existe role com o Id informado } Int32 RoleLevelMin = Permissoes.GetRoleLevelMin(token, _db); //if (role.RoleName.ToUpper().Equals("COMERCIAL") || role.RoleLevel < RoleLevelMin) throw new Exception("401"); // não possui autorização para remover o privilégio if (Permissoes.isAtosRoleVendedor(role) || role.RoleLevel < RoleLevelMin) { throw new Exception("401"); // não possui autorização para remover o privilégio } GatewayWebpagesPermissions.Delete(token, RoleId, _db); GatewayWebpagesUsersInRoles.Delete(token, RoleId, true, _db); _db.webpages_Roles.Remove(_db.webpages_Roles.Where(e => e.RoleId.Equals(RoleId)).First()); _db.SaveChanges(); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao apagar role" : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } }
/// <summary> /// Apaga uma Webpages_Methods /// </summary> /// <param name="param"></param> /// <returns></returns> public static void Delete(string token, Int32 id_method, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } try { GatewayWebpagesPermissions.DeleteMethod(token, id_method, _db); _db.webpages_Methods.RemoveRange(_db.webpages_Methods.Where(e => e.id_method.Equals(id_method))); _db.SaveChanges(); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao apagar method" : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } }