public TOut LoadJewelryCollection <TOut>(TOut viewModel) where TOut : ITabsViewModel
        {
            var dynamicSQLObject = GetDynamicSQLStringBytabKeyAndID(tabKey, tabId);

            jewelRepository.Page(page);
            jewelRepository.ItemsPerPage(itemsPerPage);



            var jewelMediaType = JewelMediaTypeFilter.Value;

            jewelRepository.FilterMediaByMetal(jewelMediaType);
            jewelRepository.OrderJewelryItemsBy(OrderByPriceFilter.DynamicOrderBy());

            if (CustomFiltersStateList.Count > 0)
            {
                var dynamicSQLList =
                    CustomFiltersStateList.Select(x => ConvertCustomFilterStateToDynamicSQL(x)).ToList();

                jewelRepository.AddFilterList(dynamicSQLList);
            }


            var jewelList = jewelRepository.GetJewelsByDynamicSQL(dynamicSQLObject);

            viewModel.JewelryInTabContainersCollection = MapJewelsToInTabContainers(jewelList);

            var totalItems = jewelRepository.TotalItems;

            viewModel.TotalPages = CalculateTotalPages(totalItems);

            return(viewModel);
        }
Beispiel #2
0
        public ActionResult BestOfferWidget()
        {
            var jewels =
                _jewelRepository.GetJewelsByDynamicSQL(new DynamicSQLWhereObject("ONBARGAIN = @0", true))
                .OrderBy(random => Guid.NewGuid());

            ;

            var viewModel = new BestOfferWidgetViewModel
            {
                Jewels = jewels.Select(ToJewelDescriptor).Take(5).ToList(),
                Count  = jewels.Count()
            };

            return(View(viewModel));
        }
 public SpecialOffersBannervViewModel Build()
 {
     var jewel = jewelRepository.GetJewelsByDynamicSQL(new DynamicSQLWhereObject("onspecial = true")).OrderBy(x => Guid.NewGuid()).Take(1).ToList().FirstOrDefault(); 
     return mapper.Map<Jewel, SpecialOffersBannervViewModel>(jewel);
 }