Esempio n. 1
0
        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>());
        }
Esempio n. 2
0
        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);*/
        }
Esempio n. 3
0
        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));
        }