Ejemplo n.º 1
0
        private async Task <RequestInfoTrace> GetRequestInfoTrace(string Id)
        {
            var requestInfo = await _storage.GetRequestInfo(Id);

            var requestInfoTrace = MapRequestInfo(requestInfo);

            var childs = await _storage.GetRequestInfoByParentId(requestInfo.Id);

            if (childs != null && childs.Count > 0)
            {
                requestInfoTrace.Nodes = new List <RequestInfoTrace>();
            }


            foreach (var item in childs)
            {
                var child = MapRequestInfo(item);

                var trace = await GetRequestInfoTrace(item.Id);

                requestInfoTrace.Nodes.Add(trace);
            }

            return(requestInfoTrace);
        }
Ejemplo n.º 2
0
        private async Task <RequestTraceTree> GetRequestInfoTrace(ByIdRequest req)
        {
            var requestInfo = await _storage.GetRequestInfo(req.Id);

            var requestInfoTrace = new RequestTraceTree
            {
                Info  = requestInfo,
                Nodes = default
            };

            var childs = await _storage.GetRequestInfoByParentId(requestInfo.Id);

            if (childs != null && childs.Count > 0)
            {
                requestInfoTrace.Nodes = new List <RequestTraceTree>();
            }

            foreach (var item in childs)
            {
                var trace = await GetRequestInfoTrace(new ByIdRequest {
                    Id = item.Id
                });

                requestInfoTrace.Nodes.Add(trace);
            }

            return(requestInfoTrace);
        }