Exemplo n.º 1
0
        /// <summary>
        /// Get a project by current user and name. If not found, then create a new project.
        /// </summary>
        /// <param name="user"></param>
        /// <param name="projectName"></param>
        /// <returns></returns>
        public static ProjectDto GetAProject(PrivateUserDto user, string projectName)
        {
            var api = new ProjectsApi();

            try
            {
                var d = api.GetProject(user.Username, projectName);
                return(d);
            }
            catch (ApiException e)
            {
                // Project not found
                if (e.ErrorCode == 404)
                {
                    var ifPublic = projectName == "unnamed";
                    var res      = api.CreateProject(user.Username, new PatchProjectDto(projectName, _public: ifPublic));
                    return(GetAProject(user, projectName));
                }
                throw e;
            }


            //var d = GetProjects(user).FirstOrDefault(_ => _.Name == projectName);
            //return d;
        }
Exemplo n.º 2
0
        public Project CreateProject(string projName)
        {
            var projs = api.ListProjects(owner: new List <string>()
            {
                Helper.CurrentUser.Username
            }).Resources;
            var found = projs.FirstOrDefault(_ => _.Name == this.NewProject);

            var owner         = Helper.CurrentUser.Username;
            var projectCreate = new ProjectCreate(projName);
            var response      = api.CreateProject(owner, projectCreate);
            var proj          = api.GetProject(owner, projName);

            return(proj);
        }
Exemplo n.º 3
0
        private static Project CreateAProject(UserPrivate user)
        {
            var userName = user.Username;
            //var userName = "******";

            var api = new ProjectsApi();

            var name = "My new project " + Guid.NewGuid().ToString().Substring(0, 5);
            var proj = new ProjectCreate(name, "A new project from GH");

            Console.WriteLine("---------------------------------------");
            Console.WriteLine($"Creating project: {name}");
            var res = api.CreateProject(userName, proj);

            Console.WriteLine($"New project id: {res.Id}");
            Console.WriteLine(res.Message);

            var newProj = Helper.GetAProject(user.Username, name);

            return(newProj);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Get a project by current user and name. If not found, then create a new project.
        /// </summary>
        /// <param name="user"></param>
        /// <param name="projectName"></param>
        /// <returns></returns>
        public static Project GetAProject(string userName, string projectName)
        {
            var api = new ProjectsApi();

            try
            {
                var d = api.GetProject(userName, projectName);
                return(d);
            }
            catch (ApiException e)
            {
                // Project not found and person account, create a default demo project.
                if (e.ErrorCode == 404 && userName == Helper.CurrentUser.Username)
                {
                    Logger.Information($"Project {projectName} is not found in account {userName}. Now creating this project.");
                    var ifPublic = projectName == "demo";
                    var res      = api.CreateProject(userName, new ProjectCreate(projectName, _public: ifPublic));
                    return(GetAProject(userName, projectName));
                }
                Helper.Logger.Error(e, $"GetAProject: failed to get the project {userName}/{projectName}");
                throw e;
            }
        }