Пример #1
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            ConfigurationManager  manager = ConfigurationManager.GetInstance(Session);
            UserConfigurationList userConfigurationList = new UserConfigurationList(manager);
            var querySettings = userConfigurationList.CreateQuerySettings();

            if (UserId != null)
            {
                querySettings.SetFilterDefinition(UserConfiguration.Property.Id, UserId, FilterMatchType.Exact);
                querySettings.SetPropertiesToRetrieveToAll();
                userConfigurationList.StartCaching(querySettings);

                foreach (var user in userConfigurationList.GetConfigurationList())
                {
                    WriteObject(user, true);
                }
            }
            if (DisplayName != null)
            {
                querySettings.SetFilterDefinition(UserConfiguration.Property.DisplayName, DisplayName, FilterMatchType.Contains);
                querySettings.SetPropertiesToRetrieveToAll();
                querySettings.SetRightsFilterToAdmin();
                userConfigurationList.StartCaching(querySettings);

                foreach (var user in userConfigurationList.GetConfigurationList())
                {
                    WriteObject(user, true);
                }
            }

            userConfigurationList.StopCaching();
        }
Пример #2
0
        private void StartWatchingUsers()
        {
            //_logging.LogNote("StartWatchingUsers");
            try
            {
                if (_configurationManager != null && _configurationManager.Session != null && _configurationManager.Session.ConnectionState == ConnectionState.Up)
                {
                    _userConfigurationList = new UserConfigurationList(_configurationManager);
                    var querySettings = _userConfigurationList.CreateQuerySettings();
                    querySettings.SetResultCountLimit(QueryResultLimit.Unlimited);

                    var properties = new List <UserConfiguration.Property>
                    {
                        UserConfiguration.Property.Id,
                        UserConfiguration.Property.DisplayName,
                        UserConfiguration.Property.Utilizations,
                        UserConfiguration.Property.Skills,
                        UserConfiguration.Property.License_LicenseActive,
                        UserConfiguration.Property.License_HasClientAccess,
                        UserConfiguration.Property.License_MediaLevel,
                        UserConfiguration.Property.License_MediaTypes,
                        UserConfiguration.Property.Workgroups
                    };

                    querySettings.SetPropertiesToRetrieve(properties);
                    using (var repository = Repository)
                    {
                        if (!repository.Agents.Any())
                        {
                            _userConfigurationList.StartCaching(querySettings);
                            var users = _userConfigurationList.GetConfigurationList();
                            _userConfigurationList.StopCaching();
                            if (users.Any())
                            {
                                foreach (var userConfiguration in users)
                                {
                                    CreateAgent(userConfiguration);
                                }
                                _users = users;
                            }
                        }
                    }

                    _userConfigurationList.ConfigurationObjectsRemoved += Users_ConfigurationObjectsRemoved;

                    _userConfigurationList.ConfigurationObjectsChanged += Users_ConfigurationObjectsChanged;

                    _userConfigurationList.StartWatchingAsync(querySettings, Users_StartOrRefreshWatchingCompleted, null);
                }
            }
            catch (Exception e)
            {
                _logging.LogException(e);
                _logging.TraceException(e, "AgentConfigurations Error");
            }
        }
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            if ((UserId != null) && (EmailAddress != null) && (MailboxType != null))
            {
                base.ProcessRecord();

                ConfigurationManager  manager = ConfigurationManager.GetInstance(Session);
                UserConfigurationList userConfigurationList = new UserConfigurationList(manager);

                //find the User by ID
                var querySettings = userConfigurationList.CreateQuerySettings();
                querySettings.SetFilterDefinition(UserConfiguration.Property.Id, UserId, FilterMatchType.Exact);
                querySettings.SetRightsFilterToAdmin();
                userConfigurationList.StartCaching(querySettings);

                if (userConfigurationList.GetConfigurationList().Count > 0)
                {
                    var user = userConfigurationList.GetConfigurationList()[0];
                    user.PrepareForEdit();

                    //define Exchange mailbox
                    if ((!String.IsNullOrEmpty(EmailAddress)) && (MailboxType.ToLower() == "exchange"))
                    {
                        //extract Domain Name from email address
                        string[] stringAtSeperator     = new string[] { "@" };
                        string[] stringDotSeperator    = new string[] { "." };
                        string[] domainNameAndTLDArray = EmailAddress.Split(stringAtSeperator, StringSplitOptions.None);
                        string[] domainNameArray       = domainNameAndTLDArray[1].Split(stringDotSeperator, StringSplitOptions.None);

                        //define mailbox configuration
                        string mailboxDisplayName      = user.PersonalInformation.GivenName.Value + " " + user.PersonalInformation.Surname.Value;
                        string mailboxDirectoryEntry   = "x-inin-mail.ex.ews.directory:/d=" + domainNameArray[0] + "." + domainNameArray[1] + "/e=" + EmailAddress;
                        string mailboxMessageDelivery  = EmailAddress;
                        string mailboxMessageRetrieval = "x-inin-mail.ex.ews.store:/s=" + EmailAddress;

                        //apply mailbox configuration to the specified user id
                        GenericProviderMailboxSettings mailboxSetting = new GenericProviderMailboxSettings(mailboxDisplayName, mailboxDirectoryEntry, mailboxMessageDelivery, mailboxMessageRetrieval);
                        user.Mailbox.ApplyMailboxSettings(mailboxSetting);
                    }

                    user.Commit();
                }
            }
        }
Пример #4
0
        public static Agent find(string id, List<UserConfiguration.Property> properties = null)
        {
            var query = new UserConfigurationList(ConfigurationManager.GetInstance(Application.ICSession));
            var query_settings = query.CreateQuerySettings();

            query_settings.SetFilterDefinition(UserConfiguration.Property.Id, id, FilterMatchType.Exact);
            query_settings.SetRightsFilterToView();
            query_settings.SetPropertiesToRetrieve((properties ?? DefaultProperties).Union(MandatoryProperties));
            query.StartCaching(query_settings);
            var results = query.GetConfigurationList();
            query.StopCaching();

            if (results.Count() == 0) throw new KeyNotFoundException(id);
            if (results.Count()  > 1) throw new IndexOutOfRangeException(id);

            return new Agent(results.First());
        }
Пример #5
0
        public static Agent find(string id, List <UserConfiguration.Property> properties = null)
        {
            var query          = new UserConfigurationList(ConfigurationManager.GetInstance(Application.ICSession));
            var query_settings = query.CreateQuerySettings();

            query_settings.SetFilterDefinition(UserConfiguration.Property.Id, id, FilterMatchType.Exact);
            query_settings.SetRightsFilterToView();
            query_settings.SetPropertiesToRetrieve((properties ?? DefaultProperties).Union(MandatoryProperties));
            query.StartCaching(query_settings);
            var results = query.GetConfigurationList();

            query.StopCaching();

            if (results.Count() == 0)
            {
                throw new KeyNotFoundException(id);
            }
            if (results.Count() > 1)
            {
                throw new IndexOutOfRangeException(id);
            }

            return(new Agent(results.First()));
        }
Пример #6
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            if (UserId != null)
            {
                ConfigurationManager  manager = ConfigurationManager.GetInstance(Session);
                UserConfigurationList userConfigurationList = new UserConfigurationList(manager);
                var querySettings = userConfigurationList.CreateQuerySettings();

                querySettings.SetFilterDefinition(UserConfiguration.Property.Id, UserId, FilterMatchType.Exact);
                querySettings.SetRightsFilterToAdmin();

                userConfigurationList.StartCaching(querySettings);

                if (userConfigurationList.GetConfigurationList().Count > 0)
                {
                    var user = userConfigurationList.GetConfigurationList()[0];
                    user.PrepareForEdit();

                    #region define User Properties
                    //define first and last name for user profile
                    if (!String.IsNullOrEmpty(GivenName))
                    {
                        user.PersonalInformation.GivenName.Value = GivenName;
                    }
                    if (!String.IsNullOrEmpty(Surname))
                    {
                        user.PersonalInformation.Surname.Value = Surname;
                    }

                    //define NT Username
                    if (!String.IsNullOrEmpty(UserId))
                    {
                        user.NtDomainUser.Value = (NTDomainName);
                    }

                    //define extension
                    if (!String.IsNullOrEmpty(Extension))
                    {
                        user.Extension.Value   = Extension;
                        user.OutboundAni.Value = OutbandANI;
                    }

                    //define outband ani
                    if (!String.IsNullOrEmpty(OutbandANI))
                    {
                        user.OutboundAni.Value = OutbandANI;
                    }

                    //define default workstation
                    if (!String.IsNullOrEmpty(DefaultWorkstation))
                    {
                        user.DefaultWorkstation.Value = new ConfigurationId(DefaultWorkstation);
                    }

                    //define Department name
                    if (!String.IsNullOrEmpty(Department))
                    {
                        user.PersonalInformation.DepartmentName.Value = Department;
                    }

                    //define Job Title
                    if (!String.IsNullOrEmpty(JobTitle))
                    {
                        user.PersonalInformation.Title.Value = JobTitle;
                    }

                    //define fax capability
                    if (!String.IsNullOrEmpty(FaxCapability))
                    {
                        if (FaxCapability.ToLower() == "enable")
                        {
                            user.FaxCapability.Value = true;
                        }
                        //define fax capability
                        if (FaxCapability.ToLower() == "disable")
                        {
                            user.FaxCapability.Value = false;
                        }
                    }
                    #endregion

                    user.Commit();
                }

                userConfigurationList.StopCaching();
            }
        }
Пример #7
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            if (UserId != null)
            {
                ConfigurationManager  manager = ConfigurationManager.GetInstance(Session);
                UserConfigurationList userConfigurationList = new UserConfigurationList(manager);
                var querySettings = userConfigurationList.CreateQuerySettings();

                querySettings.SetFilterDefinition(UserConfiguration.Property.Id, UserId, FilterMatchType.Exact);
                querySettings.SetRightsFilterToAdmin();
                querySettings.SetPropertiesToRetrieve(
                    new[] {
                    UserConfiguration.Property.License_HasClientAccess,
                    UserConfiguration.Property.License_AdditionalLicenses,
                    UserConfiguration.Property.License_MediaLevel
                });

                userConfigurationList.StartCaching(querySettings);

                if (userConfigurationList.GetConfigurationList().Count > 0)
                {
                    var user = userConfigurationList.GetConfigurationList()[0];
                    user.PrepareForEdit();

                    #region define User Licensing
                    if (Licenses != null)
                    {
                        foreach (string license in Licenses)
                        {
                            try
                            {
                                if (license.ToLower() == "client")
                                {
                                    if (user.License.HasClientAccess.Value == true)
                                    {
                                        WriteWarning("User is already assigned client access license.");
                                    }
                                    else
                                    {
                                        user.License.HasClientAccess.Value = true;
                                    }
                                }
                                if (license.ToLower() == "accessanalyzer")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_ANALYZER")))
                                    {
                                        WriteWarning("User already has an Access Analyzer license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_ANALYZER"));
                                    }
                                }
                                if (license.ToLower() == "accesstracker")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_TRACKER")))
                                    {
                                        WriteWarning("User already has an Access Tracker license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_TRACKER"));
                                    }
                                }
                                if (license.ToLower() == "interactionscripter")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_INTERACTION_SCRIPTER_ADDON")))
                                    {
                                        WriteWarning("User already has an Interaction Scripter license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_INTERACTION_SCRIPTER_ADDON"));
                                    }
                                }
                                if (license.ToLower() == "ipadsupervisor")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_IPAD_USER_SUPERVISOR")))
                                    {
                                        WriteWarning("User already has an iPad Supervisor license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_IPAD_USER_SUPERVISOR"));
                                    }
                                }
                                if (license.ToLower() == "historicalreportsupervisor")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_HISTORICAL_REPORT_SUPERVISOR_PLUGIN")))
                                    {
                                        WriteWarning("User already has a Historical Report Supervisor license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_HISTORICAL_REPORT_SUPERVISOR_PLUGIN"));
                                    }
                                }
                                if (license.ToLower() == "dialersupervisor")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_DIALER_SUPERVISOR_PLUGIN")))
                                    {
                                        WriteWarning("User already has a Dialer Supervisor license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_DIALER_SUPERVISOR_PLUGIN"));
                                    }
                                }
                                if (license.ToLower() == "recorderaccess")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_RECORDER")))
                                    {
                                        WriteWarning("User already has a Recorder Access license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_RECORDER"));
                                    }
                                }
                                if (license.ToLower() == "recorderclient")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_RECORDER_CLIENT")))
                                    {
                                        WriteWarning("User already has a Recorde Client license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_RECORDER_CLIENT"));
                                    }
                                }
                                if (license.ToLower() == "reportassistantsupervisor")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_REPORT_ASSISTANT_SUPERVISOR_PLUGIN")))
                                    {
                                        WriteWarning("User already has a Report Assistant Supervisor license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_REPORT_ASSISTANT_SUPERVISOR_PLUGIN"));
                                    }
                                }
                                if (license.ToLower() == "systemstatussupervisor")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_SYSTEM_STATUS_SUPERVISOR_PLUGIN")))
                                    {
                                        WriteWarning("User already has a Access System Status Supervisor license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_SYSTEM_STATUS_SUPERVISOR_PLUGIN"));
                                    }
                                }
                                if (license.ToLower() == "workgroupsupervisor")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_ACCESS_WORKGROUP_SUPERVISOR_PLUGIN")))
                                    {
                                        WriteWarning("User already has a Workgroup Supervisor license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_ACCESS_WORKGROUP_SUPERVISOR_PLUGIN"));
                                    }
                                }
                                if (license.ToLower() == "salesforcebusinessuser")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_LICENSE_SALESFORCE_BUSINESSUSER")))
                                    {
                                        WriteWarning("User already has a Salesforce Business User license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_LICENSE_SALESFORCE_BUSINESSUSER"));
                                    }
                                }
                                if (license.ToLower() == "salesforcestandarduser")
                                {
                                    if (user.License.AdditionalLicenses.Value.Contains(new ConfigurationId("I3_LICENSE_SALESFORCE")))
                                    {
                                        WriteWarning("User already has a Salesforce Standard User license");
                                    }
                                    else
                                    {
                                        user.License.AdditionalLicenses.Value.Add(new ConfigurationId("I3_LICENSE_SALESFORCE"));
                                    }
                                }
                            }
                            catch (InvalidOperationException ex)
                            {
                                WriteError(new ErrorRecord(
                                               ex,
                                               "License of" + license + "Could not be Assigned",
                                               ErrorCategory.InvalidOperation,
                                               license));
                                continue;
                            }
                        }

                        //apply licenses
                        user.License.LicenseActive.Value = true;
                    }

                    if (ACDLevel != null)
                    {
                        if (ACDLevel == "Media1")
                        {
                            if (user.License.MediaLevel.Value == MediaLevel.Media1)
                            {
                                WriteWarning("User is already assigned ACD Level Media 1");
                            }
                            else
                            {
                                user.License.MediaLevel.Value    = MediaLevel.Media1;
                                user.License.LicenseActive.Value = true;
                            }
                        }
                        if (ACDLevel == "Media2")
                        {
                            if (user.License.MediaLevel.Value == MediaLevel.Media2)
                            {
                                WriteWarning("User is already assigned ACD Level Media 2");
                            }
                            else
                            {
                                user.License.MediaLevel.Value    = MediaLevel.Media2;
                                user.License.LicenseActive.Value = true;
                            }
                        }
                        if (ACDLevel == "Media3")
                        {
                            if (user.License.MediaLevel.Value == MediaLevel.Media3)
                            {
                                WriteWarning("User is already assigned ACD Level Media 3");
                            }
                            else
                            {
                                user.License.MediaLevel.Value    = MediaLevel.Media3;
                                user.License.LicenseActive.Value = true;
                            }
                        }
                    }
                    #endregion

                    user.Commit();
                }

                userConfigurationList.StopCaching();
            }
        }
        private void DataFetcherOnDoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                Context.Send(s =>
                {
                    // Save current settings
                    ConfigManager.Save(ConfigData);

                    // Get everything ready
                    StatusText = "Fetching users...";
                    Users.Clear();
                    TotalUsers    = 0;
                    MatchingUsers = 0;
                    FetchProgress = 0;
                }, null);

                // Stop caching
                if (_userConfigurationList.IsCaching)
                {
                    _userConfigurationList.StopCaching();
                }

                // Build query
                var query = _userConfigurationList.CreateQuerySettings();
                query.SetRightsFilterToAdmin();
                query.SetPropertiesToRetrieve(UserConfiguration.Property.Id, UserConfiguration.Property.NtDomainUser);

                // Get results
                _userConfigurationList.StartCaching(query);
                var users = _userConfigurationList.GetConfigurationList();

                // Update count
                Context.Send(s =>
                {
                    TotalUsers = users.Count;
                    StatusText = "Evaluating " + users.Count + " users...";
                }, null);

                // Make UI elements
                for (int i = 0; i < users.Count; i++)
                {
                    var user = users[i];

                    if (user.NtDomainUser.Value != null &&
                        user.NtDomainUser.Value.StartsWith(ConfigData.ExistingDomain + "\\",
                                                           StringComparison.InvariantCultureIgnoreCase))
                    {
                        Context.Send(s =>
                        {
                            try
                            {
                                var newUser         = new UserViewModel(user);
                                newUser.NewDomainId = ConfigData.NewDomain +
                                                      newUser.OldDomainId.Substring(ConfigData.ExistingDomain.Length);
                                Users.Add(newUser);

                                // Update count
                                MatchingUsers = Users.Count;
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace, "Error",
                                                MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                        }, null);
                    }

                    // Update progress
                    Context.Send(s => FetchProgress = (int)(((double)i / (double)users.Count) * 100), null);
                }

                Context.Send(s => StatusText = "Fetch complete.", null);

                // Run processor?
                if (e.Argument != null &&
                    e.Argument.ToString().Equals("process", StringComparison.InvariantCultureIgnoreCase))
                {
                    if (!_processor.IsBusy)
                    {
                        _processor.RunWorkerAsync();
                    }

                    return;
                }
                else
                {
                    _userConfigurationList.StopCaching();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Пример #9
0
        private void UpdateLicensing()
        {
            try
            {
                using (var repository = Repository)
                {
                    if (_configurationManager != null && _configurationManager.Session != null && _configurationManager.Session.ConnectionState == ConnectionState.Up)
                    {
                        var userConfigurationList = new UserConfigurationList(_configurationManager);
                        var agents = repository.Agents.Where(a => a.ActiveInWorkgroups.Any());
                        if (agents.Any())
                        {
                            var querySettings = userConfigurationList.CreateQuerySettings();
                            querySettings.SetResultCountLimit(QueryResultLimit.Unlimited);

                            var properties = new List <UserConfiguration.Property>
                            {
                                UserConfiguration.Property.Id,
                                UserConfiguration.Property.License_LicenseActive,
                                UserConfiguration.Property.License_HasClientAccess,
                                UserConfiguration.Property.License_MediaLevel,
                                UserConfiguration.Property.License_MediaTypes
                            };

                            querySettings.SetPropertiesToRetrieve(properties);

                            //var userFilterDefinitions = agents.Select(a => a.DisplayName).ToList().Select(agentName => new BasicFilterDefinition<UserConfiguration, UserConfiguration.Property>(UserConfiguration.Property.DisplayName, agentName, FilterMatchType.Contains)).Cast<FilterDefinition<UserConfiguration, UserConfiguration.Property>>().ToList();

                            //var agentConfigIds = agents.Select(a => a.ConfigId).ToList();

                            //var userFilterDefinitions = new List<FilterDefinition<UserConfiguration, UserConfiguration.Property>>();
                            //foreach (var agentConfigId in agentConfigIds)
                            //{
                            //    userFilterDefinitions.Add(new BasicFilterDefinition<UserConfiguration, UserConfiguration.Property>(UserConfiguration.Property.Id, agentConfigId, FilterMatchType.Exact));
                            //}

                            //querySettings.SetFilterDefinition(new GroupFilterDefinition<UserConfiguration, UserConfiguration.Property>(userFilterDefinitions));

                            userConfigurationList.StartCaching(querySettings);
                            var users = userConfigurationList.GetConfigurationList();
                            userConfigurationList.StopCaching();
                            foreach (var userConfiguration in users)
                            {
                                var hasClientAccess   = userConfiguration.License.HasClientAccess.Value && userConfiguration.License.LicenseActive.Value;
                                var licenseMediaLevel = userConfiguration.License.MediaLevel.Value;
                                var mediaLevel        = licenseMediaLevel == MediaLevel.Media1 ? 1 : licenseMediaLevel == MediaLevel.Media2 ? 2 : licenseMediaLevel == MediaLevel.Media3 ? 3 : 0;
                                var mediaTypes        = userConfiguration.License.MediaTypes.Value;
                                var isLicensedForChat = mediaTypes.Contains(MediaType.Chat);
                                var user = repository.Agents.FirstOrDefault(a => a.ConfigId == userConfiguration.ConfigurationId.Id);
                                if (user != null)
                                {
                                    if (user.HasActiveClientLicense != hasClientAccess || user.IsLicensedForChat != isLicensedForChat || user.MediaLevel != mediaLevel)
                                    {
                                        user.HasActiveClientLicense = hasClientAccess;
                                        user.MediaLevel             = mediaLevel;
                                        user.IsLicensedForChat      = isLicensedForChat;
                                        repository.SaveChanges();
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                _logging.TraceException(e, "AgentLicenseConfigurations Error");
            }
        }