コード例 #1
0
        private async Task <IEnumerable <WorkPackage> > GetWorkPackageByVersion(OPVersion version)
        {
            string url = "https://travel2pay.openproject.com/api/v3/projects/2/work_packages?pageSize=1000&offset=1&filters=[{\"status\":{\"operator\":\"o\",\"values\":[]}},{\"version\":{\"operator\":\"=\",\"values\":[\"" + version.Id + "\"]}}]&sortBy=[[\"parent\",\"asc\"]]";
            var    wps = await _httpClientService
                         .Create(Request.Headers["openProjectAPIKey"].First())
                         .Get <OPCollection <OPWorkPackage> >(url);

            if (wps == null || wps.Embedded == null || wps.Embedded.Elements == null)
            {
                return(new List <WorkPackage>());
            }

            return(wps.Embedded.Elements.Select(x => new WorkPackage
            {
                Id = x.Id,
                Subject = $"{x.Id} - {x.Subject} - {x.Links?.Type?.Title}",
                ProjectId = GetId(x.Links.Project.Href).Value,
                ProjectName = x.Links.Project.Title,
                VersionId = GetId(x.Links.Version.Href).Value,
                VersionTitle = x.Links.Version.Title,
                ParentId = GetId(x.Links.Parent.Href)
            }));
        }
コード例 #2
0
        private bool SameTime(OPVersion version)
        {
            var name           = version.Name;
            var lastSpaceIndex = name.Trim().LastIndexOf(' ');

            if (lastSpaceIndex == -1)
            {
                return(false);
            }
            var versionDateStr = name.Substring(name.Trim().LastIndexOf(' '));

            if (!DateTime.TryParse(versionDateStr, out DateTime versionDate))
            {
                return(false);
            }

            if ((_last2Week < versionDate) && (versionDate < _next2week))
            {
                return(true);
            }

            return(false);
        }
コード例 #3
0
        private async Task GetWorkpackagesByVersion(CollectionViewModel <VersionViewModel> versions, OPVersion version)
        {
            var workPackageByVersion = await GetWorkPackageByVersion(version);

            workPackageByVersion = CombineParentPackage(workPackageByVersion);
            versions.Elements.Add(new VersionViewModel
            {
                Id           = version.Id,
                Title        = version.Name,
                WorkPackages = workPackageByVersion.ToList()
            });
        }