コード例 #1
0
        public IActionResult UpdateLine(Guid id, Guid lid, [FromBody] DocumentLine documentLine)
        {
            logger.LogInformation($"Updating the items in line of timesheet {id}");

            Timecard timecard = repository.Find(id);

            if (timecard != null)
            {
                if (timecard.Status != TimecardStatus.Draft)
                {
                    return(StatusCode(409, new InvalidStateError()
                    {
                    }));
                }
                if (timecard.HasLine(lid) == false)
                {
                    return(NotFound());
                }

                var annotatedLine = timecard.UpdateLineItem(lid, documentLine);
                repository.Update(timecard);

                return(Ok(annotatedLine));
            }
            else
            {
                return(NotFound());
            }
        }