public async Task <IActionResult> UpdateSimpleV3([FromBody] WorkloadSimpleViewModel work) { if (work == null) { throw new ArgumentNullException(nameof(work)); } if (work.Id == Guid.Empty) { throw new ArgumentOutOfRangeException(nameof(work)); } if (work.Title == null || work.Title == "") { throw new ArgumentOutOfRangeException(nameof(work.Title)); } var uniqueName = this.GetCurrentUser(); var workload = await Util.ConnectToRemoteService <WorkloadViewModel>(HttpMethod.Get, Util.KanbanURL + "api/workload/details?=" + work.Id, uniqueName, ""); workload.WBTitle = work.Title; workload.WBDescription = work.Description; workload.WBStatus = (work.Status.HasValue) ? work.Status.Value : workload.WBStatus; var request = await Util.ConnectToRemoteService(HttpMethod.Put, Util.KanbanURL + "api/workload/edit", uniqueName, "", workload); if (!request.IsSuccessStatusCode) { throw new InvalidOperationException("api/workload/edit failed"); } return(Ok(workload)); }
public async Task <WorkloadViewModel> AddSimpleV3([FromBody] WorkloadSimpleViewModel work) { if (work == null) { throw new ArgumentOutOfRangeException(nameof(work)); } if (work.Title == null || work.Title == "") { throw new ArgumentOutOfRangeException(nameof(work.Title)); } var uniqueName = this.GetCurrentUser(); var now = DateTime.Now; var today = new DateTime(now.Year, now.Month, now.Day); WorkloadViewModel workload = new WorkloadViewModel2() { WBID = (work.Id == Guid.Empty) ? Guid.NewGuid() : work.Id, WBTitle = work.Title, WBDescription = work.Description, WBStatus = (work.Status.HasValue) ? work.Status.Value : 0, WBCreatedBy = uniqueName, WBCreatedDate = DateTime.Now, WBStartDate = today, WBEndDate = today, WBUsers = new string[] { uniqueName }, WBIsWorkload = true, WBActivity = Guid.Empty, WBComplexity = 0, WBExpertise = 0, WBFilesList = null, WBMetrics = null, WBTechnologies = null }; var response = await Util.ConnectToRemoteService(HttpMethod.Post, Util.KanbanURL + "api/workload/add", uniqueName, "", workload); UsageTelemetry.Track(uniqueName, ArdaUsage.Workload_Add); if (!response.IsSuccessStatusCode) { throw new Exception($"ConnectToRemote(Kanban/api/workload/add) failed with HTTP ${response.StatusCode}"); } return(workload); }