Пример #1
0
        /// <summary>
        /// 隐藏某个功能模块
        /// </summary>
        /// <param name="userContext"></param>
        /// <param name="modulesId"></param>
        /// <returns></returns>
        public int HideAccountModule(UserContext userContext, int modulesId)
        {
            int result = 0;

            //限制无法移除模块
            if (modulesId == 1 || modulesId == 2 || modulesId == 3)
            {
                return(0);
            }

            var userModules = _moduleUserDapperRepository.FindAll(x => x.Enable == 1 &&
                                                                  x.AccountId == userContext.AccId &&
                                                                  x.AccountUserId == userContext.UserId);

            if (userModules.Count() <= 4)
            {
                result = -1;
            }
            else
            {
                var userModuleExist = _moduleUserDapperRepository.Find(x => x.ModuleId == modulesId &&
                                                                       x.AccountId == userContext.AccId &&
                                                                       x.AccountUserId == userContext.UserId);
                if (userModuleExist == null)
                {
                    return(0);
                }

                var userModule = new Entity.Model.Modules.AccountUserModule
                {
                    Id     = userModuleExist.Id,
                    Enable = 0,
                };

                bool flag = _moduleUserDapperRepository.Update <Entity.Model.Modules.AccountUserModule>(userModule, item => new { item.Enable });

                result = flag ? 1 : 0;
            }

            return(result);
        }
Пример #2
0
        /// <summary>
        /// 呈现某个功能模块
        /// </summary>
        /// <param name="userContext"></param>
        /// <param name="modulesId"></param>
        /// <returns></returns>
        public int ShowAccountModule(UserContext userContext, int modulesId)
        {
            //安装失败
            int result = 0;

            var accountBusiness = _accountBusinessDapperRepository.Find(x => x.accountid == userContext.AccId);
            var module          = _moduleDapperRepository.Find(x => x.Id == modulesId);

            //免费用户
            if (accountBusiness.aotjb == 0 || accountBusiness.aotjb == 1)
            {
                if (module != null && module.Enable == 1 && module.IsPaid == 1)
                {
                    //付费功能,无法安装
                    result = -2;
                }
                else
                {
                    //可以安装
                    result = 1;
                }
            }
            else
            {
                //可以安装
                result = 1;
            }


            if (result == 1)
            {
                var userModules = _moduleUserDapperRepository.FindAll(x => x.Enable == 1 &&
                                                                      x.AccountId == userContext.AccId &&
                                                                      x.AccountUserId == userContext.UserId);

                if (userModules.Count() >= 8)
                {
                    //安装超过8个模块
                    result = -1;
                }
                else
                {
                    var userModuleExist = _moduleUserDapperRepository.Find(x => x.ModuleId == modulesId &&
                                                                           x.AccountId == userContext.AccId &&
                                                                           x.AccountUserId == userContext.UserId);
                    if (userModuleExist == null)
                    {
                        var userModuleInsert = new Entity.Model.Modules.AccountUserModule();
                        userModuleInsert.AccountId     = userContext.AccId;
                        userModuleInsert.AccountUserId = userContext.UserId;
                        userModuleInsert.ModuleId      = modulesId;
                        userModuleInsert.Enable        = 1;
                        userModuleInsert.CreateTime    = DateTime.Now;
                        userModuleInsert.UpdateTime    = DateTime.Now;

                        _moduleUserDapperRepository.Insert(userModuleInsert);

                        userModuleExist = _moduleUserDapperRepository.Find(x => x.ModuleId == modulesId &&
                                                                           x.AccountId == userContext.AccId &&
                                                                           x.AccountUserId == userContext.UserId);
                    }
                    var userModule = new Entity.Model.Modules.AccountUserModule
                    {
                        Id     = userModuleExist.Id,
                        Enable = 1,
                    };

                    bool flag = _moduleUserDapperRepository.Update <Entity.Model.Modules.AccountUserModule>(userModule, item => new { item.Enable });

                    result = flag ? 1 : 0;
                }
            }

            return(result);
        }