/// <summary> /// 激活会员(外用) /// </summary> /// <param name="memberid"></param> /// <param name="phone"></param> /// <param name="activecode"></param> /// <returns></returns> public string ActiveMember(int memberid, string phone, string activecode, bool isauto, int souceid = 0) { string result = "0"; if (isauto) { activecode = ActiveCodeDAL.GetRedamActiveCode(1); } MemberInfoModel member = null; if (memberid != 0) { member = MemberInfoDAL.GetNotActiveMember(memberid); } if (!string.IsNullOrWhiteSpace(phone)) { member = MemberInfoDAL.GetMember(phone); } if (member == null) { result = "0无此会员"; return(result); } if (member.MStatus != 1) { result = "0会员状态不正确"; return(result); } ActiveCodeModel activecodemodel = ActiveCodeDAL.GetActiveCodeExtendModel(activecode); if (activecodemodel == null) { result = @"0无此激活码"; return(result); } if (activecodemodel.AType == 2) { result = @"0激活码类型选择不正确"; return(result); } if (activecodemodel.AStatus == 10) { result = @"0激活码已经使用"; return(result); } if (activecodemodel.AMStatus == 3) { result = @"0激活码已经过期"; return(result); } using (TransactionScope scope = new TransactionScope()) { //更改会员的状态 int rowcount = MemberInfoDAL.UpdateStatus(member.ID, 2); if (rowcount < 1) { result = "0更新会员状态失败"; return(result); } //更改激活码的状态 rowcount = ActiveCodeDAL.UpdateStatus(activecodemodel.ID, 10); if (rowcount < 1) { result = "0更新激活码状态失败"; return(result); } if (activecodemodel.MID > 0) { //更改会员机会码的使用状态 if (souceid > 0) { rowcount = ActiveCodeDAL.UpdateMemberActiveCodeToUse(souceid, member.MobileNum, activecodemodel.ActivationCode); if (rowcount < 1) { result = "0更新会员激活码表状态失败"; return(result); } } else { rowcount = ActiveCodeDAL.UpdateMemberActiveStatus(activecodemodel.MID, 2); if (rowcount < 1) { result = "0更新会员激活码表状态失败"; return(result); } } //插入使用日志 ActiveCodeLogModel logmodel = new ActiveCodeLogModel(); logmodel.ActiveCode = activecodemodel.ActivationCode; logmodel.Addtime = DateTime.Now; logmodel.AID = activecodemodel.ID; logmodel.MemberID = activecodemodel.MemberID; logmodel.MemberName = activecodemodel.MemberName; logmodel.MemberPhone = activecodemodel.MemberPhone; logmodel.Remark = "为会员:" + member.MobileNum + " 激活"; rowcount = OperateLogDAL.AddActiveCodeLog(logmodel); if (rowcount < 1) { result = "0写入日志失败"; return(result); } } scope.Complete(); result = "1"; } return(result); }