Esempio n. 1
0
        public static List <ProductAtrributeOptionsViewModel> GetProductAtrributeOptionById(int id)
        {
            ResponseViewModel <ProductAtrributeOptionsViewModel> viewModel       = new ResponseViewModel <ProductAtrributeOptionsViewModel>();
            List <ProductAtrributeOptionsViewModel> attributeOptionViewModelList = new List <ProductAtrributeOptionsViewModel>();

            using (EcommerceEntities entities = new EcommerceEntities())
            {
                List <ProductAttributeOption> options     = new List <ProductAttributeOption>();
                List <ProductAttribute>       attributes  = new List <ProductAttribute>();
                List <OptionList>             optionsList = null;
                attributes = entities.ProductAttributes.Where(entry => entry.ProductSubCategoryID == id).ToList();
                foreach (var attribute in attributes)
                {
                    ProductAtrributeOptionsViewModel attributeOptionViewModel = new ProductAtrributeOptionsViewModel();
                    attributeOptionViewModel.attributeName = attribute.Name;
                    attributeOptionViewModel.attributeId   = Convert.ToInt32(attribute.ID);
                    options = entities.ProductAttributeOptions.Where(entry => entry.ProductAtrributeID == attribute.ID).ToList();
                    if (options != null)
                    {
                        optionsList = new List <OptionList>();
                        foreach (var option in options)
                        {
                            OptionList optionViewModel = new OptionList();
                            optionViewModel.optionName = option.Value;
                            optionViewModel.optionId   = Convert.ToInt32(option.ID);
                            optionsList.Add(optionViewModel);
                        }
                    }
                    attributeOptionViewModel.optionList = optionsList;
                    attributeOptionViewModelList.Add(attributeOptionViewModel);
                }
                return(attributeOptionViewModelList);
            }
        }
Esempio n. 2
0
        public static List <CartAttributeViewModel> GetCartItems(int cartId)
        {
            List <CartAttributeViewModel> response        = new List <CartAttributeViewModel>();
            List <CartItemOption>         cartItemOptions = new List <CartItemOption>();
            Cart cart = GetCart(cartId);

            if (cart != null)
            {
                using (EcommerceEntities entities = new EcommerceEntities())
                {
                    List <GetCartItemsByCartId_Result> cartItems = entities.GetCartItemsByCartId(cartId).ToList();
                    foreach (var cartitem in cartItems)
                    {
                        ProductAtrributeOptionsViewModel        productAtrributeViewModel     = null;
                        List <ProductAtrributeOptionsViewModel> productAtrributeViewModelList = new List <ProductAtrributeOptionsViewModel>();
                        CartAttributeViewModel viewModel      = new CartAttributeViewModel();
                        CartItemOption         cartItemOption = new CartItemOption();
                        viewModel.cartItem = cartitem;
                        cartItemOptions    = entities.CartItemOptions.Where(entry => entry.CartItemID == cartitem.ID).ToList();
                        foreach (var cartOption in cartItemOptions)
                        {
                            productAtrributeViewModel = new ProductAtrributeOptionsViewModel();
                            ProductAttributeOption optionDb           = new ProductAttributeOption();
                            OptionList             option             = new OptionList();
                            List <OptionList>      optionList         = new List <OptionList>();
                            ProductAttribute       productAttributeDb = new ProductAttribute();
                            optionDb           = entities.ProductAttributeOptions.Where(entry => entry.ID == cartOption.OptionsID).FirstOrDefault();
                            productAttributeDb = entities.ProductAttributes.Where(entry => entry.ID == optionDb.ProductAtrributeID).FirstOrDefault();
                            option.optionId    = Convert.ToInt32(cartOption.OptionsID);
                            option.optionName  = optionDb.Value;
                            optionList.Add(option);
                            productAtrributeViewModel.attributeId   = Convert.ToInt32(productAttributeDb.ID);
                            productAtrributeViewModel.attributeName = productAttributeDb.Name;
                            productAtrributeViewModel.optionList    = optionList;
                            productAtrributeViewModelList.Add(productAtrributeViewModel);
                        }
                        viewModel.options = productAtrributeViewModelList;
                        response.Add(viewModel);
                    }
                }
            }
            return(response);
        }
 public static ProductOptionViewModel GetProductById(int id)
 {
     ProductOptionViewModel productAtrributeViewModel = new ProductOptionViewModel();
     List<ProductAtrributeOptionsViewModel> viewModel = new List<ProductAtrributeOptionsViewModel>();
     using (EcommerceEntities entities = new EcommerceEntities())
     {
         //ResponseViewModel<ProductAtrributeOptionsViewModel> response = new ResponseViewModel<ProductAtrributeOptionsViewModel>();
         List<Product_Attribute> options = new List<Product_Attribute>();
         List<ProductAttribute> attributes = new List<ProductAttribute>();
         //List<ProductAttributeOption> options = new List<ProductAttributeOption>();
         GetProductById_Result result = entities.GetProductById(id).FirstOrDefault();//get api of product
         Product product = new Product();
         product.Name = result.Name;
         product.ID = result.ID;
         product.Price = result.Price;
         product.ProductCateogoryID = result.CategoryId;
         product.ProductSubCategoryID = result.SubCategoryID;
         product.Image = result.Image;
         product.Description = result.Description;
         product.Discount = result.Discount;
         product.Quentity = result.Quentity;
         options = entities.Product_Attribute.Where(entry => entry.ProductID == id).ToList();
         //attributes = entities.ProductAttributes.Where(entry => entry. == product.ProductSubCategoryID).ToList();
         if (options != null)
         {
             foreach (var option in options)
             {
                 ProductAtrributeOptionsViewModel attributeOptionViewModel = new ProductAtrributeOptionsViewModel();
                 ProductAtrributeOptionsViewModel attributeOptionViewModelObj = new ProductAtrributeOptionsViewModel();
                 List<OptionList> optionsList = new List<OptionList>();
                 ProductAttributeOption optionDb = new ProductAttributeOption();
                 ProductAttribute productAttributeDb = new ProductAttribute();
                 optionDb = entities.ProductAttributeOptions.Where(entry => entry.ID == option.OptionID).FirstOrDefault();
                 productAttributeDb = entities.ProductAttributes.Where(entry => entry.ID == optionDb.ProductAtrributeID).FirstOrDefault();
                 attributeOptionViewModel.attributeName = productAttributeDb.Name;
                 attributeOptionViewModel.attributeId = Convert.ToInt32(productAttributeDb.ID);
                 if(viewModel.Any(entry => entry.attributeId == attributeOptionViewModel.attributeId))
                 {
                     attributeOptionViewModelObj = viewModel.Where(entry => entry.attributeId == attributeOptionViewModel.attributeId).FirstOrDefault();
                     if (attributeOptionViewModelObj != null)
                     {
                         OptionList optionViewModel = new OptionList();
                         optionViewModel.optionName = optionDb.Value;
                         optionViewModel.optionId = Convert.ToInt32(optionDb.ID);
                         attributeOptionViewModel.optionList = optionsList;
                         attributeOptionViewModelObj.optionList.Add(optionViewModel);
                     }   
                 }
                 else
                 {
                     OptionList optionViewModel = new OptionList();
                     optionViewModel.optionName = optionDb.Value;
                     optionViewModel.optionId = Convert.ToInt32(optionDb.ID);
                     optionsList.Add(optionViewModel);
                     attributeOptionViewModel.optionList = optionsList;
                     viewModel.Add(attributeOptionViewModel);
                 }
             }
         }
         productAtrributeViewModel.product = product;
         productAtrributeViewModel.ViewModel = viewModel;
     }
     return productAtrributeViewModel;
 }