public async Task <ParkingRightModel> SaveParkingRight(ParkingRightModel parkingRight) { var entity = _mapper.Map <ParkingRightEntity>(parkingRight); parkingRight.ParkingRightKey = entity.ParkingRightKey; var payload = await Task.Factory.StartNew(() => JsonConvert.SerializeObject(parkingRight)); var isPublished = await _snsConnector.PublishMessage(parkingRight.ParkingRightKey, MessageType.ParkingRegistrationRequest, payload, _configurationProvider.RegistrationTopicArn); if (!isPublished) { throw new Exception("Failed to publish sns message!"); } var isAdded = await _parkingRightRepository.Add(entity); if (!isAdded) { // retry to save the record. throw new Exception("Failed to create a parking right."); } return(parkingRight); }
public void Put(string parkingRightKey, [FromBody] ParkingRightModel value) { throw new NotImplementedException(); }
public async Task <IActionResult> Post([FromBody] ParkingRightModel request) { var parkingRightModel = await _parkingRightProcessor.SaveParkingRight(request); return(StatusCode((int)HttpStatusCode.Created, parkingRightModel)); }