public async Task <IActionResult> Edit(int id, [Bind("AdultId,JuvenileId,PhoneId,PhoneTypeId")] MemberPhone memberPhone) { if (id != memberPhone.AdultId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(memberPhone); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MemberPhoneExists(memberPhone.AdultId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["AdultId"] = new SelectList(_context.AdultMember, "Id", "FirstName", memberPhone.AdultId); ViewData["JuvenileId"] = new SelectList(_context.JuvenileMember, "Id", "FirstName", memberPhone.JuvenileId); ViewData["PhoneId"] = new SelectList(_context.Phone, "Id", "PhoneNum", memberPhone.PhoneId); ViewData["PhoneTypeId"] = new SelectList(_context.PhoneType, "Id", "Id", memberPhone.PhoneTypeId); return(View(memberPhone)); }
public async Task <IActionResult> Create([Bind("AdultId,JuvenileId,PhoneId,PhoneTypeId")] MemberPhone memberPhone) { if (ModelState.IsValid) { _context.Add(memberPhone); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["AdultId"] = new SelectList(_context.AdultMember, "Id", "FirstName", memberPhone.AdultId); ViewData["JuvenileId"] = new SelectList(_context.JuvenileMember, "Id", "FirstName", memberPhone.JuvenileId); ViewData["PhoneId"] = new SelectList(_context.Phone, "Id", "PhoneNum", memberPhone.PhoneId); ViewData["PhoneTypeId"] = new SelectList(_context.PhoneType, "Id", "Id", memberPhone.PhoneTypeId); return(View(memberPhone)); }
private void SavePhone(CultureDataContext db, Member q) { string[] checkedCheckBoxes = (Request.Form["chkWhatsapp"] ?? string.Empty).ToString().Split(','); for (int i = 1; i <= int.Parse(hdfIndex.Value); i++) { var val = Request.Form["phone[" + i.ToString() + "]"]; if (val != null && val != string.Empty) { MemberPhone p = new MemberPhone(); p.Member = q; p.MemberPhone_Number = val; p.MemberPhone_WhatsApp = checkedCheckBoxes.Any(s => s.Contains(i.ToString())); db.MemberPhones.InsertOnSubmit(p); } } }
public async Task <APIResult> RegisterBySms([FromBody] RegisterBySmsArgsModel args) { if (string.IsNullOrEmpty(args.Phone)) { throw new ArgumentNullException("Phone"); } if (string.IsNullOrEmpty(args.Code)) { throw new ArgumentNullException("Code"); } var phone = args.Phone.Trim(); var isBindPhone = memberDb.IsBindMemberPhone(phone); if (isBindPhone) { throw new Exception("该手机已绑定使用,请重新输入手机!"); } memberDb.SetMemberSMSValiCodeTaskFinished(phone, args.Code, "Register"); var member = new Member() { Email = $"{args.Phone}@phone", Password = MemberPasswordToMD5(CommonUtil.CreateIntNoncestr(8)), Truename = args.Phone, RegIP = GetIp(), RegTime = DateTime.Now, LastLoginIP = GetIp(), LastLoginTime = DateTime.Now, Status = MemberStatus.正常 }; memberDb.AddToMember(member); MemberPhone memberPhone = new MemberPhone() { Member = member, Phone = phone, State = MemberPhoneState.已绑定 }; memberDb.Add <MemberPhone>(memberPhone); await memberDb.SaveChangesAsync(); return(Success()); }
public void TestMethod1() { var wechatCoreDb = new WechatCoreDbContext(new Microsoft.EntityFrameworkCore.DbContextOptions <WechatCoreDbContext>()); var memberDb = new MemberDbContext(new Microsoft.EntityFrameworkCore.DbContextOptions <MemberDbContext>()); var argsModel = new BindCustomerPhoneByWxopenPhoneArgsModel() { EncryptedData = "Bbu3OZPldIdKPezC8druWzqZlIA5lhyDEFPpMR20vieOHUxIO+…xhv+IZaw1krTTqyXvikTO91cKGtfIPOBN0VbxIj2JshpsDQ==", Iv = "EPonbgT9+okCcL025u8boQ==" }; var jwtFlag = "jwt";// User.Identity.Name; if (string.IsNullOrEmpty(argsModel.EncryptedData)) { throw new ArgumentNullException("encryptedData"); } var jwt = wechatCoreDb.GetSingleMemberLogin(jwtFlag); if (jwt == null) { throw new Exception("未找到登陆纪录"); } var session_key = jwt.GetloginSettingValue <string>("sessionKey"); var openId = jwt.GetloginSettingValue <string>("openId"); var json = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.DecodeEncryptedData(session_key, argsModel.EncryptedData, argsModel.Iv); // _logger.LogInformation(json); var args = Newtonsoft.Json.JsonConvert.DeserializeObject <Senparc.Weixin.WxOpen.Entities.DecodedPhoneNumber>(json); var customerPhone = wechatCoreDb.Query <CustomerPhone>() .Where(m => !m.IsDel) .Where(m => m.Status == CustomerPhoneStatus.已绑定 && m.OpenId == openId) .FirstOrDefault(); if (customerPhone == null) { customerPhone = new CustomerPhone() { OpenId = openId, Phone = args.phoneNumber, Status = CustomerPhoneStatus.已绑定 }; wechatCoreDb.Add <CustomerPhone>(customerPhone); wechatCoreDb.SaveChanges(); } //var email = $"{customerPhone.Phone}@phone"; //var member = memberDb.Query<Member>() // .Where(m => !m.IsDel) // .Where(m => m.Email == email) // .FirstOrDefault(); //if (member == null) //{ // member = new Member() // { // Email = email, // Password = CommonUtil.CreateNoncestr(8), // Status = MemberStatus.正常, // Truename = customerPhone.Phone, // LastLoginTime = DateTime.Now, // RegTime = DateTime.Now // }; // memberDb.AddToMember(member); // memberDb.SaveChanges(); //} //改为使用MemberPhone var memberId = memberDb.GetMemberIdByMemberPhone(customerPhone.Phone); if (memberId <= 0)//说明没有手机绑定的会员,则新建一个 { var member = new Member() { Email = $"{customerPhone.Phone}@phone", Password = CommonUtil.CreateNoncestr(8), Status = MemberStatus.正常, Truename = customerPhone.Phone, LastLoginTime = DateTime.Now, RegTime = DateTime.Now }; memberDb.AddToMember(member); var memberPhone = new MemberPhone() { Member = member, Phone = customerPhone.Phone, State = MemberPhoneState.已绑定 }; memberDb.Add <MemberPhone>(memberPhone); memberDb.SaveChanges(); memberId = member.Id; } jwt.MemberId = memberId; wechatCoreDb.SaveChanges(); }
public APIResult BindCustomerPhoneByWxopenPhone([FromBody] BindCustomerPhoneByWxopenPhoneArgsModel argsModel) { var jwtFlag = User.Identity.Name; if (string.IsNullOrEmpty(argsModel.EncryptedData)) { throw new ArgumentNullException("encryptedData"); } var jwt = wechatCoreDb.GetSingleMemberLogin(jwtFlag); if (jwt == null) { throw new Exception("未找到登陆纪录"); } var session_key = jwt.GetloginSettingValue <string>("sessionKey"); var openId = jwt.GetloginSettingValue <string>("openId"); var json = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.DecodeEncryptedData(session_key, argsModel.EncryptedData, argsModel.Iv); //_logger.LogInformation(json); var args = Newtonsoft.Json.JsonConvert.DeserializeObject <Senparc.Weixin.WxOpen.Entities.DecodedPhoneNumber>(json); var customerPhone = wechatCoreDb.Query <CustomerPhone>() .Where(m => !m.IsDel) .Where(m => m.Status == CustomerPhoneStatus.已绑定 && m.OpenId == openId) .FirstOrDefault(); if (customerPhone == null) { customerPhone = new CustomerPhone() { OpenId = openId, Phone = args.phoneNumber, Status = CustomerPhoneStatus.已绑定 }; wechatCoreDb.Add <CustomerPhone>(customerPhone); wechatCoreDb.SaveChanges(); } //var email = $"{customerPhone.Phone}@phone"; //var member = memberDb.Query<Member>() // .Where(m => !m.IsDel) // .Where(m => m.Email == email) // .FirstOrDefault(); //if (member == null) //{ // member = new Member() // { // Email = email, // Password = CommonUtil.CreateNoncestr(8), // Status = MemberStatus.正常, // Truename = customerPhone.Phone, // LastLoginTime = DateTime.Now, // RegTime = DateTime.Now // }; // memberDb.AddToMember(member); // memberDb.SaveChanges(); //} //改为使用MemberPhone var memberId = memberDb.GetMemberIdByMemberPhone(customerPhone.Phone); if (memberId <= 0)//说明没有手机绑定的会员,则新建一个 { var member = new Member() { Email = $"{customerPhone.Phone}@phone", Password = CommonUtil.CreateNoncestr(8), Status = MemberStatus.正常, Truename = customerPhone.Phone, LastLoginTime = DateTime.Now, RegTime = DateTime.Now }; memberDb.AddToMember(member); var memberPhone = new MemberPhone() { Member = member, Phone = customerPhone.Phone, State = MemberPhoneState.已绑定 }; memberDb.Add <MemberPhone>(memberPhone); memberDb.SaveChanges(); memberId = member.Id; } jwt.MemberId = memberId; wechatCoreDb.SaveChanges(); return(Success()); }