示例#1
0
        public async Task <IActionResult> UpdateOfferingAsync([FromRoute, Required] string productKey, [FromRoute, Required] string offeringKey, [FromBody] UpdateOfferingDto request)
        {
            try
            {
                var updateOfferingCommand = new UpdateOfferingCommand(productKey, offeringKey, request.ChangeEffectiveDate ?? DateTime.UtcNow,
                                                                      request.OfferingFormatCode, request.OfferingPlatformCode, request.OfferingStatusCode, request.OfferingEdition);

                await _mediator.Send(updateOfferingCommand);

                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Something went wrong in UpdateOfferingAsync");

                var errorResponse = new ProblemDetails()
                {
                    Title  = "An unexpected error occurred. Please try again later.",
                    Status = StatusCodes.Status500InternalServerError,
                    Detail = ex.Message
                };

                return(StatusCode(StatusCodes.Status500InternalServerError, errorResponse));
            }
        }
示例#2
0
        public UpdateOfferingCommandHandler_should()
        {
            _products = new List <ProductEntity>(new[]
            {
                Any.ProductEntity(Any.String(), new DateTime(2019, 02, 01))
            });
            _offerings = new List <OfferingEntity>(new[]
            {
                Any.OfferingEntity("key", _products.First().ProductId, _products.First().EffectiveStartDate)
            });;
            _context = GetContextWithData();

            _handler = new UpdateOfferingCommandHandler(_context);
            _command = new UpdateOfferingCommand(_products.First().ProductKey, _offerings.First().OfferingKey, _products.First().EffectiveStartDate.AddDays(1), Any.String(), Any.String(), Any.String(), Any.String());
        }
示例#3
0
 public async Task Throw_Validation_Error_If_Offering_Doesnt_ExistAsync()
 {
     _command = new UpdateOfferingCommand(_products.First().ProductKey, _offerings.First().OfferingKey + "nope", _products.First().EffectiveStartDate.AddDays(1), Any.String(), Any.String(), Any.String(), Any.String());
     _        = await Assert.ThrowsAsync <ValidationException>(() => _handler.Handle(_command, default));
 }