public async Task <List <Image> > ImagesAsync(ImageRequestDTO dto) { var images = new List <Image>(); switch (dto.Type) { case EImageType.Creatures: images = await _context.Creatures.Where(x => dto.Keys.Contains(x.Id.ToString())).Select(x => new Image { Key = x.Id.ToString(), Base64 = x.Image }).ToListAsync(); break; case EImageType.CreatureSubmissions: images = await _context.CreatureSubmissions.Where(x => dto.Keys.Contains(x.Id.ToString())).Select(x => new Image { Key = x.Id.ToString(), Base64 = x.Image }).ToListAsync(); break; case EImageType.Account: foreach (var userName in dto.Keys) { var userInfo = ADUserInfo.GetByUserName(userName); var image = new Image { Base64 = userInfo.Image, Key = userName }; images.Add(image); } break; default: throw new System.Exception("'ImageRepository.ImagesAsync()': Invalid Image Type."); } return(images); }
/// <summary> /// 从导入AD导入 /// </summary> /// <param name="adPath"></param> /// <param name="adUser"></param> /// <param name="adPass"></param> /// <param name="adUserInfos"></param> private void ImportData(string adPath, string adUser, string adPass, ref List <Model.ADUserInfo> adUserInfos) { DirectoryEntry entryPC = new DirectoryEntry(adPath, adUser, adPass); string account = ""; object email = null; object displayName = null; foreach (DirectoryEntry child in entryPC.Children) { if (child.SchemaClassName.ToUpper() == "USER") { ADUserInfo adUserInfo = new ADUserInfo(); account = ConfigurationManager.AppSettings["Domain"] + @"\" + child.Properties["sAMAccountName"].Value.ToString(); adUserInfo.Account = account; email = child.Properties["mail"].Value; adUserInfo.Email = (email == null) ? "" : email.ToString(); displayName = child.Properties["displayName"].Value; adUserInfo.DisplayName = (displayName == null) ? account : displayName.ToString(); adUserInfos.Add(adUserInfo); } ImportData(child.Path, adUser, adPass, ref adUserInfos); } }
public ADUserInfo GetInformation(string userName) { var userInfo = ADUserInfo.GetByUserName(userName); return(userInfo); }