private void UpdateKeysService()
{
List<GlobalKeysConfig> tempGlobalKeysConfig = new List<GlobalKeysConfig>();
// over all configured services
foreach (GlobalKeysConfig service in GlobalKeysConfig)
{
// Empty service
if (service.Id == ServicesConfig.ServiceEmpty || service.Id.Trim() == "")
{
var serviceCall = new GlobalKeysConfig(service.Id,
service.Key, service.Modifier1, service.Modifier2, service.Modifier3, service.Modifier4,
"", "");
tempGlobalKeysConfig.Add(serviceCall);
}
else
{
// over all possible services and scripts
bool foundValidEntry = false;
foreach (Service s in AllServices)
{
if (service.Id == s.Id)
{
if (s is ServiceCall)
{
ServiceCall sCall = s as ServiceCall;
var serviceCall = new GlobalKeysConfigService(service.Key, service.Modifier1, service.Modifier2,
service.Modifier3, service.Modifier4,
sCall.Help, sCall.Method, sCall.Id, sCall.Description, false);
tempGlobalKeysConfig.Add(serviceCall);
foundValidEntry = true;
break;
}
if (s is ServiceScript)
{
ServiceScript sScript = (ServiceScript) s;
var serviceScript = new GlobalKeysConfigScript(service.Key, service.Modifier1, service.Modifier2,
service.Modifier3, service.Modifier4,
sScript.Function, sScript.Description, sScript.Help);
tempGlobalKeysConfig.Add(serviceScript);
foundValidEntry = true;
break;
}
}
}
if (foundValidEntry == false)
{
var serviceCall = new GlobalKeysConfig(ServicesConfig.ServiceEmpty,
service.Key, service.Modifier1, service.Modifier2, service.Modifier3, service.Modifier4,
"", "");
tempGlobalKeysConfig.Add(serviceCall);
}
}
}
GlobalKeysConfig = tempGlobalKeysConfig;
}