/// <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); }
/// <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); }