Пример #1
0
        public async Task ShouldCreate_FinancierAddress_Using_CreateFinancierAddressInfoWriteModel()
        {
            Financier financier = await _dbContext.Financiers.FindAsync(new Guid("94b1d516-a1c3-4df8-ae85-be1f34966601"));

            var model = new CreateFinancierAddressInfo
            {
                FinancierId  = financier.Id,
                AddressLine1 = "32145 Main Street",
                AddressLine2 = "3rd Floor",
                City         = "Dallas",
                StateCode    = "TX",
                Zipcode      = "75021"
            };

            await _financierCmdHdlr.Handle(model);

            var address = (from item in financier.Addresses()
                           where item.AddressDetails.AddressLine1.Equals(model.AddressLine1) &&
                           item.AddressDetails.AddressLine2.Equals(model.AddressLine2) &&
                           item.AddressDetails.City.Equals(model.City) &&
                           item.AddressDetails.StateCode.Equals(model.StateCode) &&
                           item.AddressDetails.Zipcode.Equals(model.Zipcode)
                           select item).SingleOrDefault();

            Assert.NotNull(address);
        }
        public async Task <IActionResult> CreateFinancierAddressInfo([FromBody] CreateFinancierAddressInfo writeModel)
        {
            try
            {
                await _commandHandler.Handle(writeModel);

                GetFinancierAddress queryParams = new GetFinancierAddress {
                    AddressID = writeModel.AddressId
                };

                IActionResult retValue = await _queryRequestHandler.Handle <GetFinancierAddress>(queryParams, HttpContext, Response);

                return(CreatedAtAction(nameof(GetFinancierAddressDetails), new { addressId = writeModel.AddressId }, (retValue as OkObjectResult).Value));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(new BadRequestObjectResult(ex.Message));
            }
        }