Example #1
0
        // replace (POST) a complete line item
        public IActionResult Update(string timecardId, string lineId, [FromBody] TimecardLine timecardLine)
        {
            Timecard timecard = Database.Find(timecardId);

            if (timecard == null)
            {
                return(NotFound());
            }

            if (timecard.Status != TimecardStatus.Draft)
            {
                return(StatusCode(409, new InvalidStateError()
                {
                }));
            }
            var Guid    = new Guid(lineId);
            var oldLine = timecard.FindLineIndex(Guid);

            var annotatedLine = timecard.UpdateLine(Guid, timecardLine);

            return(Ok(annotatedLine));
        }