// WTM默认页面 Wtm buidin page using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using Microsoft.EntityFrameworkCore; using WalkingTec.Mvvm.Core; using WalkingTec.Mvvm.Core.Extensions; namespace WalkingTec.Mvvm.Mvc.Admin.ViewModels.FrameworkUserVms { public class FrameworkUserBatchVM : BaseBatchVM { public FrameworkUserBatchVM() { ListVM = new FrameworkUserListVM(); LinkedVM = new FrameworkUser_BatchEdit(); } public override bool DoBatchEdit() { var entityList = DC.Set().AsNoTracking().CheckIDs(Ids.ToList()).ToList(); foreach (var entity in entityList) { List todelete = new List(); todelete.AddRange(DC.Set().AsNoTracking().Where(x => x.UserCode == entity.ITCode).Select(x => x.ID)); foreach (var item in todelete) { DC.DeleteEntity(new FrameworkUserRole { ID = item }); } if (LinkedVM.SelectedRolesCodes != null) { foreach (var rolecode in LinkedVM.SelectedRolesCodes) { FrameworkUserRole r = new FrameworkUserRole { RoleCode = rolecode, UserCode = entity.ITCode }; DC.AddEntity(r); } } } return base.DoBatchEdit(); } } public class FrameworkUser_BatchEdit : BaseVM { [Display(Name = "_Admin.Role")] public List SelectedRolesCodes { get; set; } public List AllRoles { get; set; } protected override void InitVM() { AllRoles = DC.Set().GetSelectListItems(Wtm, y => y.RoleName, y => y.RoleCode); } } }