public async Task AsureResourceExistenceAsync(string userName) { var resSrvc = new KTA_ResourceServices.ResourceServiceClient(); string userFullNam = string.Empty; using (var context = new PrincipalContext(ContextType.Domain)) { var usr = UserPrincipal.FindByIdentity(context, userName); if (usr != null) { userFullNam = usr.DisplayName; } } var exist = await resSrvc.DoesResourceExistAsync(_config.KTA_SYSTEM_SESSION, new KTA_ResourceServices.ResourceIdentity() { Name = userFullNam }); if (!exist) { string email = userName.Substring(userName.LastIndexOf("\\") + 1) + _config.DomainEmail; KTA_ResourceServices.ResourceIdentity res = new KTA_ResourceServices.ResourceIdentity(); res.Name = userFullNam; WorkerResource workerRes = new WorkerResource(); workerRes.EmailAddress = email; workerRes.NTName = userName; workerRes.Identity = res; workerRes.Category = new KTA_ResourceServices.CategoryIdentity() { Name = "Default Category" }; workerRes.WorkingCategory = new KTA_ResourceServices.CategoryIdentity() { Name = "Default Category" }; workerRes.SkillLevelMin = 10; workerRes.SkillLevelMax = 1; workerRes.SecurityLevel = 1; await resSrvc.AddWorkerResourceAsync(_config.KTA_SYSTEM_SESSION, workerRes); await resSrvc.CloseAsync(); } }
public static void AsureResourceExistence(string userName) { string userFullNam = null; using (var context = new PrincipalContext(ContextType.Domain)) { var usr = UserPrincipal.FindByIdentity(context, userName); if (usr != null) { userFullNam = usr.DisplayName; } } if (!resSrvc.DoesResourceExistAsync(StaticClass.Configuration["KTASetting:KTA_SYSTEM_SESSION"], new KTA_ResourceServices.ResourceIdentity() { Name = userFullNam }).GetAwaiter().GetResult()) { string email = userName.Substring(userName.LastIndexOf("\\") + 1) + "@energy.gov.sa"; KTA_ResourceServices.ResourceIdentity res = new KTA_ResourceServices.ResourceIdentity(); res.Name = userFullNam; WorkerResource workerRes = new WorkerResource(); workerRes.EmailAddress = email; workerRes.NTName = userName; workerRes.Identity = res; workerRes.Category = new KTA_ResourceServices.CategoryIdentity() { Name = "Default Category" }; workerRes.WorkingCategory = new KTA_ResourceServices.CategoryIdentity() { Name = "Default Category" }; workerRes.SkillLevelMin = 10; workerRes.SkillLevelMax = 1; workerRes.SecurityLevel = 1; resSrvc.AddWorkerResourceAsync(StaticClass.Configuration["KTASetting:KTA_SYSTEM_SESSION"], workerRes); } }