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)))); }
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 }); }
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()); }