Пример #1
0
 private VideoStorageInfo TransferModel(CCTVHierarchyNode node, Dictionary <string, VideoStorageInfo> sInfos)
 {
     if (node != null)
     {
         VideoStorageInfo vsi = new VideoStorageInfo()
         {
             VideoId   = node.Id,
             VideoName = node.Name,
             Type      = node.Type.ToString(),
             StorageOn = false
         };
         sInfos[vsi.VideoId] = vsi;
         if (node.Children != null)
         {
             List <VideoStorageInfo> children = new List <VideoStorageInfo>();
             for (int i = 0; i < node.Children.Length; i++)
             {
                 VideoStorageInfo child = TransferModel(node.Children[i], sInfos);
                 if (child != null)
                 {
                     children.Add(child);
                 }
             }
             vsi.Children = children.ToArray();
         }
         return(vsi);
     }
     return(null);
 }
Пример #2
0
 private static void ShowResult(VideoStorageInfo vsi)
 {
     Console.WriteLine(vsi.VideoId + "_" + vsi.StorageOn + "_" + vsi.Type + "_" + vsi.VideoName);
     if (vsi.Children != null)
     {
         foreach (VideoStorageInfo child in vsi.Children)
         {
             ShowResult(child);
         }
     }
 }
Пример #3
0
        static void Main(string[] args)
        {
            HttpClient client      = new HttpClient();
            string     baseAddress = "http://127.0.0.1:12321/api/";
            var        response    = client.GetAsync(baseAddress + "nodes").Result;

            response.EnsureSuccessStatusCode();
            VideoStorageInfo vsi = response.Content.ReadAsAsync <VideoStorageInfo>().Result;

            ShowResult(vsi);
            while (true)
            {
                string str = Console.ReadLine();
                if (str.Equals("exit", StringComparison.OrdinalIgnoreCase))
                {
                    break;
                }
                string request = baseAddress + $"?videoid={str};flag=true";
                client.PostAsJsonAsync(request, "");
            }
        }
Пример #4
0
        public HttpResponseMessage GetStorageInfos()
        {
            Console.WriteLine("Request:GetStorageInfos:" + DateTime.Now);
            try
            {
                CCTVHierarchyNode root   = NodesManager.Instance.GetHierarchyRoot();
                IVideoInfo[]      videos = StorageManager.Instance.GetAllStorageVideos();

                Dictionary <string, VideoStorageInfo> dictInfos = new Dictionary <string, VideoStorageInfo>();
                VideoStorageInfo sInfo = TransferModel(root, dictInfos);
                UpdateStorageFlag(dictInfos, videos);

                var response = Request.CreateResponse(sInfo);
                return(response);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error:GetStorageInfos:" + DateTime.Now + ":" + e.Message);
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, e));
            }
        }