public static string SerializeService(ModuleService service)
{
Dictionary<string, Dictionary<string, string>> serviceFull = new Dictionary<string, Dictionary<string, string>>();
bool bLoop = true;
ModuleService serviceWorkingOn = service;
string serviceKey = "current";
while (bLoop)
{
Dictionary<string, string> serviceForSerialization = new Dictionary<string, string>();
//serviceForSerialization.Add("\"" + "serviceMetaData_InstanceId" + "\"", "\"" + serviceWorkingOn.InstanceId + "\"");
//serviceForSerialization.Add("\"" + "serviceMetaData_LogicalID" + "\"", "\"" + serviceWorkingOn.LogicalID + "\"");
//serviceForSerialization.Add("\"" + "serviceMetaData_Name" + "\"", "\"" + serviceWorkingOn.Name + "\"");
//serviceForSerialization.Add("\"" + "serviceMetaData_PhysicalID" + "\"", "\"" + serviceWorkingOn.PhysicalID + "\"");
//serviceForSerialization.Add("\"" + "serviceMetaData_ProvisioningId" + "\"", "\"" + serviceWorkingOn.ProvisioningId + "\"");
serviceForSerialization.Add("serviceMetaData_InstanceId", serviceWorkingOn.InstanceId);
serviceForSerialization.Add("serviceMetaData_LogicalID", serviceWorkingOn.LogicalID);
serviceForSerialization.Add("serviceMetaData_Name", serviceWorkingOn.Name);
serviceForSerialization.Add("serviceMetaData_PhysicalID", serviceWorkingOn.PhysicalID);
serviceForSerialization.Add("serviceMetaData_ProvisioningId", serviceWorkingOn.ProvisioningId);
foreach (ModuleServiceProperty prop in serviceWorkingOn.Properties)
{
if (prop.Value == null)
{
//serviceForSerialization.Add("\"" + prop.Name + "\"", "\"\"");
serviceForSerialization.Add(prop.Name, "");
}
else
{
//serviceForSerialization.Add("\"" + prop.Name + "\"", "\"" + prop.Value.Replace(" ", "_#_#_") + "\"");
//serviceForSerialization.Add(prop.Name, prop.Value.Replace(" ", "_#_#_"));
serviceForSerialization.Add(prop.Name, prop.Value);
}
}
//serviceFull.Add("\"" + serviceKey + "\"", serviceForSerialization);
serviceFull.Add(serviceKey, serviceForSerialization);
if (serviceWorkingOn.Parent == null)
{
bLoop = false;
}
else
{
serviceKey = serviceKey + ".parent";
serviceWorkingOn = serviceWorkingOn.Parent;
}
}
JavaScriptSerializer oSerializer = new JavaScriptSerializer();
string jsonSerializedFullService = oSerializer.Serialize(serviceFull);
//jsonSerializedFullService = jsonSerializedFullService.Replace(" ", "_#_#_");
return jsonSerializedFullService;
}