示例#1
0
 /// <summary>
 /// Creates new option
 /// </summary>
 /// <param name="productId">Product id</param>
 /// <param name="option">Option</param>
 public void CreateOption(Guid productId, ProductOptionsEntity option)
 {
     using (var scope = new TransactionScope())
     {
         var productOpt = new ProductOption
         {
             Id          = option.Id,
             ProductId   = productId,
             Description = option.Description,
             Name        = option.Name
         };
         _unitOfWork.ProductOptionRepository.Insert(productOpt);
         _unitOfWork.Save();
         scope.Complete();
     }
 }
示例#2
0
        public void DeleteOption()
        {
            Guid ProductId = Guid.NewGuid();
            Guid OptionId1 = Guid.NewGuid();
            var  OptionId2 = Guid.NewGuid();

            var product = new ProductEntity()
            {
                Id            = ProductId,
                Name          = "Product With Options",
                Description   = "Product with options Description",
                Price         = 999.99M,
                DeliveryPrice = 9.8M
            };
            var productOption1 = new ProductOptionsEntity()
            {
                ProductId   = ProductId,
                Id          = OptionId1,
                Name        = "Option 1",
                Description = "Option 1 Description"
            };
            var productOption2 = new ProductOptionsEntity()
            {
                ProductId   = ProductId,
                Id          = OptionId2,
                Name        = "Option 2",
                Description = "Option 2 Description"
            };

            _productsService.CreateProduct(product);
            _productsOptionService.CreateOption(ProductId, productOption1);
            _productsOptionService.CreateOption(ProductId, productOption2);

            var productOptions = _productsOptionService.GetOptions(ProductId);

            Assert.True(2 == productOptions.Count, "Two options created successfully");

            _productsOptionService.DeleteOption(OptionId1);

            var productOption = _productsOptionService.GetOption(ProductId, OptionId1);

            Assert.True(productOption == null, "Successfully deleted option 1");
        }
示例#3
0
        /// <summary>
        /// Updates an option
        /// </summary>
        /// <param name="id">Optionid</param>
        /// <param name="option">ProductOption</param>
        public void UpdateOption(Guid id, ProductOptionsEntity option)
        {
            if (option != null)
            {
                using (var scope = new TransactionScope())
                {
                    var productOption = _unitOfWork.ProductOptionRepository.GetById(id);
                    if (productOption != null)
                    {
                        productOption.Name        = option.Name;
                        productOption.Description = option.Description;

                        _unitOfWork.ProductOptionRepository.Update(productOption);
                        _unitOfWork.Save();
                        scope.Complete();
                    }
                }
            }
        }
示例#4
0
        public void UpdateOption()
        {
            Guid ProductId = Guid.NewGuid();
            Guid OptionId1 = Guid.NewGuid();

            var product = new ProductEntity()
            {
                Id            = ProductId,
                Name          = "Product With Options",
                Description   = "Product with options Description",
                Price         = 999.99M,
                DeliveryPrice = 9.8M
            };
            var productOptionOriginal = new ProductOptionsEntity()
            {
                ProductId   = ProductId,
                Id          = OptionId1,
                Name        = "Option Original",
                Description = "Option original Description"
            };
            var productOptionUpdate = new ProductOptionsEntity()
            {
                ProductId   = ProductId,
                Id          = OptionId1,
                Name        = "Option_updated",
                Description = "Option 1 updated Description"
            };

            _productsService.CreateProduct(product);
            _productsOptionService.CreateOption(ProductId, productOptionOriginal);

            var productOptions = _productsOptionService.GetOptions(ProductId);

            Assert.True(1 == productOptions.Count, "One option created successfully");

            _productsOptionService.UpdateOption(OptionId1, productOptionUpdate);

            var productOption = _productsOptionService.GetOption(ProductId, OptionId1);

            Assert.True("Option_updated" == productOption.Name, "Option name updated successfully");
        }
示例#5
0
 public void UpdateOption(Guid id, ProductOptionsEntity option)
 {
     log.Info(String.Format("UpdateOption Method called for Product Id : {0}", id));
     _productOptionService.UpdateOption(id, option);
 }
示例#6
0
 public void CreateOption(Guid productId, ProductOptionsEntity option)
 {
     log.Info(String.Format("CreateOption Method called for Product Id : {0}", productId));
     _productOptionService.CreateOption(productId, option);
 }