コード例 #1
0
        public async Task <ActionResult <List <ParentIndexNodes> > > CreateParentNodes(CreateIndexParameters iParameters)
        {
            if (iParameters == null)
            {
                return(BadRequest());
            }
            List <ParentIndexNodes> nodes = new List <ParentIndexNodes>();

            try
            {
                IndexBuilder      iBuilder  = new IndexBuilder();
                string            json      = GetJsonIndexFile();
                ConnectParameters connector = Common.GetConnectParameters(connectionString, container,
                                                                          iParameters.DataConnector);
                iBuilder.InitializeIndex(connector, json);
                iBuilder.CreateRoot();
                int parentNodes = iBuilder.JsonIndexArray.Count;
                for (int k = 0; k < parentNodes; k++)
                {
                    JToken token       = iBuilder.JsonIndexArray[k];
                    int    parentCount = iBuilder.GetObjectCount(token, k);
                    if (parentCount > 0)
                    {
                        int parentNodeId = iBuilder.CreateParentNodeIndex();
                        nodes.Add(new ParentIndexNodes()
                        {
                            NodeCount    = parentCount,
                            ParentNodeId = parentNodeId,
                            Name         = (string)token["DataName"]
                        });
                    }
                }
                iBuilder.CloseIndex();
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
            return(nodes);
        }