public IActionResult ReplaceLine(Guid id, Guid lineId, [FromBody] DocumentLine documentLine)
        {
            logger.LogInformation($"Looking for timesheet {id}");

            Timecard timecard = repository.Find(id);

            if (timecard != null)
            {
                logger.LogInformation($"Looking for line {lineId}");

                if (timecard.HasLine(lineId))
                {
                    timecard.DeleteLine(lineId);

                    var annotatedLine = timecard.AddLine(documentLine);

                    repository.Update(timecard);

                    return(Ok(annotatedLine));
                }
                else
                {
                    return(NotFound());
                }
            }
            else
            {
                return(NotFound());
            }
        }
コード例 #2
0
        public IActionResult ReplaceLine(Guid id, Guid lineID, [FromBody] DocumentLine replacement)
        {
            logger.LogInformation($"Looking for timesheet ID {id}");
            Timecard tc = repository.Find(id);

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

            logger.LogInformation($"Looking for timecard line ID {lineID}");

            if (tc.HasLine(lineID))
            {
                tc.DeleteLine(lineID);
                repository.Update(tc);
                return(AddLine(id, replacement));
            }
            else
            {
                return(NotFound());
            }
        }
コード例 #3
0
        public IActionResult DeleteLine(Guid id, Guid lineId, [FromQuery] int reqid)
        {
            logger.LogInformation($"Looking for timesheet {id}");

            Timecard timecard = repository.Find(id);


            if (timecard != null)
            {
                if (reqid != timecard.Employee)
                {
                    return(StatusCode(403, new TimecardPersonError()
                    {
                    }));
                }

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

                timecard.DeleteLine(lineId);

                repository.Update(timecard);

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