public ActionResult Create(string userId) { Sidebar(); var model = new RegistrationCodeCreate() { OwnUser = userId, }; if (string.IsNullOrWhiteSpace(userId)) { var userlist = db.Users.Where(s => s.UserType == Enums.UserType.Proxy) .Select(s => new SelectListItem() { Text = s.UserName, Value = s.Id }).ToList(); ViewBag.UserList = userlist; } else { var user = db.Users.FirstOrDefault(s => s.Id == userId); model.Own = user; } return(View(model)); }
public ActionResult Transfer(string userId) { Sidebar(); var model = new RegistrationCodeCreate() { OwnUser = userId, }; var user = db.Users.FirstOrDefault(s => s.Id == userId); model.Own = user; if (!string.IsNullOrWhiteSpace(user.ParentUserID)) { var gCode = db.RegistrationCodes .Where(s => s.OwnUser == user.ParentUserID && !s.UseTime.HasValue && ((!s.ActiveEndDateTime.HasValue || s.ActiveEndDateTime > DateTime.Now) && (!s.UseEndDateTime.HasValue || s.UseEndDateTime > DateTime.Now))) .GroupBy(s => new { s.ActiveEndDateTime, s.UseEndDateTime }) .Select(s => new RegistrationCodeCountViewModel { ActiveEndDateTime = s.Key.ActiveEndDateTime, Max = s.Count(), UseEndDateTime = s.Key.UseEndDateTime }).ToList(); model.CodeCount = new List <RegistrationCodeCountViewModel>(); model.CodeCount.AddRange(gCode); } return(View(model)); }
public ActionResult Transfer(RegistrationCodeCreate model) { var user = db.Users.FirstOrDefault(s => s.Id == model.OwnUser); var checkCode = model.CodeCount.FirstOrDefault(s => s.Checked); var queryCode = db.RegistrationCodes .Where(s => s.OwnUser == user.ParentUserID && !s.UseTime.HasValue && s.ActiveEndDateTime == checkCode.ActiveEndDateTime && s.UseEndDateTime == checkCode.UseEndDateTime); if (model.Count < 1) { ModelState.AddModelError("Count", "数量不可小于1"); } if (!model.CodeCount?.Any(s => s.Checked) ?? false) { ModelState.AddModelError("CodeCount", "请选择批次"); } if (model.CodeCount != null) { var max = queryCode.Count(); if (model.Count > max) { ModelState.AddModelError("Count", $"数量已超过批次的最大值{max}"); } } if (ModelState.IsValid) { var list = queryCode.Take(model.Count).ToList(); foreach (var item in list) { item.OwnUser = model.OwnUser; } var tCount = db.SaveChanges(); if (this.GetReturnUrl() != null) { return(Redirect(this.GetReturnUrl())); } return(RedirectToAction("Child", "UserManage", new { id = user.ParentUserID })); } model.Own = user; return(View(model)); }
public ActionResult Create(RegistrationCodeCreate model, int length = 10) { var user = db.Users.FirstOrDefault(s => s.Id == model.OwnUser); if (model.Count < 1) { ModelState.AddModelError("Count", "数量不可小于1"); } if (string.IsNullOrWhiteSpace(model.OwnUser)) { ModelState.AddModelError("OwnUser", "请选择拥有用户"); } if (ModelState.IsValid) { var codelist = db.RegistrationCodes.Select(s => s.Code).ToList(); var list = new List <RegistrationCode>(); var creteDateTime = DateTime.Now; while (list.Count < model.Count) { var code = CreateCode(length); if (list.Where(s => s.Code == code).Count() <= 0) { if (!codelist.Contains(code)) { list.Add(new RegistrationCode() { Code = code, CreateTime = creteDateTime, CreateUser = UserID, OwnUser = model.OwnUser, ActiveEndDateTime = model.ActiveDateTime?.AddHours(24).AddSeconds(-1), UseEndDateTime = model.UseEndDateTime?.AddHours(24).AddSeconds(-1), }); } } } db.RegistrationCodes.AddRange(list); db.SaveChanges(); var codeLog = new RegistrationCodeLog { Count = list.Count, CreateDateTime = DateTime.Now, From = null, Remark = "", UserID = model.OwnUser, }; db.RegistrationCodeLogs.Add(codeLog); db.SaveChanges(); if (this.GetReturnUrl() != null) { return(Redirect(this.GetReturnUrl())); } return(RedirectToAction("Index", "UserManage", null)); } if (string.IsNullOrWhiteSpace(model.OwnUser)) { var userlist = db.Users.Where(s => s.UserType == Enums.UserType.Proxy) .Select(s => new SelectListItem() { Text = s.UserName, Value = s.Id }).ToList(); ViewBag.UserList = userlist; } else { model.Own = user; } return(View(model)); }