/// <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))); }
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); }