public async Task <AjaxResult> EditUserAsync(User user) { string userid = _accessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; string uasername = _accessor.HttpContext.User.Identity.Name; if (string.IsNullOrWhiteSpace(user.Id)) { user.Id = Guid.NewGuid().ToString("N").ToUpper(); user.Create(userid, uasername); user.LoginPWD = SecurityUtils.EncryptMD5("123456"); UserRole[] userRoles = user.Roles.Select(t => new UserRole(user.Id, t) { CreatedBy = uasername, CreatedId = uasername }).ToArray(); var db = _dal.GetDatabase(); await db.UseDbTransactionAsync(async (conn, tran) => { await _dal.DeleteAsync <UserRole>("UserId", user.Id, tran); await _dal.AddAsync(userRoles, tran); await _dal.AddAsync(user, tran); }); return(Success("添加成功")); } else { user.Update(userid, uasername); user.LastLoginTime = DateTime.Now; UserRole[] userRoles = user.Roles.Select(t => new UserRole(user.Id, t) { CreatedBy = uasername, CreatedId = uasername, }).ToArray(); var db = _dal.GetDatabase(); await db.UseDbTransactionAsync(async (conn, tran) => { await _dal.DeleteAsync <UserRole>("UserId", user.Id, tran); await _dal.AddAsync(userRoles, tran); await _dal.EditAsync(user, new string[] { "LoginPWD" }, tran); }); return(Success("修改成功")); } }