Beispiel #1
0
        public async Task <PenaltyDTO> Update(PenaltyDTO dto)
        {
            var result = await this.Handler.Execute(_log, async() =>
            {
                Penalty penalty = _penaltyFactory.CreateDomainObject(dto);
                penalty.Validate();

                penalty = await _penaltyRepository.Update(penalty);
                return(_penaltyMapper.ToDto(penalty));
            });

            return(result);
        }
Beispiel #2
0
        Put(int?id, [FromForm] PenaltyRequest penaltyRequest)
        {
            if (id != penaltyRequest.Id)
            {
                return(BadRequest());
            }

            if (!await CheckIsUserAuthorizedForAction
                    (penaltyRequest.Id, penaltyRequest.Token))
            {
                return(BadRequest("You have not enough permissions for this action"));
            }


            if (penaltyRequest.CarId == null)
            {
                return(BadRequest("Cannot create penalty for empty CarId"));
            }
            var car = await _carService.GetById(penaltyRequest.CarId);

            if (car == null)
            {
                return(BadRequest($"The car with id {penaltyRequest.CarId} not exist"));
            }


            var penalty = _customMapper
                          .PenaltyRequestToPenalty(penaltyRequest);

            _penaltyRepository.Update(penalty);
            var updatedNums = await _penaltyRepository.SaveChangesAsync();

            if (updatedNums > 0)
            {
                return(Ok(new Response <string>
                              ($"Penalty with id {penalty.Id} successfully updated")));
            }

            return(NoContent());
        }
Beispiel #3
0
        public IActionResult Save([FromBody] Penalty penalty)
        {
            if (penalty is null)
            {
                return(BadRequest("Penalty is null."));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            if (penalty.PenaltyId == 0)
            {
                _repository.Create(penalty);
                return(new JsonResult(new { create = true, penalty }));
            }
            else
            {
                _repository.Update(penalty);
                return(new JsonResult(new { update = true, penalty }));
            }
        }