public UserLevelRegForm GetView(long id, long userId) { var model = new UserLevelRegForm(); var parentUser = Resolve <IUserService>().GetSingle(r => r.Id == userId); if (parentUser != null) { model.ParentUserName = parentUser.UserName; } return(model); }
public ServiceResult Reg(UserLevelRegForm regForm) { regForm.IdCard = regForm.IdCard.Trim().ToLower(); var config = Resolve <IAutoConfigService>().GetValue <UserLevelRegConfig>(); if (config.CardNumber > 0) { var cardList = Resolve <IUserLevelService>().GetIdList(r => r.IdCard == regForm.IdCard); if (cardList.Count >= config.CardNumber) { return(ServiceResult.Failure($"同一号码注册不能超过{config.CardNumber}个")); } } if (config.MobileNumber > 0) { var cardList = Resolve <IUserLevelService>().GetIdList(r => r.Mobile == regForm.Mobile); if (cardList.Count >= config.MobileNumber) { return(ServiceResult.Failure($"同一号码注册不能超过{config.MobileNumber}个")); } } var userLevelConfigList = Resolve <IAutoConfigService>().GetList <UserLevelConfig>(); var userLevelConfig = userLevelConfigList.FirstOrDefault(r => r.Id == regForm.ConfigId); if (userLevelConfig == null || userLevelConfig.Status != Status.Normal) { return(ServiceResult.Failure($"消费套餐不存在")); } var regInput = new RegInput { Name = regForm.Name, UserName = regForm.UserName, ParentUserName = regForm.ParentUserName, VerifiyCode = regForm.VerifiyCode, Mobile = regForm.Mobile, Status = Status.Freeze, Password = regForm.Password, PayPassword = regForm.PayPassword, }; // 注册会员 var regResult = Resolve <IUserBaseService>().Reg(regInput); if (!regResult.Item1.Succeeded) { return(regResult.Item1); } // 添加会员消费记录 var userOutput = regResult.Item2; var result = ServiceResult.Success; var context = Repository <IUserLevelRepository>().RepositoryContext; try { context.BeginTransaction(); var userLevel = regForm.MapTo <UserLevel>(); userLevel.UserId = userOutput.Id; userLevel.ParentId = userOutput.ParentId; userLevel.LevelName = userLevelConfig.Name; userLevel.Status = UserLevelStatus.NotActivated; Add(userLevel); var userLevelRecord = userLevelConfig.MapTo <UserLevelRecord>(); userLevelRecord.ConfigId = userLevelConfig.Id; userLevelRecord.UserId = userLevel.UserId; userLevelRecord.LevelId = userLevel.Id; Resolve <IUserLevelRecordService>().Add(userLevelRecord); context.SaveChanges(); context.CommitTransaction(); } catch (Exception ex) { context.RollbackTransaction(); result = ServiceResult.Failure(ex.Message); } finally { context.DisposeTransaction(); } return(result); }