Thank you for your sample. Now I can create DN,Add Skill, Add DN Group
but I cannot create section on each DN and add key value on section. I ever
use this function
COMKVLISTLib.IKVList sections = (COMKVLISTLib.IKVList) objectToChange[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgApplication_options];
for create section or key value on Apllication. But for DN I have no idea about it. Please teach me about this. ???
I found solution for create new section and option value on DN object ("Annex Option"). For this code I load section data and option value from dataset then add this section into DN object.
MATool.ConnectToServer(server);
COMCFGMGRLib.ICfgQuery query = server.CreateQuery();
query.ObjectType = COMCFGMGRLib.enum_COMCfgObjectType.COMCFGDN;
object value;
value = txtDN.Text.Trim();
query.AddFilterValue(_CfgFilterType.FILTER_DN_NUMBER, ref value);
query.Execute(1, 0);
if (query.Count > 0)
{
ICfgObject objectToChange = (COMCFGMGRLib.ICfgObject)query[1];
COMKVLISTLib.IKVList sections = (COMKVLISTLib.IKVList)objectToChange[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgDN_userProperties];
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
COMKVLISTLib.IKVPair p = sections.CreatePair(TKVType.KVTypeList);
p.Key = ds.Tables[0].Rows[i].ItemArray[1].ToString();
DataView dv = new DataView();
dv = ds.Tables[1].DefaultView;
dv.RowFilter = "secId='" + ds.Tables[0].Rows[i].ItemArray[0].ToString() + "'";
if (dv.Count > 0)
{
for (int k = 0; k < dv.Count; k++)
{
object pvalue;
pvalue = dv[k][2];
p.ListValue.AddValue(dv[k][1].ToString(), pvalue);
}
}
sections.AddPair(p);
}
objectToChange[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgDN_userProperties] = sections;
objectToChange.Update();
}
server.Disconnect();
If you have any suggestion. Please tell me.
Thank you.
After I developed many solution on CME active X I found a problem about folder creating. I cannot create any folder under parent folder . Please suggest me. :o
Anyone successfully get a Add Person/Agent process going? I can add a person but I am stuck on addking skills and login ID’s to them. Any help would be great.
Dim server As New COMCFGMGRLib.COMCfgManager
server.Connect("MyHost", "2020", COMCFGMGRLib._CfgAppType.CFGSCE, "default", "default", "password")
'Create Person
Dim NewEmp As COMCFGMGRLib.ICfgObject = server.CreateObject(COMCFGMGRLib.enum_COMCfgObjectType.COMCFGPerson)
NewEmp(COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_firstName) = "Test"
NewEmp(COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_lastName) = "User"
NewEmp(COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_employeeID) = "1234"
NewEmp(COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_userName) = "4321"
NewEmp(COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_password) = "123456789"
'Define Agent Skills
Dim agSkills As COMCFGMGRLib.ICfgObject = server.CreateObject(COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_agentInfo_skillLevels)
Dim Skill As COMCFGMGRLib.ICfgObject = server.CreateObject(COMCFGMGRLib.enum_COMCfgObjectType.CFGLINKSkillLevel)
Skill(COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgSkillLevel_level) = 2
Skill(COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgSkillLevel_skillDBID) = 133
Skill.Create(server)
agSkills.
'Add Skills to agent
NewEmp(COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_agentInfo_skillLevels) = agSkills
NewEmp.Create(server)
server.Disconnect()
MsgBox("User Added!")
Ok I made it further. I can now add a agent as long as I know the DBID of the LoginID I am assiging to them. I have to figure out how to get that information now and this will be complete.
//Connect to Config Server
COMCFGMGRLib.COMCfgManager server = new COMCFGMGRLib.COMCfgManager();
server.Connect("myserver", "8888", COMCFGMGRLib._CfgAppType.CFGSCE, "default", "default", "password");
//Create New Person/Agent
COMCFGMGRLib.ICfgObject Emp = server.CreateObject(COMCFGMGRLib.enum_COMCfgObjectType.COMCFGPerson);
Emp[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_firstName] = "Test";
Emp[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_lastName] = "Test";
Emp[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_userName] = "1234";
Emp[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_employeeID] = "4321";
Emp[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_password] = "0123456789";
//Create Skill to Assign
COMCFGMGRLib.ICfgObject skill = server.CreateObject(COMCFGMGRLib.enum_COMCfgObjectType.CFGLINKSkillLevel);
skill[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgSkillLevel_level] = 2;
skill[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgSkillLevel_skillDBID] = 133;
skill.Create(server);
//Create Skills Object
COMCFGMGRLib.ICfgFolder agSkills = (COMCFGMGRLib.ICfgFolder)Emp[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_agentInfo_skillLevels];
agSkills.Add(skill);
//Attach Skills to Person
Emp[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_agentInfo_skillLevels] = agSkills;
//Create LoginID to assign
COMCFGMGRLib.ICfgObject LoginID = server.CreateObject(COMCFGMGRLib.enum_COMCfgObjectType.CFGLINKAgentLoginInfo);
LoginID[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgAgentLogin_DBID] = 104;
LoginID.Create(server);
//Create LoginIDs Object
COMCFGMGRLib.ICfgFolder agLoginIDs = (COMCFGMGRLib.ICfgFolder)Emp[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_agentInfo_agentLogins];
agLoginIDs.Add(LoginID);
//Attach LoginIDs to Person
Emp[COMCFGMGRLib.enum_CFG_PropertyID.PID_CfgPerson_agentInfo_agentLogins] = agLoginIDs;
//Add New Person
Emp.Create(server);
//Disconnect from ConfigServer
server.Disconnect();
MessageBox.Show("Employee Created!");