示例#1
0
        /// <summary>
        ///     Returns all branches (names) from web directly. Slow, but always updated and not so often used
        /// </summary>
        /// <param name="projectId"></param>
        /// <returns></returns>
        public async Task <IEnumerable <string> > SearchForBranchInProject(int projectId, string searchValue)
        {
            var project = await GetProjectByIdAsync(projectId);

            if (project == null)
            {
                return(null);
            }

            //TODO: Refactor so this method returns error string and piplines, some validation, maybe move to CiDataService?
            var dataProvider = _ciDataProviderFactory.CreateForProviderName(project.DataProviderName);

            var r = await dataProvider.SearchBranchInProject(project.ApiHostUrl, project.ApiAuthenticationToken,
                                                             project.ApiProjectId, searchValue);

            return(r);
        }
示例#2
0
        private async Task <bool> TestApiCredentials(Project project, string apiHostUrl, ICiDataProviderFactory factory)
        {
            var provider = factory.CreateForProviderName(project.DataProviderName);

            try
            {
                var result = await provider.TestApiCredentials(project.ApiHostUrl, project.ApiAuthenticationToken);

                return(result);
            }
            catch (Exception)
            {
                return(false);
            }
        }