Beispiel #1
0
        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);
            }
        }