コード例 #1
0
        public async Task <IActionResult> RegisterAsync([FromBody] RegisterInsurance command)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // insert insurance
                    Insurance insurance = Mapper.Map <Insurance>(command);
                    _dbContext.Insurances.Add(insurance);
                    await _dbContext.SaveChangesAsync();

                    // send event
                    var e = Mapper.Map <InsuranceRegistered>(command);
                    await _messagePublisher.PublishMessageAsync(e.MessageType, e, "");

                    //return result
                    return(CreatedAtRoute("GetInsuranceById", new { insuranceId = insurance.InsuranceId }, insurance));
                }
                return(BadRequest());
            }
            catch (DbUpdateException ex)
            {
                ModelState.AddModelError("", "Unable to save changes. " +
                                         "Try again, and if the problem persists " +
                                         "see your system administrator.");
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
コード例 #2
0
 public async Task <IActionResult> Register([FromForm] VehicleInsuranceManagementNewViewModel inputModel)
 {
     if (ModelState.IsValid)
     {
         return(await _resiliencyHelper.ExecuteResilient(async() =>
         {
             RegisterInsurance cmd = Mapper.Map <RegisterInsurance>(inputModel.Insurance);
             await _vehicleManagementAPI.RegisterInsurance(cmd);
             return RedirectToAction("Index");
         }, View("Offline", new VehicleInsuranceManagementOfflineViewModel())));
     }
     else
     {
         return(View("New", inputModel));
     }
 }
コード例 #3
0
 public async Task RegisterInsurance(RegisterInsurance command)
 {
     await _client.RegisterInsurance(command);
 }