Esempio n. 1
0
        public static JewelCartItem FakeJewelCartItem(int id, string size, JewelMediaType mediaType, decimal price)
        {
            var cartItem = new JewelCartItem(id, mediaType, price);

            cartItem.SetSize(size);
            return(cartItem);
        }
Esempio n. 2
0
 public MediaFactory(string itemNumber, ISettingManager settingManager)
 {
     this.itemNumber = itemNumber;
     this.settingManager = settingManager;
     conventionMetalPrefix = "wg";
     currentMediaSet = JewelMediaType.WhiteGold;
 }
Esempio n. 3
0
        public Jewel(ItemInitializerParameterObject itemInitializerParameterObject, Media media, Metal metal, JewelryExtra extra,JewelMediaType jewelMediaSets)
        {
            Media = media;
            ID = itemInitializerParameterObject.ID;

            JewelCategory = itemInitializerParameterObject.JewelryCategory;
            JewelSubCategory = itemInitializerParameterObject.JewelrySubCategory;
            JewelCategoryID = itemInitializerParameterObject.JewelryCategoryID;
            JewelSubCategoryID = itemInitializerParameterObject.JewelrySubCategoryID;

            ItemNumber = itemInitializerParameterObject.ItemNumber;

            Metal = metal;

            Price = itemInitializerParameterObject.Price;
            SpecialPrice = itemInitializerParameterObject.SpecialPrice;
            DealerPrice = itemInitializerParameterObject.DealerPrice;
            RegularPrice = itemInitializerParameterObject.RegularPrice;
            Title = itemInitializerParameterObject.Title;
            Weight = itemInitializerParameterObject.Weight;

            Width = itemInitializerParameterObject.Width;

            IsBestOffer = itemInitializerParameterObject.OnBargain;
            IsSpecial = itemInitializerParameterObject.OnSpecial;

            JewelryExtra = extra;

            MediaSetsOwnedByJewel = jewelMediaSets;
        }
Esempio n. 4
0
 public JewelCartItem(int id, JewelMediaType mediaType, decimal price)
 {
     type = CartItemType.Jewelry;
     jewelID = id;
     this.mediaType = mediaType;
     this.price = price;
 }
Esempio n. 5
0
 public MediaFactory(string itemNumber, ISettingManager settingManager)
 {
     this.itemNumber       = itemNumber;
     this.settingManager   = settingManager;
     conventionMetalPrefix = "wg";
     currentMediaSet       = JewelMediaType.WhiteGold;
 }
        public void MediaSetList_ShouldReturnEmptyListIfNoIconFilesArePresentAndNoPicFilesArePresent()
        {
            //Arrange
            const string         itemNumber     = "0101-15001";
            const JewelMediaType jewelMediaSets = JewelMediaType.All;

            var fakeFileSystem = FakeFileSystem.MediaFileSystemForItemNumber(new Dictionary <string, MockFileData>()
            {
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-pic-wg.jpg", itemNumber), new MockFileData("") },
//                                                        {String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-icon-wg.jpg",itemNumber),new MockFileData("")},
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-hand-wg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-hires-wg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-mov-wg.flv", itemNumber), new MockFileData("") },
//                                                        {String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-pic-yg.jpg",itemNumber),new MockFileData("")},
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-icon-yg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-hand-yg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-hires-yg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-mov-yg.flv", itemNumber), new MockFileData("") }
            });
            var settingManager = new FakeSettingManager();

            var mediaSetBuilder = new MediaSetBuilder(settingManager, fakeFileSystem);
            //Act
            var mediaSetList = mediaSetBuilder.Build(itemNumber, jewelMediaSets);

            //Assert
            mediaSetList.Should().HaveCount(0);
        }
Esempio n. 7
0
 public JewelCartItem(int id, JewelMediaType mediaType, decimal price)
 {
     type           = CartItemType.Jewelry;
     jewelID        = id;
     this.mediaType = mediaType;
     this.price     = price;
 }
Esempio n. 8
0
        public Jewel(ItemInitializerParameterObject itemInitializerParameterObject, Media media, Metal metal, JewelryExtra extra, JewelMediaType jewelMediaSets)
        {
            Media = media;
            ID    = itemInitializerParameterObject.ID;

            JewelCategory      = itemInitializerParameterObject.JewelryCategory;
            JewelSubCategory   = itemInitializerParameterObject.JewelrySubCategory;
            JewelCategoryID    = itemInitializerParameterObject.JewelryCategoryID;
            JewelSubCategoryID = itemInitializerParameterObject.JewelrySubCategoryID;


            ItemNumber = itemInitializerParameterObject.ItemNumber;

            Metal = metal;

            Price        = itemInitializerParameterObject.Price;
            SpecialPrice = itemInitializerParameterObject.SpecialPrice;
            DealerPrice  = itemInitializerParameterObject.DealerPrice;
            RegularPrice = itemInitializerParameterObject.RegularPrice;
            Title        = itemInitializerParameterObject.Title;
            Weight       = itemInitializerParameterObject.Weight;

            Width = itemInitializerParameterObject.Width;

            IsBestOffer = itemInitializerParameterObject.OnBargain;
            IsSpecial   = itemInitializerParameterObject.OnSpecial;

            JewelryExtra = extra;



            MediaSetsOwnedByJewel = jewelMediaSets;
        }
        public CustomJewelCartItem CustomJewelCartItem(int diamondID, int settingID, string size, JewelMediaType mediaType)
        {
            var diamond = diamondRepository.GetDiamondByID(diamondID);
            var jewel = jewelRepository.GetJewelByID(settingID);

            var price = diamond.Price + (decimal) jewel.Price;

            return new CustomJewelCartItem(diamondID, settingID, size, mediaType, price);
        }
Esempio n. 10
0
        public Metal(JewelMediaType requestedJewelMediaType, JewelMediaType currentJewelMediaType, string metal)
        {
            metalName = requestedJewelMediaType == JewelMediaType.All ? ConvertionDicMediaEnumToFullName[currentJewelMediaType] : ConvertionDicMediaEnumToFullName[requestedJewelMediaType];

            var matchedMetalKarat = Regex.Match(metal, "\\d{1,2}").Value;
            if (!string.IsNullOrEmpty(matchedMetalKarat))
            {
                metalName = Regex.Replace(metalName, "\\d{1,2}", matchedMetalKarat);
            }
        }
Esempio n. 11
0
 public CustomJewelCartItem(int diamondID, int settingID, string size, JewelMediaType mediaType, decimal price)
 {
     this.diamondID = diamondID;
     this.settingID = settingID;
     this.size = size;
     this.mediaType = mediaType;
     this.price = price;
     this.id = diamondID*3 + settingID*7;
     this.type = CartItemType.CustomJewel;
 }
Esempio n. 12
0
 public CustomJewelCartItem(int diamondID, int settingID, string size, JewelMediaType mediaType, decimal price)
 {
     this.diamondID = diamondID;
     this.settingID = settingID;
     this.size      = size;
     this.mediaType = mediaType;
     this.price     = price;
     this.id        = diamondID * 3 + settingID * 7;
     this.type      = CartItemType.CustomJewel;
 }
Esempio n. 13
0
        public IEnumerable <JsonMedia> Build(string itemNumberForSet, JewelMediaType mediaSetsOwnedByJewel)
        {
            this.jewelMediaSets = mediaSetsOwnedByJewel;
            this.itemNumber     = itemNumberForSet;

            var list = new List <JsonMedia>();



            switch (mediaSetsOwnedByJewel)
            {
            case JewelMediaType.All:
            {
                var media1 = BuildAndVerifyMediaByMediaSet(JewelMediaType.YellowGold);
                if (media1 != null)
                {
                    list.Add(media1);
                }

                var media2 = BuildAndVerifyMediaByMediaSet(JewelMediaType.WhiteGold);
                if (media2 != null)
                {
                    list.Add(media2);
                }
            }
            break;

            case JewelMediaType.YellowGold:
            {
                var media1 = BuildAndVerifyMediaByMediaSet(JewelMediaType.YellowGold);
                if (media1 != null)
                {
                    list.Add(media1);
                }
            }
            break;

            case JewelMediaType.WhiteGold:
            {
                var media2 = BuildAndVerifyMediaByMediaSet(JewelMediaType.WhiteGold);
                if (media2 != null)
                {
                    list.Add(media2);
                }
            }
            break;

            default:
                throw new ArgumentOutOfRangeException();
            }



            return(list);
        }
Esempio n. 14
0
        public Metal(JewelMediaType requestedJewelMediaType, JewelMediaType currentJewelMediaType, string metal)
        {
            metalName = requestedJewelMediaType == JewelMediaType.All ? ConvertionDicMediaEnumToFullName[currentJewelMediaType] : ConvertionDicMediaEnumToFullName[requestedJewelMediaType];

            var matchedMetalKarat = Regex.Match(metal, "\\d{1,2}").Value;

            if (!string.IsNullOrEmpty(matchedMetalKarat))
            {
                metalName = Regex.Replace(metalName, "\\d{1,2}", matchedMetalKarat);
            }
        }
Esempio n. 15
0
        public FakeJewelRepository(ISettingManager settingManager)
        {
            this.settingManager = settingManager;

            //defaults
            itemsPerPage = 21;
            page         = 1;
            orderBy      = new DynamicOrderBy("price", "desc");
            currentPage  = 1;
            requestedJewelMediaTypeByUser = JewelMediaType.All;
        }
Esempio n. 16
0
        public JewelRepository(ISettingManager settingManager)
        {
            this.settingManager = settingManager;

            //defaults
            itemsPerPage = 21;
            page = 1;
            orderBy = new DynamicOrderBy("price","desc");
            currentPage = 1;
            requestedJewelMediaTypeByUser = JewelMediaType.All;
        }
Esempio n. 17
0
        protected string ParseMetalFilter(JewelMediaType jewelTypeFilter)
        {
            var metalTypeFilterDictionary = new Dictionary <JewelMediaType, string>()
            {
                { JewelMediaType.All, /*"has_platinum=true*/ "has_yellow_gold=true or has_white_gold=true" },
//                                                                            {MetalMediaType.Platinum,"has_platinum=true"},
                { JewelMediaType.YellowGold, "has_yellow_gold=true" },
                { JewelMediaType.WhiteGold, "has_white_gold=true" }
            };

            return(metalTypeFilterDictionary[jewelTypeFilter]);
        }
        public JewelCartItem JewelCartItem(int id, string size, JewelMediaType mediaType)
        {
            var jewel = jewelRepository.GetJewelByID(id);
            var price = jewel.Price;

            var cartItem = new JewelCartItem(id, mediaType,(decimal) price);
            if (!String.IsNullOrWhiteSpace(size))
            {
                cartItem.SetSize(size);
            }

            return cartItem;
        }
        public JewelCartItem JewelCartItem(int id, string size, JewelMediaType mediaType)
        {
            var jewel = jewelRepository.GetJewelByID(id);
            var price = jewel.Price;

            var cartItem = new JewelCartItem(id, mediaType, (decimal)price);

            if (!String.IsNullOrWhiteSpace(size))
            {
                cartItem.SetSize(size);
            }

            return(cartItem);
        }
        public void MediaSetList_ShouldReturn2SetsBecauseTheFileExist()
        {
            //Arrange
            const string         itemNumber     = "0101-15001";
            const JewelMediaType jewelMediaSets = JewelMediaType.All;

            var fakeFileSystem = FakeFileSystem.MediaFileSystemForItemNumber();
            var settingManager = new FakeSettingManager();

            var mediaSetBuilder = new MediaSetBuilder(settingManager, fakeFileSystem);
            //Act
            var mediaSetList = mediaSetBuilder.Build(itemNumber, jewelMediaSets);

            //Assert
            mediaSetList.Should().HaveCount(2);
        }
Esempio n. 21
0
        private JsonMedia BuildAndVerifyMediaByMediaSet(JewelMediaType mediaSet)
        {
            var mediaFactory  = new MediaFactory(itemNumber, settingManager);
            var mediaVerifier = new MediaVerifier(fileSystem);

            mediaFactory.ChangeMediaSet(mediaSet, jewelMediaSets);
            var media = mediaVerifier.Verify(mediaFactory.BuildMedia());

            JsonMedia jsonMedia = null;

            if (media != null)
            {
                jsonMedia = new JsonMedia(media);
            }

            return(jsonMedia);
        }
Esempio n. 22
0
        public void ChangeMediaSet(JewelMediaType requestedJewelMediaType, JewelMediaType currentJewelMediaType)
        {
            var fromEnumToFileNamingConventionDictionary = new Dictionary <JewelMediaType, string>()
            {
                { JewelMediaType.WhiteGold, "wg" },
                { JewelMediaType.YellowGold, "yg" },
                { JewelMediaType.All, "wg" }
            };

            if (requestedJewelMediaType == JewelMediaType.All)
            {
                conventionMetalPrefix = fromEnumToFileNamingConventionDictionary[currentJewelMediaType];

                currentMediaSet = currentJewelMediaType == JewelMediaType.All ? JewelMediaType.WhiteGold : currentJewelMediaType;
            }
            else
            {
                conventionMetalPrefix = fromEnumToFileNamingConventionDictionary[requestedJewelMediaType];
                currentMediaSet       = requestedJewelMediaType;
            }
        }
Esempio n. 23
0
        public void ChangeMediaSet(JewelMediaType requestedJewelMediaType, JewelMediaType currentJewelMediaType)
        {
            var fromEnumToFileNamingConventionDictionary = new Dictionary<JewelMediaType, string>()
                                                  {
                                                      {JewelMediaType.WhiteGold, "wg"},
                                                      {JewelMediaType.YellowGold, "yg"},
                                                      {JewelMediaType.All, "wg"}
                                                  };

            if (requestedJewelMediaType == JewelMediaType.All)
            {
                conventionMetalPrefix = fromEnumToFileNamingConventionDictionary[currentJewelMediaType];

                currentMediaSet = currentJewelMediaType == JewelMediaType.All ? JewelMediaType.WhiteGold : currentJewelMediaType;
            }
            else
            {
                conventionMetalPrefix =  fromEnumToFileNamingConventionDictionary[requestedJewelMediaType];
                currentMediaSet = requestedJewelMediaType;
            }
        }
Esempio n. 24
0
        public ActionResult Index(int id, JewelMediaType? nullableMediaSet)
        {
            var mediaSet = nullableMediaSet ?? JewelMediaType.WhiteGold;

            jewelRepository.FilterMediaByMetal(mediaSet);

            var builder = new JewelryItemViewModelBuilder(id, jewelRepository, testimonailRepository,fileSystem,mapper);
            try
            {
                var viewModel = builder.Build();
                viewModel.PathBarItems = pathBarGenerator.GenerateUsing<UsingDynamicTitlePathBarResolver, dynamic>(viewModel);

                return View(viewModel);
            }
            catch (ArgumentNullException)
            {

                throw new ArgumentNullException("Bad Request for an item");
            }
        }
 public static CustomJewelCartItem FakeCustomJewelCartItem(int diamondid, int settingid, string size, JewelMediaType mediaType, decimal price)
 {
     var cartItem = new CustomJewelCartItem(diamondid, settingid, size, mediaType, price);
     return cartItem;
 }
 public static JewelCartItem FakeJewelCartItem(int id, string size, JewelMediaType mediaType,decimal price)
 {
     var cartItem = new JewelCartItem(id, mediaType,price);
     cartItem.SetSize(size);
     return cartItem;
 }
Esempio n. 27
0
        public static CustomJewelCartItem FakeCustomJewelCartItem(int diamondid, int settingid, string size, JewelMediaType mediaType, decimal price)
        {
            var cartItem = new CustomJewelCartItem(diamondid, settingid, size, mediaType, price);

            return(cartItem);
        }
Esempio n. 28
0
 public MetalFilter(JewelMediaType mediaType)
 {
     this.mediaType = mediaType;
 }
Esempio n. 29
0
        public ActionResult ShoppingCartAddCustomJewel(int diamondid,int settingid,string size,JewelMediaType mediaType)
        {
            var shoppingCart = shoppingCartWrapper.Get();
            if (diamondid > 0)
            {

                var cartItem = cartItemsFactory.CustomJewelCartItem(diamondid,settingid,size,mediaType);
                shoppingCart.AddItem(cartItem);

                PersistShoppingCart(shoppingCart);
            }

            return RedirectToAction("ShoppingCart");
        }
Esempio n. 30
0
 public void FilterMediaByMetal(JewelMediaType jewelMediaType)
 {
     requestedJewelMediaTypeByUser = jewelMediaType;
 }
Esempio n. 31
0
 public static string GetFullName(JewelMediaType mediaType)
 {
     return(ConvertionDicMediaEnumToFullName[mediaType]);
 }
        public CustomJewelCartItem CustomJewelCartItem(int diamondID, int settingID, string size, JewelMediaType mediaType)
        {
            var diamond = diamondRepository.GetDiamondByID(diamondID);
            var jewel   = jewelRepository.GetJewelByID(settingID);

            var price = diamond.Price + (decimal)jewel.Price;


            return(new CustomJewelCartItem(diamondID, settingID, size, mediaType, price));
        }
Esempio n. 33
0
        public ActionResult ShoppingCartAddJewel(int? id, string size, JewelMediaType? mediaType)
        {
            var jewelMediaType = mediaType ?? JewelMediaType.WhiteGold;
            var shoppingCart = shoppingCartWrapper.Get();
            if (id != null && id > 0)
            {

                var cartItem = cartItemsFactory.JewelCartItem((int)id, size, jewelMediaType);
                shoppingCart.AddItem(cartItem);

                PersistShoppingCart(shoppingCart);
            }

            return RedirectToAction("ShoppingCart");
        }
Esempio n. 34
0
        private string ParseMetalFilter(JewelMediaType jewelTypeFilter)
        {
            var metalTypeFilterDictionary = new Dictionary<JewelMediaType, string>()
                                                                        {
                                                                            {JewelMediaType.All,/*"has_platinum=true*/"has_yellow_gold=true or has_white_gold=true"},
            //                                                                            {MetalMediaType.Platinum,"has_platinum=true"},
                                                                            {JewelMediaType.YellowGold,"has_yellow_gold=true"},
                                                                            {JewelMediaType.WhiteGold,"has_white_gold=true"}
                                                                        };

            return metalTypeFilterDictionary[jewelTypeFilter];
        }
Esempio n. 35
0
 public void FilterMediaByMetal(JewelMediaType jewelMediaType)
 {
     requestedJewelMediaTypeByUser = jewelMediaType;
 }
Esempio n. 36
0
 public static string GetFullName(JewelMediaType mediaType)
 {
     return ConvertionDicMediaEnumToFullName[mediaType];
 }
Esempio n. 37
0
        public ActionResult ShoppingCartAddCustomJewel(int diamondid, int settingid, string size, JewelMediaType mediaType)
        {
            var shoppingCart = shoppingCartWrapper.Get();

            if (diamondid > 0)
            {
                var cartItem = cartItemsFactory.CustomJewelCartItem(diamondid, settingid, size, mediaType);
                shoppingCart.AddItem(cartItem);

                PersistShoppingCart(shoppingCart);
            }

            return(RedirectToAction("ShoppingCart"));
        }