Genesys CTI User Forum

Genesys CTI User Forum => Genesys-related Development => Topic started by: Foxh0und on September 24, 2019, 11:15:35 PM

Title: Genesys PSDK (Java) Cannot Update Agent Login After Call Work Time and Annex Tab
Post by: Foxh0und on September 24, 2019, 11:15:35 PM
Hi All,

I have zero issue creating an Agent Login. I add my own custom Annex Options (User Properties) and then it adds in after-call work no problem.

[code]
CfgAgentLogin lNewAgentLogin = new CfgAgentLogin( aConfService );
lNewAgentLogin.setFolderId( id );
lNewAgentLogin.setSwitchDBID(id );
lNewAgentLogin.setTenantDBID( id );
lNewAgentLogin.setUserProperties( myCustomProperties );
CfgAgentLoginInfo lNewAgentLoginInfo = new CfgAgentLoginInfo( aConfService, lNewAgentLogin );
lNewAgentLoginInfo.setWrapupTime( aACW );
lNewAgentLogin.save();
[/code]

As I said, this works fine. However, when I go to update the ACW Or the annex options, it breaks.

[code]
CfgAgentLogin lAgentLogin = aAgentLoginInfo.getAgentLogin();
lAgentLogin.setUserProperties( mycustomannex );
aAgentLoginInfo.setWrapupTime( aWrapUpTime );
lAgentLogin.save();
[/code]

Even when creating an a new login info, almost identical to the above, it still doesn't work.
[code]
CfgAgentLogin lAgentLogin = aAgentLoginInfo.getAgentLogin();
lAgentLogin.setUserProperties( myCustomAnnex );
CfgAgentLoginInfo lNewAgentLoginInfo = new CfgAgentLoginInfo(aConfService, lAgentLogin );
lNewAgentLoginInfo.setWrapupTime( aACW );
lAgentLogin.save();
[/code]

Before I ask Genesys or put in a bug request, has anyone encountered anything like this


Cheers,
Fox
Title: Re: Genesys PSDK (Java) Cannot Update Agent Login After Call Work Time and Annex Tab
Post by: PeteHoyle on September 26, 2019, 08:58:38 AM
Hi,

Try calling the save method of the Person object where you get the AgentLoginInfo from:

[code]      private void updateAgentLogin(IConfService confService)
        {
            CfgPersonQuery query = new CfgPersonQuery();
            query.UserName = "TestPerson";
            CfgPerson person = confService.RetrieveObject<CfgPerson>(query);
            if (person == null)
            {
                return;
            }
            foreach (CfgAgentLoginInfo agentLoginInfo in person.AgentInfo.AgentLogins)
            {
                agentLoginInfo.WrapupTime = 300;
            }
            person.Save();
        }[/code]