Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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 }); 
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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);
        }