Пример #1
0
        PostPenalty([FromForm] PenaltyRequest penaltyRequest)
        {
            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);

            await _penaltyRepository.Create(penalty);

            await _penaltyRepository.SaveChangesAsync();

            return(Created(
                       ApiRoutes.PenaltiesRoutes.Create,
                       new Response <PenaltyResponse>(
                           _customMapper.PenaltyToPenaltyResponse(penalty))));
        }
Пример #2
0
 public Penalty PenaltyRequestToPenalty(PenaltyRequest penalty)
 {
     return(new Penalty()
     {
         Id = penalty.Id,
         PayedStatus = penalty.PayedStatus,
         CarId = (int)penalty.CarId,
         Date = penalty.Date,
         Description = penalty.Description,
         Location = penalty.Location,
         Price = penalty.Price
     });
 }
Пример #3
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());
        }