예제 #1
0
        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));
        }
예제 #2
0
        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
            });
        }