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 Create([Bind(Include = "ID,Category1,CateDescription,Active")] Category category)
        {
            if (ModelState.IsValid)
            {
                db.Categories.Add(category);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(category));
        }
예제 #3
0
        public ActionResult Create([Bind(Include = "ID,ImgDescription,ImgURL,Active,ProductId")] ProductImage productImage)
        {
            if (ModelState.IsValid)
            {
                db.ProductImages.Add(productImage);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ProductId = new SelectList(db.Products, "ID", "Name", productImage.ProductId);
            return(View(productImage));
        }
예제 #4
0
        public ActionResult Create([Bind(Include = "ID,Name,ProdDescription,Model,Price,Keywords,CategoryId,Active")] Product product)
        {
            if (ModelState.IsValid)
            {
                db.Products.Add(product);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CategoryId = new SelectList(db.Categories, "ID", "Category1", product.CategoryId);
            return(View(product));
        }
예제 #5
0
        public ActionResult Create([Bind(Include = "ID,ImgDescription,ImageURL,Active,ProductID")] Image image)
        {
            if (ModelState.IsValid)
            {
                image.CreateDateTime = DateTime.Now;
                image.UpdateDateTime = DateTime.Now;
                db.Images.Add(image);
                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"));
        }