public async Task <IActionResult> Register([Bind("UserName,UserPwd,ComfirmPwd")] MoRegisterUser loginUser) { if (ModelState.IsValid) { #region 验证 if (_context.ToUserInfo.Any(b => b.UserName.ToUpper() == loginUser.UserName.Trim().ToUpper())) { this.MsgBox("已经存在相同的账号!"); return(View(loginUser)); } #endregion #region 入库 ToUserInfo userInfo = new ToUserInfo(); userInfo.UserName = loginUser.UserName.Trim(); userInfo.UserPwd = PublicClass._Md5(loginUser.UserPwd.Trim()); userInfo.NickName = userInfo.UserName; userInfo.Status = (int)EnumHelper.EmUserStatus.启用; userInfo.CreateTime = DateTime.Now; userInfo.LevelNum = (int)EmLevelNum.注册; userInfo.Ips = this.GetUserIp(); userInfo.HeadPhoto = "/images/ailiutu_user.png"; userInfo.Sex = false; _context.Add(userInfo); var result = await _context.SaveChangesAsync(); if (result > 0) { var moUserInfo = new MoUserInfo { Id = userInfo.Id, UserName = userInfo.UserName, NickName = userInfo.NickName, Addr = userInfo.Addr, Birthday = userInfo.Birthday, Blog = userInfo.Blog, CreateTime = userInfo.CreateTime, Email = userInfo.Email, HeadPhoto = userInfo.HeadPhoto, Introduce = userInfo.Introduce, Ips = userInfo.Ips, LevelNum = userInfo.LevelNum, Sex = userInfo.Sex, Tel = userInfo.Tel, Status = userInfo.Status, LoginTime = DateTime.Now }; HttpContext.Session.Set <MoUserInfo>(HttpContext.Session.SessionKey(), moUserInfo); if (!string.IsNullOrWhiteSpace(moUserInfo.Ips)) { _context.ToUserLog.Add(new ToUserLog { CodeId = (int)EmLogCode.登录, CreateTime = DateTime.Now, Des = $"IP:{moUserInfo.Ips},登录时间:{moUserInfo.LoginTime.ToString("yyyy-MM-dd HH:mm")}", UserId = userInfo.Id }); } _context.ToUserLog.Add(new ToUserLog { CodeId = (int)EmLogCode.积分, CreateTime = DateTime.Now, Des = $"【注册】 +{(int)EmLevelNum.注册}", UserId = userInfo.Id }); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(HomeController.Index), "home")); } #endregion this.MsgBox("注册失败,请稍后重试。"); return(View(loginUser)); } return(View(loginUser)); }
public async Task <IActionResult> UpPhoto([Bind("ModuleId,Name,Des,Status")] ToContent content) { if (ModelState.IsValid) { var module = _db.ToModule.Where(b => b.Status == (int)EnumHelper.EmModuleStatus.启用 && b.Id == content.ModuleId).SingleOrDefault(); if (module == null) { return(BadRequest()); } ViewData["module"] = module; if (string.IsNullOrWhiteSpace(content.Name)) { this.MsgBox("描述名称必填!"); return(View(content)); } //图片 var files = Request.Form.Files.Where(b => b.Name == "myPhoto" && b.ContentType.Contains("image")).AsEnumerable(); var size = 1024 * 1024; var maxNum = 10; var maxSize = size * maxNum; var maxSingleNum = 4; var maxSingleSize = size * maxSingleNum; if (files == null) { this.MsgBox("请选择上传的图片!"); return(View(content)); } else if (files.Count() >= 11) { this.MsgBox("每次上传图片的数量不能超过10张!"); return(View(content)); } else if (files.Sum(b => b.Length) >= maxSize) { this.MsgBox($"每次上传图片的大小不能超过{maxNum}M!"); return(View(content)); } else if (files.Any(b => b.Length >= maxSingleSize)) { this.MsgBox($"单张图片的大小不能超过{maxSingleNum}M!"); return(View(content)); } //保存最小容量的一张 var i = 1; var file = files.OrderBy(b => b.Length).FirstOrDefault(); var fileExtend = file.FileName.Substring(file.FileName.LastIndexOf('.')); var fileNewName = $"{DateTime.Now.ToString("yyyyMMddHHmmssfff")}{i}{fileExtend}"; var path = Path.Combine(_selfSetting.UpContentPhotoPath, fileNewName); using (var stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { await file.CopyToAsync(stream); } //更新数据 content.MaxPic = $"{_selfSetting.ViewContentPhotoPath}/{fileNewName}"; content.UserId = _MyUserInfo.Id; content.CreateTime = DateTime.Now; _db.Add(content); //积分 _db.ToUserLog.Add(new ToUserLog { CodeId = (int)EmLogCode.积分, CreateTime = DateTime.Now, Des = $"【上传图片】 +{(int)EmLevelNum.上传图片}", UserId = _MyUserInfo.Id }); var dbUser = _db.ToUserInfo.SingleOrDefault(b => b.Id == _MyUserInfo.Id); dbUser.LevelNum += (int)EmLevelNum.图片; //第一张保存在文件表中 _db.ToContentFiles.Add(new ToContentFiles { ContentId = content.Id, MaxPic = content.MaxPic, MinPic = content.MinPic, ZanNum = content.ZanNum }); //保存其他图片到文件表中 foreach (var item in files.Where(b => b.FileName != file.FileName).Distinct()) { i++; var fileExtend01 = item.FileName.Substring(item.FileName.LastIndexOf('.')); var fileNewName01 = $"{DateTime.Now.ToString("yyyyMMddHHmmssfff")}{i}{fileExtend01}"; var path01 = Path.Combine(_selfSetting.UpContentPhotoPath, fileNewName01); using (var stream = new FileStream(path01, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { await item.CopyToAsync(stream); } _db.ToContentFiles.Add(new ToContentFiles { ContentId = content.Id, MaxPic = $"{_selfSetting.ViewContentPhotoPath}/{fileNewName01}", MinPic = null, ZanNum = 0 }); } var result = await _db.SaveChangesAsync(); if (result > 0) { return(RedirectToAction(nameof(UserCenterController.Module), "usercenter", new { id = $"{module.Id}-1" })); } else { this.MsgBox("保存失败,请稍后重试!"); } } return(View(content)); }