예제 #1
0
        public ViewResult Create() {
             //Инициализируем продукт;
            var editProduct = new EditProduct {Products = new Product(),
                                               CategorySubcategory = new ProductAndCategorySubcategory()
            };
            var cat = from p in _repository.Categories
                           select p;
            foreach (var op in cat)
            {
                editProduct.CategorySubcategory.Categories.Add(new SelectListItem() { Text = op.CategoryName, Value = op.CategoryId.ToString() });
            }

            _productID = 0;
            return View("Edit", editProduct);
        }
예제 #2
0
        //Редактирование товара
        public ViewResult Edit(int productId) 
        {
            //Инициализируем Model для View
            //Получаем Product по Id
            var editProduct = new EditProduct
                {
                    Products = _repository.Products
                    .FirstOrDefault(p => p.ProductID == productId),
                    CategorySubcategory = new ProductAndCategorySubcategory()
                };

            //Локальные переменные для более коротких инициализаций далее
            string nameSubcategory = ReturnsNameOfTheSubcategoryNumber(editProduct.Products.SubcategoryId);
            int valueSubcategoryInt = editProduct.Products.SubcategoryId;
            int valueCategoryInt = editProduct.Products.CategoryId;

            //Инициализируем категория/подкатегория
            //Заносим список ВСЕХ категорий
            var cat = from p in _repository.Categories
                      select p;
            foreach (var op in cat)
            {
                editProduct.CategorySubcategory.Categories
                    .Add(new SelectListItem() { Text = op.CategoryName, Value = op.CategoryId.ToString() });
            }
            
           //Заносим в Subcategories текущую продукта
           editProduct.CategorySubcategory.Subcategories
               .Add(new SelectListItem()
               {
                   Text = nameSubcategory,
                   Value = valueSubcategoryInt.ToString()
               });
            
           //Заносим string id - номер категории, которая будет показана в drop листе
           //выделенной
           editProduct.CategorySubcategory.SelectedCategory = valueCategoryInt.ToString();
           //подкатегория
           editProduct.CategorySubcategory.SelectedSubcategory = valueSubcategoryInt.ToString();

            //Сохраняем номер модели
           _productID = productId;
            return View(editProduct);
        }
예제 #3
0
 public ActionResult Edit(EditProduct product, HttpPostedFileBase imageForAdd)
 {
     if (ModelState.IsValid)
     {
         //Заносим категорию и подкатегорию - для нового/старого продукта
         product.Products.CategoryId = Convert.ToInt32(product.CategorySubcategory.SelectedCategory);
         product.Products.SubcategoryId = Convert.ToInt32(product.CategorySubcategory.SelectedSubcategory);
          //Новый Product
         if (_productID != 0)
         {
             product.Products.ProductID = _productID;
             // add a message to the viewbag
             TempData["message"] = string.Format("{0} был изменен!", product.Products.Name);
         }
         else { TempData["message"] = string.Format("{0} был создан!", product.Products.Name); }
         if (imageForAdd != null)
         {
             var pic = new Picture
             {
                 PicBigMime = imageForAdd.ContentType,
                 PicBig = new byte[imageForAdd.ContentLength]
             };
             product.Products.Pictures = new List<Picture> {pic};
             //product.Products.ImageMimeType = image.ContentType;
             //product.Products.ImageData = new byte[image.ContentLength];
             //image.InputStream.Read(product.Products.ImageData, 0, image.ContentLength);
         }
         _repository.SaveProduct(product.Products);
         return RedirectToAction("Index");
     } else {
         // Что-то делаем если модель дрянь
         return View(product);
     }
 }
예제 #4
0
        [ValidateInput(false)] //Убирает валидацию (ругань на текст с тегами в description
        public ActionResult Edit(EditProduct product, 
                                 IEnumerable<HttpPostedFileBase> imageForAdd)
        {
            if (ModelState.IsValid)
            {
                //Заносим категорию и подкатегорию - для нового/старого продукта
                product.Products.CategoryId = Convert.ToInt32(product.CategorySubcategory.SelectedCategory);
                product.Products.SubcategoryId = Convert.ToInt32(product.CategorySubcategory.SelectedSubcategory);
                //Новый Product
                if (_productID != 0)
                {
                    product.Products.ProductID = _productID;
                    // add a message to the viewbag
                    TempData["message"] = string.Format("{0} был изменен!", product.Products.Name);
                }
                else { TempData["message"] = string.Format("{0} был создан!", product.Products.Name); }
                if (imageForAdd != null)
                {
                    product.Products.Pictures = new List<Picture>();
                    foreach (var pc in imageForAdd)
                    {

                        var pic = new Picture
                                      {
                                          PicBigMime = pc.ContentType,
                                          PicBig = new byte[pc.ContentLength]

                                      };

                        pc.InputStream.Read(pic.PicBig, 0, pc.ContentLength);

                        product.Products.Pictures.Add(pic);
                    }
                    //product.Products.ImageMimeType = image.ContentType;
                    //product.Products.ImageData = new byte[image.ContentLength];
                    //image.InputStream.Read(product.Products.ImageData, 0, image.ContentLength);
                }
                _repository.SaveProduct(product.Products);
                string namesubcat = ReturnsNameOfTheSubcategoryNumber(product.Products.SubcategoryId);
                return RedirectToAction("List", new { subcategory = namesubcat, page = 1 });
            }
            else
            {
                // Что-то делаем если модель дрянь
                return View(product);
            }
        }