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); } }
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; }