public ActionResult Create(Guid productsAttributesId)
        {
            ProductAttributeOptions option = new ProductAttributeOptions();

            option.ProductsAttributesId = productsAttributesId;
            return(PartialView("_Create", option));
        }
Пример #2
0
        public ActionResult Create(ProductsAttributeViewModel viewModel, string[] AttributeOptions)
        {
            if (ModelState.IsValid)
            {
                ProductsAttribute productAttribute = new ProductsAttribute();
                Guid attributeId = Guid.NewGuid();
                productAttribute.Id   = attributeId;
                productAttribute.Name = viewModel.Name;
                _dbContext.ProductsAttributes.Add(productAttribute);

                var attributeOptionsList = _dbContext.ProductAttributeOptions;

                if (AttributeOptions != null)
                {
                    foreach (var option in AttributeOptions)
                    {
                        ProductAttributeOptions attributeOption = new ProductAttributeOptions();
                        attributeOption.Id = Guid.NewGuid();
                        attributeOption.ProductsAttributesId = attributeId;
                        attributeOption.Name = option;
                        //  ProductAttributeOptions retriveAttributeOption = attributeOptionsList.Where(t => t.Name == tag).FirstOrDefault();
                        // newBlog.Tags.Add(retriveTag);
                        _dbContext.ProductAttributeOptions.Add(attributeOption);
                    }
                }

                _dbContext.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(viewModel));
        }
        public ActionResult DeleteConfirmed(Guid id)
        {
            ProductAttributeOptions productAttributeOptions = _dbContext.ProductAttributeOptions.Find(id);

            _dbContext.ProductAttributeOptions.Remove(productAttributeOptions);
            _dbContext.SaveChanges();
            return(Json(new { success = true }));
        }
 public ActionResult Edit(ProductAttributeOptions productAttributeOptions)
 {
     if (ModelState.IsValid)
     {
         _dbContext.Entry(productAttributeOptions).State = EntityState.Modified;
         _dbContext.SaveChanges();
         return(Json(new { success = true }));
     }
     return(View(productAttributeOptions));
 }
 public ActionResult Create(ProductAttributeOptions productAttributeOptions)
 {
     if (ModelState.IsValid)
     {
         productAttributeOptions.Id = Guid.NewGuid();
         _dbContext.ProductAttributeOptions.Add(productAttributeOptions);
         _dbContext.SaveChanges();
         return(Json(new { success = true }));
     }
     return(View(productAttributeOptions));
 }
Пример #6
0
        public ActionResult Create(ProductCategoryViewModel viewModel, string[] AttributeOptions)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ValidateParentsAreParentless(viewModel);
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    ViewBag.ParentCategoryIdSelectList = PopulateParentCategorySelectList(null);
                    return(View(viewModel));
                }
                ProductCategory category = new ProductCategory();
                category.Id = Guid.NewGuid();
                category.ParentCategoryId = viewModel.ParentCategoryId;
                category.Name             = viewModel.Name;
                _dbContext.ProductCategories.Add(category);

                if (viewModel.AttributeName != null)
                {
                    ProductsAttribute productAttribute = new ProductsAttribute();
                    Guid attributeId = Guid.NewGuid();
                    productAttribute.Id   = attributeId;
                    productAttribute.Name = viewModel.AttributeName;
                    _dbContext.ProductsAttributes.Add(productAttribute);

                    var attributeOptionsList = _dbContext.ProductAttributeOptions;
                    if (AttributeOptions != null)
                    {
                        foreach (var option in AttributeOptions)
                        {
                            ProductAttributeOptions attributeOption = new ProductAttributeOptions();
                            attributeOption.Id = Guid.NewGuid();
                            attributeOption.ProductsAttributesId = attributeId;
                            attributeOption.Name = option;
                            _dbContext.ProductAttributeOptions.Add(attributeOption);
                        }
                    }
                    // category.ProductsAttributes.Add(productAttribute);
                }

                _dbContext.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ParentCategoryIdSelectList = PopulateParentCategorySelectList(null);
            return(View(viewModel));
        }
        public ActionResult Delete(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProductAttributeOptions productAttributeOptions = _dbContext.ProductAttributeOptions.Find(id);

            if (productAttributeOptions == null)
            {
                return(HttpNotFound());
            }
            return(PartialView("_Delete", productAttributeOptions));
        }
Пример #8
0
        public ActionResult Edit(ProductCategoryViewModel productCategoryViewModel, string[] AttributeOptions)
        {
            if (ModelState.IsValid)
            {
                ProductCategory productCategory = _dbContext.ProductCategories.Find(productCategoryViewModel.Id);
                productCategory.Name                    = productCategoryViewModel.Name;
                productCategory.ParentCategoryId        = productCategoryViewModel.ParentCategoryId;
                _dbContext.Entry(productCategory).State = EntityState.Modified;

                if (!string.IsNullOrEmpty(productCategoryViewModel.AttributeName))
                {
                    ProductsAttribute productAttribute = new ProductsAttribute();
                    Guid attributeId = Guid.NewGuid();
                    productAttribute.Id   = attributeId;
                    productAttribute.Name = productCategoryViewModel.AttributeName;
                    _dbContext.ProductsAttributes.Add(productAttribute);
                    productCategory.ProductsAttributes.Add(productAttribute);

                    if (AttributeOptions != null)
                    {
                        foreach (var option in AttributeOptions)
                        {
                            if (option == "")
                            {
                            }
                            else
                            {
                                ProductAttributeOptions attributeOption = new ProductAttributeOptions();
                                attributeOption.Id = Guid.NewGuid();
                                attributeOption.ProductsAttributesId = attributeId;
                                attributeOption.Name = option;
                                //  ProductAttributeOptions retriveAttributeOption = attributeOptionsList.Where(t => t.Name == tag).FirstOrDefault();
                                // newBlog.Tags.Add(retriveTag);
                                _dbContext.ProductAttributeOptions.Add(attributeOption);
                            }
                        }
                    }
                }
                //foreach (var option in productsAttribute.ProductAttributeOptions.ToArray())
                //{
                //    productsAttribute.ProductAttributeOptions.Remove(option);
                //}
                _dbContext.SaveChanges();
                ViewBag.ParentCategoryIdSelectList = PopulateParentCategorySelectList(productCategoryViewModel.Id);
                TempData["MessageToClientSuccess"] = "SuccessFully Saved";
                return(RedirectToAction("Edit", new { id = productCategoryViewModel.Id }));
            }
            return(View(productCategoryViewModel));
        }
        public ActionResult Edit(ProductViewModel viewModel, string[] AttributeSelectedOnView, Guid[] OptionsSelectedOnView, string[] CategorySelectedOnView)
        {
            if (ModelState.IsValid)
            {
                Product product = _dbContext.Products.Find(viewModel.Id);
                product.Name                     = viewModel.Name;
                product.Code                     = viewModel.Code;
                product.ModelNumber              = viewModel.ModelNumber;
                product.Title                    = viewModel.Title;
                product.Discription              = viewModel.Discription;
                product.Specifications           = viewModel.Specifications;
                product.DiscountPerUnitInPercent = viewModel.DiscountPerUnitInPercent;
                product.SalePrice                = viewModel.SalePrice;
                product.IsAvailableForSale       = viewModel.IsAvailableForSale;
                product.Is_BestSeller            = viewModel.Is_BestSeller;
                product.Is_NewArrival            = viewModel.Is_NewArrival;
                product.ShowOnWebsite            = viewModel.ShowOnWebsite;
                product.Is_FeaturedProduct       = viewModel.Is_FeaturedProduct;

                if (viewModel.ModelNumber != null)
                {
                    product.AutoGenerateName = viewModel.Code + "/" + viewModel.Name + "/" + viewModel.ModelNumber + " ";
                }
                else
                {
                    product.AutoGenerateName = viewModel.Code + "/" + viewModel.Name + " ";
                }
                if (viewModel.MainImageNameFile != null)
                {
                    string             fName = "";
                    HttpPostedFileBase file  = viewModel.MainImageNameFile;
                    fName = viewModel.MainImageNameFile.FileName;
                    string ImageNameWithOutExtention = System.IO.Path.GetFileNameWithoutExtension(fName);
                    string extension = Path.GetExtension(fName);

                    var    originalDirectory = new DirectoryInfo(string.Format("{0}Images\\Upload", Server.MapPath(@"\")));
                    string pathString        = System.IO.Path.Combine(originalDirectory.ToString(), product.ProductCategory.Name);
                    var    fileName1         = Path.GetFileName(file.FileName);
                    bool   isExists          = System.IO.Directory.Exists(pathString);
                    if (!isExists)
                    {
                        System.IO.Directory.CreateDirectory(pathString);
                    }
                    var path = string.Format("{0}\\{1}", pathString, file.FileName);
                    file.SaveAs(path);


                    var versions  = new Dictionary <string, string>();
                    var imagePath = string.Format("{0}\\{1}", pathString, ImageNameWithOutExtention);

                    versions.Add("_small", "maxwidth=100&maxheight=100&format=jpg");
                    versions.Add("_medium", "maxwidth=500&maxheight=500&format=jpg");
                    versions.Add("_large", "maxwidth=900&maxheight=900&format=jpg");
                    foreach (var suffix in versions.Keys)
                    {
                        file.InputStream.Seek(0, SeekOrigin.Begin);
                        ImageBuilder.Current.Build(
                            new ImageJob(
                                file.InputStream,
                                imagePath + suffix,
                                new Instructions(versions[suffix]),
                                false,
                                true));
                    }
                    product.ThumbMainImageName = ImageNameWithOutExtention;
                    product.ImageExtention     = extension;
                }
                // var productAttList = _dbContext.ProductsAttributes;
                //  var productCategory = _dbContext.ProductCategories;
                //if (CategorySelectedOnView != null)
                //{
                //    foreach (var attr in product.ProductCategories.ToArray())
                //    {
                //        product.ProductCategories.Remove(attr);
                //    }
                //    foreach (var att in CategorySelectedOnView)
                //    {
                //        ProductCategory category = productCategory.Where(pa => pa.Name == att).FirstOrDefault();
                //        // attr.Products.Add(product);
                //        product.ProductCategories.Add(category);
                //    }
                //}
                var    productOptions = _dbContext.ProductAttributeOptions;
                string autoName       = string.Empty;
                foreach (var option in product.ProductAttributeOptions)
                {
                    ProductAttributeOptions productAttrOption = productOptions.Where(po => po.Id == option.Id).FirstOrDefault();
                    // product.ProductAttributeOptions.Remove(option);
                    productAttrOption.Products.Remove(product);
                }
                _dbContext.Entry(product).State = EntityState.Modified;
                _dbContext.SaveChanges();
                autoName += "(";
                if (OptionsSelectedOnView != null)
                {
                    foreach (var option in OptionsSelectedOnView)
                    {
                        ProductAttributeOptions productAttrOption = productOptions.Where(po => po.Id == option).FirstOrDefault();
                        autoName += productAttrOption.ProductsAttribute.Name + "-" + productAttrOption.Name + "/";
                        product.ProductAttributeOptions.Add(productAttrOption);
                        //  productAttrOption.ProductsAttribute.Products.Add(product);
                    }
                }
                autoName += ")";
                product.AutoGenerateName        = product.AutoGenerateName + autoName;
                _dbContext.Entry(product).State = EntityState.Modified;
                _dbContext.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(viewModel));
        }