Esempio n. 1
0
        /// <summary>
        /// 删除用户记录(删除用户时使用)
        /// </summary>
        /// <param name="userId">被删除用户</param>
        /// <param name="takeOverUserName">接管用户名</param>
        /// <param name="takeOverAll">是否接管被删除用户的所有内容</param>
        public void DeleteUser(long userId, string takeOverUserName, bool takeOverAll)
        {
            //设计要点:
            //1.利用sql转移给接管用户、删除专题成员、专题成员申请;
            //2.删除专题成员时,维护专题的成员数;

            //如果没设置由谁接管专题,就把专题转给网站初始管理员
            long takeOverUserId = 0;

            if (string.IsNullOrEmpty(takeOverUserName))
            {
                takeOverUserId = new SystemDataService().GetLong("Founder");
            }
            else
            {
                takeOverUserId = UserIdToUserNameDictionary.GetUserId(takeOverUserName);
            }


            IUserService userService = DIContainer.Resolve <IUserService>();
            User         takeOver    = userService.GetFullUser(takeOverUserId);

            groupRepository.DeleteUser(userId, takeOver, takeOverAll);
        }