Example #1
0
 /// <summary>
 /// Creates a new basket item.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='basketGuid'>
 /// The basket unique identifier.
 /// </param>
 /// <param name='basketItemCreateModel'>
 /// The basket item create model.
 /// </param>
 /// <param name='userGuid'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <Guid?> PostBasketItemAsyncAsync(this IBasketItem operations, Guid basketGuid, BasketItemCreateModel basketItemCreateModel, string userGuid, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PostBasketItemAsyncWithHttpMessagesAsync(basketGuid, basketItemCreateModel, userGuid, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Example #2
0
 /// <summary>
 /// Initializes client properties.
 /// </summary>
 private void Initialize()
 {
     this.Basket           = new Basket(this);
     this.BasketItem       = new BasketItem(this);
     this.BaseUri          = new Uri("http://localhost:62196");
     SerializationSettings = new JsonSerializerSettings
     {
         Formatting            = Formatting.Indented,
         DateFormatHandling    = DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = DateTimeZoneHandling.Utc,
         NullValueHandling     = NullValueHandling.Ignore,
         ReferenceLoopHandling = ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     DeserializationSettings = new JsonSerializerSettings
     {
         DateFormatHandling    = DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = DateTimeZoneHandling.Utc,
         NullValueHandling     = NullValueHandling.Ignore,
         ReferenceLoopHandling = ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     CustomInitialize();
 }
Example #3
0
 public RecentOrdersModel(UserManager <ApplicationUser> userManager, IProducts products, IBasketItem basketItem, CookwareDBContext context)
 {
     _userManager = userManager;
     _products    = products;
     _basketItem  = basketItem;
     _context     = context;
 }
Example #4
0
 public void Remove(IBasketItem item)
 {
     if (_items != null && item != null)
     {
         _items.Remove(item);
     }
 }
Example #5
0
 public void Add(IBasketItem newItem)
 {
     if (_items != null && newItem != null)
     {
         _items.Add(newItem);
     }
 }
Example #6
0
 public OrderController(IOrder order, IBasketItem item, IInventory inventory, UserManager <ApplicationUser> userManager)
 {
     _order       = order;
     _item        = item;
     _inventory   = inventory;
     _userManager = userManager;
 }
 public BasketItemController(UserManager <ApplicationUser> userManager, IProducts products, IBasketItem basketItem, CookwareDBContext context)
 {
     _userManager = userManager;
     _products    = products;
     _basketItem  = basketItem;
     _context     = context;
 }
Example #8
0
        public void DeleteBasketItem(IBasketItem item, string buyerId)
        {
            IBasket basket = GetCacheBasket(buyerId);

            basket.Items.Remove(item);

            _cacheManager.UpdateBasket(basket);
        }
Example #9
0
 public DiscountItem(IBasketItem item)
 {
     Id              = item.Id;
     Name            = item.Name;
     Price           = item.Price;
     DiscountPrice   = item.Price;
     DiscountApplied = false;
 }
Example #10
0
 public CheckoutController(UserManager <ApplicationUser> userManager, CookwareDBContext context, IOrder order, IEmailSender email, IBasketItem basketItem)
 {
     _userManager = userManager;
     _context     = context;
     _email       = email;
     _order       = order;
     _basketItem  = basketItem;
 }
Example #11
0
 public BasketController(IBasket context, SignInManager <ApplicationUser> signInManager,
                         UserManager <ApplicationUser> userManager, IBasketItem item, IInventory inventory)
 {
     _context       = context;
     _signInManager = signInManager;
     _userManager   = userManager;
     _item          = item;
     _inventory     = inventory;
 }
        public void Remove(IBasketItem item)
        {
            var basketItem = item as BasketItem;

            if (basketItem == null)
            {
                throw new ArgumentException(nameof(item), "Type not supported.");
            }

            Remove(basketItem);
        }
 public CheckoutController(SignInManager <ApplicationUser> signInManager, UserManager <ApplicationUser> userManager,
                           IBasket context, IBasketItem item, IOrder order, IInventory inventory,
                           IEmailSender emailSender, IConfiguration configuration)
 {
     _signInManager = signInManager;
     _userManager   = userManager;
     _context       = context;
     _item          = item;
     _order         = order;
     _inventory     = inventory;
     _emailSender   = emailSender;
     Configuration  = configuration;
 }
Example #14
0
        public static BasketItemModel MapBasketItem(IBasketItem basketItem)
        {
            if (basketItem == null)
            {
                return(null);
            }

            return(new BasketItemModel
            {
                Amount = basketItem.Amount,
                Content = MapProduct(basketItem.Content),
                Id = basketItem.Id,
                Created = basketItem.Created,
                Modified = basketItem.Modified
            });
        }
Example #15
0
        protected virtual async Task UpdateProductDataAsync(int quantity, IBasketItem item, ProductDto productDto)
        {
            item.SetIsInvalid(false);

            var productSkuDto = productDto.FindSkuById(item.ProductSkuId);

            if (productSkuDto == null)
            {
                item.SetIsInvalid(true);

                return;
            }

            if (productDto.InventoryStrategy != InventoryStrategy.NoNeed && quantity > productSkuDto.Inventory)
            {
                item.SetIsInvalid(true);
            }

            item.UpdateProductData(quantity, new ProductDataModel
            {
                MediaResources     = productSkuDto.MediaResources ?? productDto.MediaResources,
                ProductUniqueName  = productDto.UniqueName,
                ProductDisplayName = productDto.DisplayName,
                SkuName            = productSkuDto.Name,
                SkuDescription     = await _productSkuDescriptionProvider.GenerateAsync(productDto, productSkuDto),
                Currency           = productSkuDto.Currency,
                UnitPrice          = productSkuDto.DiscountedPrice,
                TotalPrice         = productSkuDto.DiscountedPrice * item.Quantity,
                TotalDiscount      = (productSkuDto.Price - productSkuDto.DiscountedPrice) * item.Quantity,
                Inventory          = productSkuDto.Inventory
            });

            if (!productDto.IsPublished)
            {
                item.SetIsInvalid(true);
            }
        }
        public void Basket_Content_RemoveInterfaceObject()
        {
            var basket = new Basket {
                Id = "Aruba"
            };

            basket.Add(new PhotoProduct {
                Name = "Alpha", Id = "42"
            }, 1);
            basket.Add(new PhotoProduct {
                Name = "Beta", Id = "1337"
            }, 1);

            Assert.AreEqual(2, basket.Contents.Count, "There should be 2 items.");

            IBasketItem betaItem = basket.Contents.FirstOrDefault(i => i.Content.Name == "Beta");

            Assert.IsNotNull(betaItem, "Item beta should be present.");

            basket.Remove(betaItem);

            Assert.AreEqual(1, basket.Contents.Count, "There should be 1 item.");
            Assert.AreEqual("Alpha", basket.Contents[0].Content.Name, "The basket item should be Alpha.");
        }
 public CSharpController(UserManager <ApplicationUser> userManager, IProducts products, IBasketItem basketItem)
 {
     _userManager = userManager;
     _products    = products;
     _basketItem  = basketItem;
 }
Example #18
0
 public void AddItemToBasket(IBasketItem newItem)
 {
     Basket.Add(newItem);
     Discount();
 }
Example #19
0
 public void AddBasketItem(IBasketItem item)
 {
     _basketItems.Add((BasketItem)item);
 }
Example #20
0
 public void DeteleBasketItem(IBasketItem item)
 {
     _basketItems.Remove((BasketItem)item);
 }
Example #21
0
        /// <summary>
        /// Updates the asynchronous.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        public async Task <bool> UpdateAsync(Guid id, IBasketItem model)
        {
            var entity = Mapper.Map <ShoppingBasket.DAL.Entities.BasketItem>(model);

            return(await BasketItemRepository.UpdateAsync(id, entity));
        }
Example #22
0
 /// <summary>
 /// Deletes all basketitems in the basket.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='basketGuid'>
 /// The basket unique identifier.
 /// </param>
 /// <param name='userGuid'>
 /// </param>
 public static void DeleteBasketItemsAsync(this IBasketItem operations, Guid basketGuid, string userGuid)
 {
     Task.Factory.StartNew(s => ((IBasketItem)s).DeleteBasketItemsAsyncAsync(basketGuid, userGuid), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
Example #23
0
 public void DeleteItemFromBasket(IBasketItem item)
 {
     Basket.Remove(item);
     Discount();
 }
Example #24
0
 public void AddItem(IBasketItem basketItem)
 {
     _basket.AddItem(basketItem);
 }
Example #25
0
 public void AddItem(IBasketItem basketItem)
 {
     _basketitems.Add(basketItem);
 }
Example #26
0
 /// <summary>
 /// Changes the content of basket item.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='basketitemGuid'>
 /// The basketitem unique identifier.
 /// </param>
 /// <param name='basketItemChangeModel'>
 /// The basket item change model.
 /// </param>
 /// <param name='userGuid'>
 /// </param>
 /// <param name='basketGuid'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task PutBasketItemAsyncAsync(this IBasketItem operations, Guid basketitemGuid, BasketItemChangeModel basketItemChangeModel, string userGuid, string basketGuid, CancellationToken cancellationToken = default(CancellationToken))
 {
     await operations.PutBasketItemAsyncWithHttpMessagesAsync(basketitemGuid, basketItemChangeModel, userGuid, basketGuid, null, cancellationToken).ConfigureAwait(false);
 }
Example #27
0
 public void AddBasketItem(IBasketItem item)
 {
     _basketItems.Add((BasketItem)item);
 }
Example #28
0
 /// <summary>
 /// Deletes all basketitems in the basket.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='basketGuid'>
 /// The basket unique identifier.
 /// </param>
 /// <param name='userGuid'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteBasketItemsAsyncAsync(this IBasketItem operations, Guid basketGuid, string userGuid, CancellationToken cancellationToken = default(CancellationToken))
 {
     await operations.DeleteBasketItemsAsyncWithHttpMessagesAsync(basketGuid, userGuid, null, cancellationToken).ConfigureAwait(false);
 }
 public BasketItemController(IBasketItem context)
 {
     _context = context;
 }
Example #30
0
 /// <summary>
 /// Changes the content of basket item.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='basketitemGuid'>
 /// The basketitem unique identifier.
 /// </param>
 /// <param name='basketItemChangeModel'>
 /// The basket item change model.
 /// </param>
 /// <param name='userGuid'>
 /// </param>
 /// <param name='basketGuid'>
 /// </param>
 public static void PutBasketItemAsync(this IBasketItem operations, Guid basketitemGuid, BasketItemChangeModel basketItemChangeModel, string userGuid, string basketGuid)
 {
     Task.Factory.StartNew(s => ((IBasketItem)s).PutBasketItemAsyncAsync(basketitemGuid, basketItemChangeModel, userGuid, basketGuid), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
Example #31
0
 public void Add(IBasketItem item)
 {
     _items.Add(item);
 }