/// <summary> /// 删除帐户(同时删除权限以及联盟和邮箱帐号等) /// </summary> /// <param name="accountID">用户ID</param> public void DeleteAccont(string accountID) { We7Helper.AssertNotNull(Assistant, "AccountHelper.Assistant"); We7Helper.AssertNotNull(accountID, "DeleteAccont.accountID"); //利用事务进行帐户的相关权限删除 //IDatabase db = Assistant.GetDatabases()["We7.CMS.Common"]; //IConnection ic = Assistant.GetConnections()[db]; IConnection ic = Assistant.CreateConnetion(typeof(Account), true);//上边连接无效,此方法为重构方法 //ic.IsTransaction = true; try { //删除Permissions Criteria c = new Criteria(CriteriaType.Equals, "OwnerID", accountID); Assistant.DeleteList <Permission>(ic, c); //删除AccountRole Criteria ca = new Criteria(CriteriaType.Equals, "AccountID", accountID); Assistant.DeleteList <AccountRole>(ic, ca); //最后删除当前帐户 Account act = new Account(); act.ID = accountID; Assistant.Delete(ic, act); OnUserDeleted(act); ic.Commit(); } catch (Exception) { try { ic.Rollback(); } catch (Exception) { } } finally { ic.Dispose(); } }
/// <summary> /// 删除一组权限记录 /// </summary> /// <param name="ownerType">用户?角色?</param> /// <param name="ownerID">所有者ID</param> /// <param name="objectID">栏目ID</param> public void DeletePermission(int ownerType, string ownerID, string objectID) { Criteria c = new Criteria(CriteriaType.Equals, "OwnerType", ownerType.ToString()); c.Add(CriteriaType.Equals, "OwnerID", ownerID); c.Add(CriteriaType.Equals, "ObjectID", objectID); Assistant.DeleteList <Permission>(c); }
/// <summary> /// 删除角色(同时删除权限) /// </summary> /// <param name="roleID">角色ID</param> public void DeleteRole(string roleID) { We7Helper.AssertNotNull(Assistant, "AccountHelper.Assistant"); We7Helper.AssertNotNull(roleID, "DeleteRole.roleID"); //利用事务进行帐户的相关权限删除 IDatabase db = Assistant.GetDatabases()["We7.CMS.Common"]; //IConnection ic = Assistant.GetConnections()[db];请注意别用此获去IC IConnection ic = db.DbDriver.CreateConnection(db.ConnectionString); ic.IsTransaction = true; try { //删除Permissions Criteria c = new Criteria(CriteriaType.Equals, "OwnerID", roleID); try { Assistant.DeleteList <Permission>(ic, c); } catch (Exception) { } //删除AccountRole Criteria cr = new Criteria(CriteriaType.Equals, "RoleID", roleID); try { Assistant.DeleteList <AccountRole>(ic, cr); } catch (Exception) { } //最后删除当前角色 Role r = new Role(); r.ID = roleID; Assistant.Delete(ic, r); ic.Commit(); } catch (Exception ex) { ic.Rollback(); throw ex; } finally { ic.Dispose(); } }
/// <summary> /// 通过用户ID插入一组用户角色关联对象 /// </summary> /// <param name="accountID">用户ID</param> /// <param name="roles">角色对象组</param> public void UpdateAccountRoles(string accountID, string[] roles) { Criteria c = new Criteria(CriteriaType.Equals, "AccountID", accountID); Assistant.DeleteList <AccountRole>(c); foreach (string r in roles) { if (r != String.Empty) { AccountRole ar = new AccountRole(); ar.AccountID = accountID; ar.Created = DateTime.Now; ar.ID = We7Helper.CreateNewID(); ar.RoleID = r; Assistant.Insert(ar); } } }
/// <summary> /// 删除一个权限记录 /// </summary> /// <param name="ownerType">类型所属类型:0—帐户;1—角色</param> /// <param name="ownerID">用户ID或角色ID</param> /// <param name="objectID">对象ID</param> /// <param name="content">具体权限</param> public void DeletePermission(int ownerType, string ownerID, string objectID, string[] contents) { Criteria c = new Criteria(CriteriaType.Equals, "OwnerType", ownerType.ToString()); c.Add(CriteriaType.Equals, "OwnerID", ownerID); c.Add(CriteriaType.Equals, "ObjectID", objectID); if (contents != null && contents.Length > 0) { Criteria cr = new Criteria(CriteriaType.None); cr.Mode = CriteriaMode.Or; foreach (string content in contents) { cr.Criterias.Add(new Criteria(CriteriaType.Equals, "Content", content)); } c.Criterias.Add(cr); } Assistant.DeleteList <Permission>(c); }
/// <summary> /// 删除一条投票(及选项,回答,统计) /// </summary> /// <param name="vote"></param> #region bool DeleteVote(Vote vote) public bool DeleteVote(Vote vote) { try { string voteID = vote.ID; bool flag = Assistant.Delete(vote); if (flag) { Criteria criteria = new Criteria(CriteriaType.Equals, "VoteID", voteID); Assistant.DeleteList <VoteEntry>(criteria); Assistant.DeleteList <VoteAnswer>(criteria); Assistant.DeleteList <VoteAnswerStat>(criteria); } return(true); } catch (Exception ex) { return(false); } }
public void MigrateToHistory() { Criteria c = new Criteria(CriteriaType.LessThan, "VisitDate", DateTime.Today); List <PageVisitor> list = Assistant.List <PageVisitor>(c, null); foreach (PageVisitor o in list) { PageVisitorHistory pvh = new PageVisitorHistory(); pvh = CopyPropertiesTo((object)o, (object)pvh) as PageVisitorHistory; try { Assistant.Insert(pvh, null); } catch { continue; } } List <Statistics> list2 = Assistant.List <Statistics>(c, null); foreach (Statistics s in list2) { StatisticsHistory sh = new StatisticsHistory(); sh = CopyPropertiesTo((object)s, (object)sh) as StatisticsHistory; try { Assistant.Insert(sh, null); } catch { continue; } } Assistant.DeleteList <Statistics>(c); Assistant.DeleteList <PageVisitor>(c); }
/// <summary> /// 删除帐户(同时删除权限以及联盟和邮箱帐号等) /// </summary> /// <param name="ic">连接</param> /// <param name="accountID">用户ID</param> public void DeleteAccont(IConnection ic, string accountID) { We7Helper.AssertNotNull(Assistant, "AccountHelper.Assistant"); We7Helper.AssertNotNull(accountID, "DeleteAccont.accountID"); //利用事务进行帐户的相关权限删除 try { //删除Permissions Criteria c = new Criteria(CriteriaType.Equals, "OwnerID", accountID); try { Assistant.DeleteList <Permission>(ic, c); } catch (Exception) { } //删除AccountRole Criteria ca = new Criteria(CriteriaType.Equals, "AccountID", accountID); try { Assistant.DeleteList <AccountRole>(ic, ca); } catch (Exception) { } //最后删除当前帐户 Account act = new Account(); act.ID = accountID; Assistant.Delete(ic, act); } catch (Exception ex) { throw ex; } }
/// <summary> /// 删除用户角色关联表记录 /// </summary> /// <param name="id"></param> public void DeleteAccountRole(string id) { Criteria c = new Criteria(CriteriaType.Equals, "ID", id); Assistant.DeleteList <AccountRole>(c); }
public void DeleteMappingByChannelID(string id) { Assistant.DeleteList <ChannelModuleMapping>(new Criteria(CriteriaType.Equals, "ChannelID", id)); }
public int DeleteList(string tablename, Criteria condition) { return(Assistant.DeleteList <TableInfo>(condition, tablename)); }