public ActionResult Edit(VM_RpCode_Form m) { if (ModelState.IsValid) { using (var db = new box_omsEntities()) { int?_Validity = null; int?_AuthUserCount = null; if (m.Validity != null) { if (!System.Text.RegularExpressions.Regex.IsMatch(m.Validity.ToString(), @"^(([1-9]\d*))$")) { ModelState.AddModelError("Validity", "请输入大于0的正整数!"); return(View(m)); } _Validity = Convert.ToInt32(m.Validity); } if (m.AuthUserCount != null) { if (!System.Text.RegularExpressions.Regex.IsMatch(m.AuthUserCount.ToString(), @"^(([1-9]\d*))$")) { ModelState.AddModelError("AuthUserCount", "请输入大于0的正整数!"); return(View(m)); } _AuthUserCount = Convert.ToInt32(m.AuthUserCount); } rp_cdkey rpc = db.rp_cdkey.Where(_ => _.Id == m.Id).FirstOrDefault(); rpc.EntId = m.EnteId; rpc.Validity = _Validity; rpc.AuthUserCount = _AuthUserCount; rpc.UseProv = m.Provinces; rpc.UseCity = m.Cityss; rpc.UseDist = m.Areass; rpc.Remark = m.Remark; rpc.UseSchool = m.UseSchool; //先删除然后重新添加 db.rp_cdkey_and_edition.RemoveRange(db.rp_cdkey_and_edition.Where(_ => _.CdKey == m.Id)); Bind(m.English, db, m.Id, 3); Bind(m.Math, db, m.Id, 2); Bind(m.Chinese, db, m.Id, 1); db.SaveChanges(); return(Json(new { success = true })); } } return(View(m)); }
public JsonData Post([FromBody] AM_RpKeyActivePost m) { string ip = ((System.Web.HttpContextWrapper)Request.Properties["MS_HttpContext"]).Request.UserHostAddress; string key = ""; using (var db = new box_omsEntities()) { rp_cdkey dbm = db.rp_cdkey.Where(_ => _.Id == m.id).FirstOrDefault(); if (dbm == null) { return(new JsonData { flag = JsonDataFlag.ValidFailed, msg = "无效的激活码!" }); } if (dbm.ActiveTime != null && dbm.ActiveMac != m.mac)//同一个激活码在同一台电脑上可以被无限激活(防止重装系统后原激活码无法使用) { return(new JsonData { flag = JsonDataFlag.ValidFailed, msg = "激活码已被使用!" }); } if (dbm.Validity == null) { dbm.ExpirTime = Convert.ToDateTime("2099-12-12"); } else { dbm.ExpirTime = DateTime.Now.AddMonths(Convert.ToInt32(dbm.Validity)); } key = OMS.Common.SecurityHelper.Encrypt(string.Format("{0}|{1}|{2}", m.id, ((DateTime)dbm.ExpirTime).ToString("yyyy-MM-dd"), m.mac), "a%k8h5.o"); dbm.ActiveTime = DateTime.Now; dbm.ActiveMac = m.mac; dbm.ActiveDisk = m.disk; dbm.ActiveIp = ip; dbm.ActiveCode = key; db.SaveChanges(); } return(new JsonData { flag = JsonDataFlag.Succeed, data = key }); }