public async Task <CreatedTimeEntryResult> CreateTimeEntry(string apiKey, CreateTimeEntryViewModel model) { StringBuilder queryString = new StringBuilder(); queryString.Append($"time_entries.json?key={apiKey}"); object timeEntry = new { time_entry = new { issue_id = model.IssueId, activity_id = model.ActivityId, hours = model.Hours, spent_on = model.SpentOn.ToString("yyyy-MM-dd"), comments = model.Comments } }; var responseMessage = await _client.PostAsJsonAsync(queryString.ToString(), timeEntry); responseMessage.EnsureSuccessStatusCode(); return(await responseMessage.Content.ReadAsAsync <CreatedTimeEntryResult>()); }
public async Task <IActionResult> CreateTimeEntriesAsync([FromHeader(Name = "Redmine-Key")] string userApiKey, [FromBody] CreateTimeEntryViewModel newTimeEntry) { await _redmineHttpService.GetCurrentUserAsync(userApiKey); return(Created("", await _redmineHttpService.CreateTimeEntriesAsync(userApiKey, newTimeEntry.ConvertToCreateTimeEntry()))); /*var timeEntry = new TimeEntry * { * Activity = new Activity { Name = "Created", Id = newTimeEntry.ActivityId }, * Id = new Random().Next(99990000, 99999999), * Comments = newTimeEntry.Comments, * Hours = newTimeEntry.Hours, * Issue = new IdNameBase { Name = "Created", Id = newTimeEntry.IssueId }, * Project = new IdNameBase { Name = "Test Project", Id = 1 }, * SpentOn = newTimeEntry.SpentOn * }; * return Created("", timeEntry);*/ }
public async Task <IActionResult> CreateTimeEntry([FromHeader(Name = "X-ApiKey")] string apiKey, [FromHeader(Name = "X-IssueId")] string issueId, CreateTimeEntryViewModel model) { if (string.IsNullOrWhiteSpace(apiKey) || string.IsNullOrWhiteSpace(issueId)) { return(BadRequest("Invalid information")); } model.IssueId = int.Parse(issueId); var result = await _client.CreateTimeEntry(apiKey, model); return(Json(result.Time_entry)); }