コード例 #1
0
        public IActionResult PatchLine(Guid id, string doclineId, [FromBody] DocumentLinePatch documentLine)
        {
            Timecard timecard = repository.Find(id);

            if (timecard != null)
            {
                //CHECK ROLES
                if (timecard.Employee != documentLine.Employee)
                {
                    return(StatusCode(403, new UnauthorizedAccess()
                    {
                    }));
                }

                if (timecard.Status != TimecardStatus.Draft)
                {
                    return(StatusCode(409, new InvalidStateError()
                    {
                    }));
                }

                // PATCH LINE
                var patchedLine = timecard.PatchLine(doclineId, documentLine);
                repository.Update(timecard);
                return(Ok(patchedLine));
            }
            else
            {
                return(NotFound());
            }
        }