コード例 #1
0
            public void UtilizesUserIdentityProvider()
            {
                // arrange
                const string custKey           = "1234";
                const string productKey        = "asdf";
                var          values            = AutoFixtureHelper.BuildFixture().Create <SetCustomerProductRangesRequest>();
                const string expectedUserToken = "USER123";

                MockUserIdentityProvider.Setup(m => m.SetUserIdentity(It.IsAny <IUserIdentifiable>()))
                .Callback((IUserIdentifiable t) =>
                {
                    t.UserToken = expectedUserToken;
                });

                ISetCustomerProductAttributeRangesParameters actualValues = null;

                MockCustomerService.Setup(m => m.SetCustomerChileProductAttributeRanges(It.IsAny <ISetCustomerProductAttributeRangesParameters>()))
                .Callback((ISetCustomerProductAttributeRangesParameters p) => actualValues = p)
                .Returns(new SuccessResult());

                // act
                SystemUnderTest.Post(custKey, productKey, values);

                // assert
                Assert.IsNotNull(actualValues);
                Assert.AreEqual(expectedUserToken, actualValues.UserToken);
            }
コード例 #2
0
 public IResult SetCustomerChileProductAttributeRanges(ISetCustomerProductAttributeRangesParameters parameters)
 {
     try
     {
         return(_salesServiceProvider.SetCustomerChileProductAttributeRange(parameters));
     }
     catch (Exception ex)
     {
         ex = ex.GetBaseException();
         _exceptionLogger.LogException(ex);
         return(new FailureResult(ex.Message));
     }
 }
コード例 #3
0
            public void ParametersAreCorrectlyParsedIntoDataTransferObject()
            {
                // arrange
                const string custKey    = "1234";
                const string productKey = "asdf";
                var          values     = AutoFixtureHelper.BuildFixture().Create <SetCustomerProductRangesRequest>();
                ISetCustomerProductAttributeRangesParameters actualValues = null;

                MockCustomerService.Setup(m => m.SetCustomerChileProductAttributeRanges(It.IsAny <ISetCustomerProductAttributeRangesParameters>()))
                .Callback((ISetCustomerProductAttributeRangesParameters p) => actualValues = p)
                .Returns(new SuccessResult());

                // act
                SystemUnderTest.Post(custKey, productKey, values);

                // assert
                Assert.IsNotNull(actualValues);
                Assert.AreEqual(custKey, actualValues.CustomerKey);
                Assert.AreEqual(productKey, productKey);
            }
コード例 #4
0
        public IResult SetCustomerChileProductAttributeRange(ISetCustomerProductAttributeRangesParameters parameters)
        {
            var parsedParameters = parameters.ToParsedParameters();

            if (!parsedParameters.Success)
            {
                return(parsedParameters);
            }

            var result = new SetCustomerChileProductAttributeRangeCommand(_inventoryShipmentOrderUnitOfWork).Execute(_timeStamper.CurrentTimeStamp, parsedParameters.ResultingObject);

            if (!result.Success)
            {
                return(result);
            }

            _inventoryShipmentOrderUnitOfWork.Commit();

            return(SyncParameters.Using(new SuccessResult(), new SynchronizeCustomerProductSpecs
            {
                CustomerKey = parsedParameters.ResultingObject.CustomerKey,
                ChileProductKey = parsedParameters.ResultingObject.ChileProductKey
            }));
        }
        internal static IResult <SetCustomerProductAttributeRangesParameters> ToParsedParameters(this ISetCustomerProductAttributeRangesParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            var customerKeyResult = KeyParserHelper.ParseResult <ICustomerKey>(parameters.CustomerKey);

            if (!customerKeyResult.Success)
            {
                return(customerKeyResult.ConvertTo <SetCustomerProductAttributeRangesParameters>());
            }

            var chileProductKeyResult = KeyParserHelper.ParseResult <IChileProductKey>(parameters.ChileProductKey);

            if (!chileProductKeyResult.Success)
            {
                return(chileProductKeyResult.ConvertTo <SetCustomerProductAttributeRangesParameters>());
            }

            var attributeRanges = parameters.AttributeRanges.ToParsedParameters(i => i.ToParsedParameters());

            if (!attributeRanges.Success)
            {
                return(attributeRanges.ConvertTo <SetCustomerProductAttributeRangesParameters>());
            }

            return(new SuccessResult().ConvertTo(new SetCustomerProductAttributeRangesParameters
            {
                Parameters = parameters,
                CustomerKey = customerKeyResult.ResultingObject.ToCustomerKey(),
                ChileProductKey = chileProductKeyResult.ResultingObject.ToChileProductKey(),
                AttributeRanges = attributeRanges.ResultingObject
            }));
        }