コード例 #1
0
        /// <summary>
        ///   Create a new Project
        ///   http://developer.teamwork.com/projects
        /// </summary>
        /// <param name="project">New Project Object</param>
        /// <returns>Project ID</returns>
        public async Task <BaseResponse <int> > AddProject(Newproject project)
        {
            string post = JsonConvert.SerializeObject(project);

            return(await client.HttpClient.PostWithReturnAsync("projects.json",
                                                               new StringContent("{\"project\": " + post + "}", Encoding.UTF8)));
        }
コード例 #2
0
ファイル: TeamupService.cs プロジェクト: lheinemann/TeamUp
        public async Task <int> CreateProjectAsync(TeamUpProject project)
        {
            int projectId = 0;

            var        projectHandler = new ProjectHandler(_client);
            Newproject newProject     = new Newproject()
            {
                Name            = project.ProjectName,
                Description     = project.ProjectDescription,
                StartDate       = project.StartDate.ToString("yyyyMMdd"),
                EndDate         = project.EndDate.ToString("yyyyMMdd"),
                CategoryId      = CategoryId,
                UseBilling      = "1",
                UseFiles        = "1",
                UseLinks        = "1",
                UseMessages     = "1",
                UseMilestones   = "1",
                UseNotebook     = "1",
                UseRiskregister = "1",
                UseTasks        = "1",
                UseTime         = "1"
            };

            //Add project
            var result = await projectHandler.AddProject(newProject);

            if (result != null && result.StatusCode == System.Net.HttpStatusCode.OK)
            {
                projectId = (int)result.ContentObj;
                var taskListHandler = new TasklistHandler(_client);

                string sourceProjectId = string.IsNullOrEmpty(project.SourceProjectId) ? DefaultSourceProjectId : project.SourceProjectId;

                //get tasklist based on reference project
                List <string> TaskLists = await taskListHandler.GetTaskLists(sourceProjectId);

                if (TaskLists != null && TaskLists.Count > 0)
                {
                    //copy taskLists to project
                    List <Task> taskStack = new List <Task>();
                    TaskLists.ForEach(t =>
                    {
                        taskStack.Add(taskListHandler.CopyTaskList(t, projectId));
                    });

                    await Task.WhenAll(taskStack.ToArray());
                }
            }

            return(projectId);
        }