コード例 #1
0
        public HttpResponseMessage PutCategory([FromBody] CategoryViewModel category)
        {
            if (ModelState.IsValid)
            {
                //this.ValidateProductCreateModel(category);

                Category editedCategory = db.Categories.Where(c => c.Id == category.Id).FirstOrDefault();

                if (editedCategory != null)
                {
                    editedCategory.Name        = category.Name;
                    editedCategory.Description = category.Description;
                }

                db.Entry(editedCategory).State = EntityState.Modified;

                try
                {
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound));
                }

                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }
コード例 #2
0
 public ActionResult Edit([Bind(Include = "ID,Category1,CateDescription,Active")] Category category)
 {
     if (ModelState.IsValid)
     {
         db.Entry(category).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(category));
 }
コード例 #3
0
 public ActionResult Edit([Bind(Include = "ID,ImgDescription,ImgURL,Active,ProductId")] ProductImage productImage)
 {
     if (ModelState.IsValid)
     {
         db.Entry(productImage).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ProductId = new SelectList(db.Products, "ID", "Name", productImage.ProductId);
     return(View(productImage));
 }
コード例 #4
0
ファイル: ProductsController.cs プロジェクト: Omar012/Academy
 public ActionResult Edit([Bind(Include = "ID,Name,ProdDescription,Model,Price,Keywords,CategoryId,Active")] Product product)
 {
     if (ModelState.IsValid)
     {
         db.Entry(product).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CategoryId = new SelectList(db.Categories, "ID", "Category1", product.CategoryId);
     return(View(product));
 }
コード例 #5
0
 public ActionResult Edit([Bind(Include = "ID,ImgDescription,ImageURL,Active,ProductID,CreateDateTime")] Image image)
 {
     if (ModelState.IsValid)
     {
         image.UpdateDateTime  = DateTime.Now;
         db.Entry(image).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ProductID = new SelectList(db.Products, "ID", "Name", image.ProductID);
     return(View(image));
 }
コード例 #6
0
        public async Task <HttpResponseMessage> PutProduct(string id)
        {
            if (Request.Content.IsMimeMultipartContent("form-data"))
            {
                if (Request.Content.IsMimeMultipartContent())
                {
                    // Read the file and form data.
                    var provider = new MultipartFormDataMemoryStreamProvider();
                    await Request.Content.ReadAsMultipartAsync(provider);

                    string imageFileName = ReadFilesFromFormDataAndUploadIfAny(provider);

                    // Extract the other fields from the form data.
                    string name             = provider.FormData["name"];
                    string description      = provider.FormData["description"];
                    string categoryIdString = provider.FormData["categoryId"];

                    if (!String.IsNullOrEmpty(name) &&
                        !String.IsNullOrEmpty(categoryIdString))
                    {
                        // TODO: additional exception handling
                        int idParsed   = Convert.ToInt32(id);
                        int categoryId = Convert.ToInt32(categoryIdString);

                        Product editedProduct = db.Products.Where(p => p.Id == idParsed).FirstOrDefault();

                        if (editedProduct != null)
                        {
                            editedProduct.Name        = name;
                            editedProduct.Description = description;
                            editedProduct.CategoryId  = categoryId;

                            string currentImage = editedProduct.Image;

                            // if there is a new image selected, delete the old image from file system
                            // if it is not the default image
                            if (currentImage != this.defaultImageFileName && imageFileName != this.defaultImageFileName)
                            {
                                DeleteImageFromFileSystem(currentImage);
                            }

                            // if a new image is uploaded for the product
                            // set the product image to it
                            if (imageFileName != this.defaultImageFileName)
                            {
                                editedProduct.Image = imageFileName;
                            }

                            //db.Products.Add(product);
                            db.Entry(editedProduct).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Error: The product cannot be found"));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Error: The following fields are required: Name, Category"));
                    }
                }
            }

            return(Request.CreateResponse(HttpStatusCode.OK, "Product has been successfully edited"));
        }