public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { var financierId = (Guid)context.ActionArguments["financierId"]; GetFinancier queryParams = new GetFinancier { FinancierID = financierId }; FinancierDetail readModel = await _queryService.Query(queryParams); if (readModel is null) { _logger.LogInfo($"A financier with id: {financierId} does not exist in the database."); context.Result = new NotFoundResult(); } else { EditFinancierInfo editFinancierInfo = new EditFinancierInfo { Id = readModel.FinancierId, FinancierName = readModel.FinancierName, Telephone = readModel.Telephone, IsActive = readModel.IsActive, UserId = readModel.UserId }; context.HttpContext.Items.Add("EditFinancierInfo", editFinancierInfo); await next(); } }
public async Task <IActionResult> EditFinancierInfo([FromBody] EditFinancierInfo writeModel) { try { await _commandHandler.Handle(writeModel); return(Ok()); } catch (Exception ex) { _logger.LogError(ex.Message); return(BadRequest(ex.Message)); } }
public async Task ShouldUpdate_Financier_UsingEditFinancierInfoWriteModel() { var model = new EditFinancierInfo { Id = new Guid("01da50f9-021b-4d03-853a-3fd2c95e207d"), FinancierName = "ABC Financiers, Inc.", Telephone = "214-654-9874", IsActive = true, UserId = new Guid("660bb318-649e-470d-9d2b-693bfb0b2744") }; await _financierCmdHdlr.Handle(model); Financier result = await _dbContext.Financiers.FindAsync(model.Id); Assert.Equal(model.FinancierName, result.FinancierName); Assert.Equal(model.Telephone, result.Telephone);; }