// GET: ProductManage/Create public ActionResult Create() { var vm = new ProductManageCreateViewModel { PublishTime=DateTime.Now, ProductCategories = db.ProductCategories.ToList(), ProductProperties = db.ProductProperties.ToList() }; return View(vm); }
public ActionResult Create(ProductManageCreateViewModel model) { if (ModelState.IsValid) { //find properties in db var productPropertis = db.ProductProperties.Where(p => model.ProductPropertyForProduct.Contains(p.Id)).ToList(); var product = new Product { Name = model.Name, ShortDescription = model.ShortDescription, Remark = model.Remark, Price = model.Price, CurrentDiscount = model.CurrentDiscount, DiscountStartTime = model.DiscountStartTime, DiscountEndTime = model.DiscountEndTime, PublishTime = model.PublishTime, IsSeasonalProduct = model.IsSeasonalProduct, SaleStartTime = model.SaleStartTime, SaleEndTime = model.SaleEndTime, CategoryId = model.ProductCategoryForProduct, Properties = productPropertis }; //store in db and get the id db.Products.Add(product); db.SaveChanges(); if (model.CoverImg != null) { var uploadedFile = new UploadedFile(model.CoverImg); var coverImgName=uploadedFile.SaveAsWithGuid(Server.MapPath("~/ImgRepository/ProductImgs/" + product.Id)); var pathRel = Url.Content("~/ImgRepository/ProductImgs/" + product.Id + "/" + coverImgName); product.CoverImgUrl = pathRel; db.Entry(product).State = EntityState.Modified; db.SaveChanges(); } //update ProductId for each uploaded ProductImg if (!string.IsNullOrEmpty(model.UploadImgsIdString)) { var uploadedImgsIdArray = model.UploadImgsIdString.Split(','); foreach (var item in uploadedImgsIdArray) { if (!string.IsNullOrEmpty(item)) { var productImg = db.ProductImages.Where(pImage => pImage.Id.ToString() == item).Single(); //move to product's folder var imgName = UploadedFile.UploadedFileMoveTo(productImg.Url, Path.Combine(Server.MapPath("~/ImgRepository/ProductImgs/" + product.Id), (new FileInfo(productImg.Url)).Name)); var newPathRel= Url.Content("~/ImgRepository/ProductImgs/" + product.Id + "/" + imgName); productImg.Url = newPathRel; productImg.ProductId = product.Id; db.SaveChanges(); } } } return RedirectToAction("Index"); } model.ProductCategories = db.ProductCategories.ToList(); model.ProductProperties = db.ProductProperties.ToList(); return View(model); }