public override bool DoBatchDelete() { using (var trans = DC.BeginTransaction()) { var userorleids = DC.Set <FrameworkUserRole>().AsNoTracking().Where(y => DC.Set <FrameworkRole>().CheckIDs(Ids.ToList(), null).Select(x => x.RoleCode).Contains(y.RoleCode)).Select(x => x.ID); foreach (var item in userorleids) { FrameworkUserRole f = new FrameworkUserRole { ID = item }; DC.DeleteEntity(f); } DC.SaveChanges(); base.DoBatchDelete(); if (MSD.IsValid == true) { trans.Commit(); } else { trans.Rollback(); } } return(base.DoBatchDelete()); }
public override bool DoBatchEdit() { var entityList = DC.Set <FrameworkUser>().AsNoTracking().CheckIDs(Ids.ToList()).ToList(); foreach (var entity in entityList) { List <Guid> todelete = new List <Guid>(); todelete.AddRange(DC.Set <FrameworkUserRole>().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 override async Task <bool> DataInit(object allModules, bool IsSpa) { var state = await base.DataInit(allModules, IsSpa); bool emptydb = false; try { emptydb = Set <FrameworkUser>().Count() == 0 && Set <FrameworkUserRole>().Count() == 0; } catch { } if (state == true || emptydb == true) { //when state is true, means it's the first time EF create database, do data init here //当state是true的时候,表示这是第一次创建数据库,可以在这里进行数据初始化 var user = new FrameworkUser { ITCode = "admin", Password = Utils.GetMD5String("000000"), IsValid = true, Name = "Admin" }; var userrole = new FrameworkUserRole { UserCode = user.ITCode, RoleCode = "001" }; Set <FrameworkUser>().Add(user); Set <FrameworkUserRole>().Add(userrole); await SaveChangesAsync(); } return(state); }
public IActionResult Reg(SimpleReg regInfo) { var exist = DC.Set <FrameworkUser>().Any(x => x.ITCode.ToLower() == regInfo.ITCode.ToLower()); if (exist == true) { ModelState.AddModelError("ITCode", Localizer["Login.ItcodeDuplicate"]); return(BadRequest(ModelState.GetErrorJson())); } var hasuserrole = DC.Set <FrameworkRole>().Where(x => x.RoleCode == "002").FirstOrDefault(); FrameworkUser user = new FrameworkUser { ITCode = regInfo.ITCode, Name = regInfo.Name, Password = Utils.GetMD5String(regInfo.Password), IsValid = true, PhotoId = regInfo.PhotoId, }; if (hasuserrole != null) { var userrole = new FrameworkUserRole { UserCode = user.ITCode, RoleCode = "002" }; DC.Set <FrameworkUserRole>().Add(userrole); } DC.Set <FrameworkUser>().Add(user); DC.SaveChanges(); return(Ok()); }
public override async Task <bool> DataInit(object allModules, bool IsSpa) { var state = await base.DataInit(allModules, IsSpa); if (!state) { state = !Set <FrameworkUser>().Any(); } if (state) { var user = new FrameworkUser { ITCode = "admin", Password = Utils.GetMD5String("000000"), IsValid = true, Name = "Admin" }; var userrole = new FrameworkUserRole { User = user, Role = Set <FrameworkRole>().Where(x => x.RoleCode == "001").FirstOrDefault() }; Set <FrameworkUser>().Add(user); Set <FrameworkUserRole>().Add(userrole); await SaveChangesAsync(); } return(state); }
public override async Task DoAddAsync() { using (var trans = DC.BeginTransaction()) { if (SelectedRolesCodes != null) { foreach (var rolecode in SelectedRolesCodes) { FrameworkUserRole r = new FrameworkUserRole { RoleCode = rolecode, UserCode = Entity.ITCode }; DC.AddEntity(r); } } if (SelectedGroupCodes != null) { foreach (var groupcode in SelectedGroupCodes) { FrameworkUserGroup g = new FrameworkUserGroup { GroupCode = groupcode, UserCode = Entity.ITCode }; DC.AddEntity(g); } } Entity.IsValid = true; Entity.Password = Utils.GetMD5String(Entity.Password); await base.DoAddAsync(); if (MSD.IsValid) { trans.Commit(); } else { trans.Rollback(); } } }
public override async Task DoEditAsync(bool updateAllFields = false) { if (FC.ContainsKey("Entity.ITCode")) { FC.Remove("Entity.ITCode"); } using (var trans = DC.BeginTransaction()) { if (SelectedRolesCodes != null) { List <Guid> todelete = new List <Guid>(); todelete.AddRange(DC.Set <FrameworkUserRole>().AsNoTracking().Where(x => x.UserCode == Entity.ITCode).Select(x => x.ID)); foreach (var item in todelete) { DC.DeleteEntity(new FrameworkUserRole { ID = item }); } } if (SelectedGroupCodes != null) { List <Guid> todelete = new List <Guid>(); todelete.AddRange(DC.Set <FrameworkUserGroup>().AsNoTracking().Where(x => x.UserCode == Entity.ITCode).Select(x => x.ID)); foreach (var item in todelete) { DC.DeleteEntity(new FrameworkUserGroup { ID = item }); } } if (SelectedRolesCodes != null) { foreach (var rolecode in SelectedRolesCodes) { FrameworkUserRole r = new FrameworkUserRole { RoleCode = rolecode, UserCode = Entity.ITCode }; DC.AddEntity(r); } } if (SelectedGroupCodes != null) { foreach (var groupcode in SelectedGroupCodes) { FrameworkUserGroup g = new FrameworkUserGroup { GroupCode = groupcode, UserCode = Entity.ITCode }; DC.AddEntity(g); } } await base.DoEditAsync(updateAllFields); if (MSD.IsValid) { trans.Commit(); await Wtm.RemoveUserCache(Entity.ID.ToString()); } else { trans.Rollback(); } } }