示例#1
0
        /// <summary>
        /// Gets a <see cref="SpecificationsViewModel" /> for a given product.
        /// </summary>
        /// <param name="param">The parameter.</param>
        /// <returns>
        /// Instance of <see cref="SpecificationsViewModel" />.
        /// </returns>
        /// <exception cref="System.ArgumentNullException">param</exception>
        public virtual SpecificationsViewModel GetProductSpecificationsViewModel(GetProductSpecificationsParam param)
        {
            if (param == null)
            {
                throw new ArgumentNullException(nameof(param));
            }
            if (param.Product == null)
            {
                throw new ArgumentException(GetMessageOfNull(nameof(param.Product)), nameof(param));
            }
            if (param.ProductDefinition == null)
            {
                throw new ArgumentException(GetMessageOfNull(nameof(param.ProductDefinition)), nameof(param));
            }

            if (IsInheritedSpecification(param))
            {
                return(null);
            }

            var vm = new SpecificationsViewModel
            {
                ProductId = param.Product.Id,
                VariantId = param.VariantId,
                Groups    = GetSpecificationsGroups(param)
            };

            return(vm);
        }
示例#2
0
        private static Mock <IProductSpecificationsViewService> CreateProductSpecificationsViewService()
        {
            var specificationMock = new SpecificationsViewModel
            {
                ProductId = GetRandom.String(32)
            };

            Mock <IProductSpecificationsViewService> productSpecificationsViewServiceMock = new Mock <IProductSpecificationsViewService>();

            productSpecificationsViewServiceMock.Setup(
                service => service.GetProductSpecificationsViewModel(It.IsNotNull <GetProductSpecificationsParam>()))
            .Returns(specificationMock)
            .Verifiable();

            return(productSpecificationsViewServiceMock);
        }
示例#3
0
 public SpecificationsView(SpecificationsViewModel viewModel, IRegionManager regionManager, IEventAggregator eventAggregator) : base(regionManager, eventAggregator)
 {
     viewModel.LoadSpecifications();
     InitializeComponent();
     this.DataContext = viewModel;
 }