async public Task <ApiResult> _Edit([FromForm] int PersonId, [FromForm] string Username, [FromForm] string Password, [FromForm] DateTime LoginTime, [FromForm] string LoginIp, [FromForm] AuthUserStatus Status, [FromForm] bool IsAdmin, [FromForm] int Id, [FromForm] DateTime CreateTime, [FromForm] DateTime UpdateTime, [FromForm] bool IsDeleted, [FromForm] int Sort, [FromForm] int[] mn_Roles_Id) { var item = new AuthUser(); item.Id = Id; using (var ctx = fsql.CreateDbContext()) { ctx.Attach(item); item.PersonId = PersonId; item.Username = Username; item.Password = Password; item.LoginTime = LoginTime; item.LoginIp = LoginIp; item.Status = Status; item.IsAdmin = IsAdmin; item.CreateTime = CreateTime; item.UpdateTime = UpdateTime; item.IsDeleted = IsDeleted; item.Sort = Sort; await ctx.UpdateAsync(item); //关联 AuthRole if (mn_Roles_Id != null) { var mn_Roles_Id_list = mn_Roles_Id.ToList(); var oldlist = ctx.Set <AuthRole.AuthRoleUser>().Where(a => a.UserId == item.Id).ToList(); foreach (var olditem in oldlist) { var idx = mn_Roles_Id_list.FindIndex(a => a == olditem.RoleId); if (idx == -1) { ctx.Remove(olditem); } else { mn_Roles_Id_list.RemoveAt(idx); } } var mn_Roles = mn_Roles_Id_list.Select((mn, idx) => new AuthRole.AuthRoleUser { RoleId = mn, UserId = item.Id }).ToArray(); await ctx.AddRangeAsync(mn_Roles); } var affrows = await ctx.SaveChangesAsync(); if (affrows > 0) { return(ApiResult.Success.SetMessage($"更新成功,影响行数:{affrows}")); } } return(ApiResult.Failed); }
async public Task <ApiResult> _Add([FromForm] int PersonId, [FromForm] string Username, [FromForm] string Password, [FromForm] DateTime LoginTime, [FromForm] string LoginIp, [FromForm] AuthUserStatus Status, [FromForm] bool IsAdmin, [FromForm] DateTime CreateTime, [FromForm] DateTime UpdateTime, [FromForm] bool IsDeleted, [FromForm] int Sort, [FromForm] int[] mn_Roles_Id) { var item = new AuthUser(); item.PersonId = PersonId; item.Username = Username; item.Password = Password; item.LoginTime = LoginTime; item.LoginIp = LoginIp; item.Status = Status; item.IsAdmin = IsAdmin; item.CreateTime = CreateTime; item.UpdateTime = UpdateTime; item.IsDeleted = IsDeleted; item.Sort = Sort; using (var ctx = fsql.CreateDbContext()) { await ctx.AddAsync(item); //关联 AuthRole var mn_Roles = mn_Roles_Id.Select((mn, idx) => new AuthRole.AuthRoleUser { RoleId = mn, UserId = item.Id }).ToArray(); await ctx.AddRangeAsync(mn_Roles); await ctx.SaveChangesAsync(); } return(ApiResult <object> .Success.SetData(item)); }