Example #1
0
 public async Task AddOrUpdateAsync(InsuranceQuotingRequest quote)
 {
     if (await GetAsync(quote.Key) != null)
     {
         await _context.InsuranceQuotingRequest.ReplaceOneAsync(
             doc => doc.Key == quote.Key,
             quote,
             new UpdateOptions { IsUpsert = true });
     }
     else
     {
         await _context.InsuranceQuotingRequest.InsertOneAsync(quote);
     }
 }
Example #2
0
        public async Task <IActionResult> Post([FromBody] QuoteRequestViewModel value)
        {
            var newQuateRequest = new InsuranceQuotingRequest()
            {
                Key                = Guid.NewGuid(),
                Customer           = value.Customer,
                Vehicle            = value.Vehicle,
                QuoteProcessStatus = new QuoteProcessStatus()
                {
                    Status = QuoteStatus.Pendding
                }
            };

            await _repository.AddOrUpdateAsync(newQuateRequest);

            _eventBus.Publish(new QuoteRequestedIntegrationEvent(
                                  newQuateRequest.Key
                                  ));
            _cache.Set(newQuateRequest.Key, newQuateRequest);
            return(Ok(newQuateRequest.Key));
        }