public async Task <bool> LoadScenes(
            AdnReCapClient reCapClient)
        {
            _reCapClient = reCapClient;

            var rootNode = AddRootNode(
                "Photoscenes");

            var sceneListResponse = await
                                    _reCapClient.GetPhotosceneListAsync();

            if (!sceneListResponse.IsOk())
            {
                // We get Deserialization.Exception
                // if deleted scenes exist as Name
                // is left empty

                if (sceneListResponse.Error.Msg !=
                    "Deserialization.Exception")
                {
                    OnLogReCapError(sceneListResponse.Error);

                    return(false);
                }
            }

            foreach (var scene in sceneListResponse.Photoscenes)
            {
                if (!scene.Deleted)
                {
                    var node = new ReCapTreeItem(
                        scene,
                        Properties.Resources.file);

                    rootNode.AddNode(node);

                    Expand();
                }
            }

            List <Task> taskList = new List <Task>();

            foreach (var node in RootNode.Children)
            {
                taskList.Add(RetrieveSceneInfoAndUpdateNode(
                                 node.Photoscene.PhotosceneId));
            }

            //await Task.WhenAll(taskList);

            return(true);
        }
Ejemplo n.º 2
0
        private async Task <bool> LoadScenes()
        {
            bLogin.Enabled  = false;
            bLogout.Enabled = false;

            _TreeViewScenes.Nodes.Clear();

            TreeNode root = _TreeViewScenes.Nodes.Add(
                "root",
                "Photoscenes",
                0, 0);

            var sceneListResponse = await
                                    _reCapClient.GetPhotosceneListAsync();

            if (!sceneListResponse.IsOk())
            {
                // We get Deserialization.Exception
                // if deleted scenes exist as Name
                // is left empty

                if (sceneListResponse.Error.Msg !=
                    "Deserialization.Exception")
                {
                    LogReCapError(sceneListResponse.Error);

                    bLogin.Enabled  = true;
                    bLogout.Enabled = true;

                    return(false);
                }
            }

            foreach (var scene in sceneListResponse.Photoscenes)
            {
                if (!scene.Deleted)
                {
                    string name = scene.SceneName;

                    TreeNode sceneNode =
                        root.Nodes.Add(
                            scene.PhotosceneId,
                            name,
                            2, 2);

                    sceneNode.Tag = scene;

                    var sceneWithInfo = await RetrieveSceneInfo(
                        scene.PhotosceneId);

                    if (sceneWithInfo != null)
                    {
                        sceneNode.Tag = sceneWithInfo;
                    }

                    root.ExpandAll();
                }
            }

            bLogin.Enabled  = true;
            bLogout.Enabled = true;

            return(true);
        }