Here is My code snippet for retrieving the camera info and saving to SQL;
"
static public void CheckCameraChildren(Item parent)
{
List<Item> itemsOnNextLevel = parent.GetChildren(); // This causes the configuration Items to be loaded.
if (itemsOnNextLevel != null)
{
foreach (Item item in itemsOnNextLevel)
{
if(item.FQID.FolderType== [FolderType.No](https://FolderType.No))
{
\_camera = item;
Console.WriteLine(\_camera.Name);
Console.WriteLine(\_camera.FQID.Kind);
Console.WriteLine(item.FQID.ToString());
using (DataClasses1DataContext dc = new DataClasses1DataContext())
{
MILESTONE\_DATA mILESTONE\_DATA = new MILESTONE\_DATA();
mILESTONE\_DATA.MILE\_SERVERNAME = \_camera.FQID.ServerId.ServerHostname;
mILESTONE\_DATA.MILE\_SERVER\_ID = \_camera.[FQID.ServerId.Id](https://FQID.ServerId.Id);
mILESTONE\_DATA.MILE\_SERVER\_HOSTNAME = \_camera.FQID.ServerId.ServerHostname;
mILESTONE\_DATA.MILE\_SERVER\_PORT = \_camera.FQID.ServerId.Serverport;
mILESTONE\_DATA.MILE\_SYSTEMTYPE = \_camera.FQID.ServerId.ServerType;
mILESTONE\_DATA.MILE\_PARENTID = \_camera.FQID.ParentId;
mILESTONE\_DATA.MILE\_FQID\_KIND = \_camera.FQID.Kind;
mILESTONE\_DATA.MILE\_FQID\_OBJECTID = \_camera.FQID.ObjectId;
mILESTONE\_DATA.MILE\_FQID\_FOLDERTYPE = \_camera.FQID.FolderType.ToString();
mILESTONE\_DATA.MILE\_CAMERANAME = \_camera.Name;
mILESTONE\_DATA.MILE\_CAMERAFQID = \_camera.FQID.ToString();
dc.MILESTONE\_DATAs.InsertOnSubmit(mILESTONE\_DATA);
dc.SubmitChanges();
}
}
CheckCameraChildren(item);
}
}
}
"
And Here is how I retrieve from SQL and try send the message;
"
// Test Send Message
public static void SendCommandToMilestone()
{
using (DataClasses1DataContext dc=new DataClasses1DataContext())
{
var qry = from a in dc.GetTable<MILESTONE\_DATA>()
where a.MILE\_SERVERNAME!=null
select a;
foreach (var item1 in qry)
{
if (!string.IsNullOrEmpty(item1.MILE\_SERVERNAME))
{
Guid \_serverGuid = new Guid(item1.MILE\_SERVER\_ID.ToString());
Guid \_parentIDGUID = new Guid(item1.MILE\_PARENTID.ToString());
Guid \_objectIDGUID = new Guid(item1.MILE\_FQID\_OBJECTID.ToString());
Guid \_kind = new Guid(item1.MILE\_FQID\_KIND.ToString());
VideoOS.Platform.ServerId serverId = new ServerId(item1.MILE\_SYSTEMTYPE, item1.MILE\_SERVER\_HOSTNAME, 7563, \_serverGuid);
\_itemCamera = new Item(serverId, \_parentIDGUID, \_objectIDGUID, item1.MILE\_CAMERANAME, [FolderType.No](https://FolderType.No), \_kind);
EnvironmentManager.Instance.PostMessage(new VideoOS.Platform.Messaging.Message(MessageId.Control.StartRecordingCommand), \_itemCamera.FQID);
Console.WriteLine("Server Type ->{0}", serverId.ServerType);
Console.WriteLine("Server id ->{0}", [serverId.Id](https://serverId.Id));
Console.WriteLine("Parent ID ->{0}", \_parentIDGUID);
Console.WriteLine("Object ID ->{0}", \_objectIDGUID);
Console.WriteLine("Name ->{0}", item1.MILE\_CAMERANAME);
Console.WriteLine("Folder Type From SQL and FolderType ->{0} {1}", item1.MILE\_FQID\_FOLDERTYPE, [FolderType.No](https://FolderType.No));
Console.WriteLine("Kind ->{0}", \_kind);
Console.WriteLine("Item FQID ->{0}", \_itemCamera.FQID.ToString());
Console.WriteLine(\_itemCamera.ToString());
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine(\_camera.ToString());
Console.WriteLine("Cam FQID ->{0}", \_camera.FQID.ToString());
Console.ResetColor();
}
}
}
}
"