Ejemplo n.º 1
0
        public IActionResult Delete(Guid id, [FromBody] Deletion deletion)
        {
            logger.LogInformation($"Looking for timesheet {id}");

            Timecard timecard = repository.Find(id);

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

            if (timecard.CanBeDeleted() == false)
            {
                return(StatusCode(409, new InvalidStateError()
                {
                }));
            }

            var transition = new Transition(deletion, TimecardStatus.Deleted);

            logger.LogInformation($"Deleting timesheet {transition}");

            timecard.Transitions.Add(transition);

            repository.Delete(id);

            return(Ok(transition));
        }
        public IActionResult DeleteTimecard(string id, Deletion deletion)
        {
            Timecard timecard = Database.Find(id);

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

            if (timecard.CanBeDeleted() == false)
            {
                return(StatusCode(409, new InvalidStateError()
                {
                }));
            }

            // This verifies that timecard deleter is timecard resource
            if (deletion.Resource != timecard.Resource)
            {
                return(StatusCode(409, new ResourceDoesNotManageError()));
            }

            Database.Delete(timecard);
            return(Ok());
        }
Ejemplo n.º 3
0
        public IActionResult Delete(Guid id)
        {
            logger.LogInformation($"Looking for timesheet {id}");

            Timecard timecard = repository.Find(id);

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

            if (timecard.CanBeDeleted() == false)
            {
                return(StatusCode(409, new InvalidStateError()
                {
                }));
            }
            /************************************/
            var deletePerson = new DocumentPerson();

            if (timecard.Employee == deletePerson.Id)
            {
                repository.Delete(id);
                return(Ok());
            }
            return(StatusCode(403, new InvalidAccessError()));
        }
        public IActionResult Delete(Guid id, [FromQuery] int reqid)
        {
            logger.LogInformation($"Looking for timesheet {id}");

            Timecard timecard = repository.Find(id);

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

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

            if (timecard.CanBeDeleted() == false)
            {
                return(StatusCode(409, new InvalidStateError()
                {
                }));
            }

            repository.Delete(id);

            return(Ok());
        }
Ejemplo n.º 5
0
        public IActionResult DeleteLine(string id)
        {
            Timecard timecard = Database.Find(id);

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

            if (timecard.CanBeDeleted() == false)
            {
                return(StatusCode(409, new InvalidStateError()
                {
                }));
            }

            Database.Delete(id);
            return(Ok());
        }
Ejemplo n.º 6
0
        public IActionResult Delete(Guid id, [FromBody] Delection delection)
        {
            logger.LogInformation($"Looking for timesheet {id}");

            Timecard timecard = repository.Find(id);

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

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

            if (timecard.CanBeDeleted() == false)
            {
                return(StatusCode(409, new InvalidStateError()
                {
                }));
            }

            //check if it's the same person to delete the card
            if (delection.Deleter != timecard.Employee)
            {
                return(StatusCode(409, new NoPermissionError()
                {
                }));
            }

            var transition = new Transition(delection, TimecardStatus.Deleted);

            logger.LogInformation($"Adding delection {transition}");

            timecard.Transitions.Add(transition);

            repository.Delete(id);

            return(Ok(transition));
        }
Ejemplo n.º 7
0
        public IActionResult Delete(Guid id)
        {
            logger.LogInformation($"Looking for timesheet {id}");

            Timecard timecard = repository.Find(id);

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

            if (timecard.CanBeDeleted() == false)
            {
                return(StatusCode(409, new InvalidStateError()
                {
                }));
            }

            repository.Delete(id);

            return(Ok());
        }