Beispiel #1
0
        public IActionResult UpdateLine(string id, string lineId, Nullable <int> week = null, Nullable <int> year = null,
                                        Nullable <DayOfWeek> day = null, Nullable <float> hours = null, string project = null)
        {
            Timecard timecard = Database.Find(id);

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

                var annotatedLine = timecard.FindLine(new Guid(lineId));

                if (annotatedLine != null)
                {
                    annotatedLine.UpdateLine(week, year, day, hours, project);
                    return(Ok(annotatedLine));
                }
                else
                {
                    return(NotFound());
                }
            }
            else
            {
                return(NotFound());
            }
        }
Beispiel #2
0
        public IActionResult ReplaceLines(string id, string lineId, [FromBody] TimecardLine timecardLine)
        {
            Timecard timecard = Database.Find(id);

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

                var annotatedLine = timecard.FindLine(new Guid(lineId));

                if (annotatedLine != null)
                {
                    annotatedLine.ReplaceLine(timecardLine);
                    return(Ok(annotatedLine));
                }
                else
                {
                    return(NotFound());
                }
            }
            else
            {
                return(NotFound());
            }
        }
        public IActionResult UpdateLine(Guid id, Guid lineId, [FromQuery] int reqid, [FromBody] JsonPatchDocument <TimecardLine> patchDocumnetLine)
        {
            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()
                    {
                    }));
                }

                var annotatedLine = timecard.FindLine(lineId);
                patchDocumnetLine.ApplyTo(annotatedLine, ModelState);

                repository.Update(timecard);

                return(Ok(annotatedLine));
            }
            else
            {
                return(NotFound());
            }
        }
        public IActionResult update(string timesheetId, string lineId, [FromBody] TimecardLine timecardLine)
        {
            Timecard timecard = Database.Find(timesheetId);

            if (timecard != null)
            {
                if (timecard.Status == TimecardStatus.Draft)
                {
                    var line = timecard.FindLine(new Guid(lineId));
                    if (line != null)
                    {
                        line.updateLine(timecardLine.Week, timecardLine.Year, timecardLine.Day, timecardLine.Hours, timecardLine.Project);
                        return(Ok(line));
                    }
                    else
                    {
                        return(NotFound("line not found"));
                    }
                }
                else
                {
                    return(StatusCode(409, new InvalidStateError()
                    {
                    }));
                }
            }
            else
            {
                return(NotFound());
            }
        }
        public IActionResult GetLine(Guid id, Guid lineId)
        {
            logger.LogInformation($"Looking for timesheet {id}");

            Timecard timecard = repository.Find(id);

            if (timecard != null)
            {
                TimecardLine line = timecard.FindLine(lineId);

                if (line != null)
                {
                    return(Ok(line));
                }
            }

            return(NotFound());
        }