Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public void Put(string parkingRightKey, [FromBody] ParkingRightModel value)
 {
     throw new NotImplementedException();
 }
Esempio n. 3
0
        public async Task <IActionResult> Post([FromBody] ParkingRightModel request)
        {
            var parkingRightModel = await _parkingRightProcessor.SaveParkingRight(request);

            return(StatusCode((int)HttpStatusCode.Created, parkingRightModel));
        }