private void SaveImage(ModelImageViewModel viewModel, HttpPostedFileBase file) { if (file == null || file.ContentLength <= 0) return; var fileName = Path.GetFileName(file.FileName); var extension = Path.GetExtension(fileName).ToLower(); var validImageExtensions = new List<string>() { ".jpg", ".png", ".gif", ".bmp" }; if (!validImageExtensions.Contains(extension)) throw new ApplicationException("Invalid Image extension."); var savePath = string.Format("~/Images/{0}/", viewModel.CategoryName); if (savePath.StartsWith("~")) savePath = Server.MapPath(savePath); else savePath = savePath; savePath = Path.Combine(savePath, fileName); file.SaveAs(savePath); }
public virtual ActionResult UploadImage(ModelImageViewModel viewModel, HttpPostedFileBase fileMain, HttpPostedFileBase fileSub, HttpPostedFileBase fileThumbnail1, HttpPostedFileBase fileThumbnail2, HttpPostedFileBase fileThumbnail3, HttpPostedFileBase fileThumbnail4, HttpPostedFileBase fileImage1, HttpPostedFileBase fileImage2, HttpPostedFileBase fileImage3, HttpPostedFileBase fileImage4) { try { using (var context = new TTTEntities()) { var modelColourDesc = context.lnkmodelcolourdescs.Where(a => a.ID == viewModel.ModelColourDescID).Single(); var modelImages = context.lnkmodelimages.Where(a => a.ModelColourDescID == viewModel.ModelColourDescID).ToList(); if (fileMain != null) { SaveImage(viewModel, fileMain); modelColourDesc.MainImage = Path.GetFileName(fileMain.FileName); } if (fileSub != null) { SaveImage(viewModel, fileSub); modelColourDesc.SubImage = Path.GetFileName(fileSub.FileName); } for (int i = 0; i < 4; i++) { var modelImage = new lnkmodelimage() { CreateDT = DateTime.Now, Active = true, ModelColourDescID = viewModel.ModelColourDescID, }; //existing model images if (modelImages.Count() > i) modelImage = modelImages[i]; switch (i) { case 0: UploadModelImage(viewModel, fileThumbnail1, fileImage1, modelImage); break; case 1: UploadModelImage(viewModel, fileThumbnail2, fileImage2, modelImage); break; case 2: UploadModelImage(viewModel, fileThumbnail3, fileImage3, modelImage); break; case 3: UploadModelImage(viewModel, fileThumbnail4, fileImage4, modelImage); break; } // new model images if (modelImage.ID == 0) context.lnkmodelimages.Add(modelImage); } context.SaveChanges(); } } catch (Exception ex) { throw ex; } return RedirectToAction("Edit", new { id = viewModel.ModelColourDescID }); }
private void UploadModelImage(ModelImageViewModel viewModel, HttpPostedFileBase thumbnail, HttpPostedFileBase image, lnkmodelimage modelImage) { if (thumbnail != null) { SaveImage(viewModel, thumbnail); modelImage.Thumbnail = Path.GetFileName(thumbnail.FileName); } if (image != null) { SaveImage(viewModel, image); modelImage.Image = Path.GetFileName(image.FileName); } }
public virtual ActionResult UploadImage(int modelID, int colourDescID, int categoryID) { var modelImageViewModel = new ModelImageViewModel() { ModelID = modelID, ColourDescID = colourDescID }; using (var context = new TTTEntities()) { modelImageViewModel.ModelImages = context.lnkmodelimages .Join(context.lnkmodelcolourdescs, a => a.ModelColourDescID, b => b.ID, (a, b) => new { modelColourDesc = b, modelImage = a }) .Where(a => a.modelColourDesc.ModelID == modelID && a.modelColourDesc.ColourDescID == colourDescID) .Select(a => a.modelImage) .OrderBy(a=>a.ID) .ToList(); var modelColourDesc = context.lnkmodelcolourdescs .Where(a => a.ModelID == modelID && a.ColourDescID == colourDescID) .Single(); modelImageViewModel.CategoryName = context.refcategories.Where(a => a.ID == categoryID).Single().Name; modelImageViewModel.ModelImages = context.lnkmodelimages.Where(a => a.ModelColourDescID == modelColourDesc.ID).ToList(); modelImageViewModel.ModelID = modelColourDesc.ModelID; modelImageViewModel.ModelColourDescID = modelColourDesc.ID; modelImageViewModel.MainImage = string.Format("~/Images/{0}/{1}", modelImageViewModel.CategoryName, modelColourDesc.MainImage); modelImageViewModel.SubImage = string.Format("~/Images/{0}/{1}", modelImageViewModel.CategoryName, modelColourDesc.SubImage); } return View(modelImageViewModel); }