Example #1
0
        /// <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);
        }
Example #3
0
        /// <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(); }
        }
Example #4
0
        /// <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);
        }
Example #6
0
        /// <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);
            }
        }
Example #7
0
        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);
        }
Example #8
0
        /// <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;
            }
        }
Example #9
0
        /// <summary>
        /// 删除用户角色关联表记录
        /// </summary>
        /// <param name="id"></param>
        public void DeleteAccountRole(string id)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "ID", id);

            Assistant.DeleteList <AccountRole>(c);
        }
Example #10
0
 public void DeleteMappingByChannelID(string id)
 {
     Assistant.DeleteList <ChannelModuleMapping>(new Criteria(CriteriaType.Equals, "ChannelID", id));
 }
Example #11
0
 public int DeleteList(string tablename, Criteria condition)
 {
     return(Assistant.DeleteList <TableInfo>(condition, tablename));
 }