public ActionResult InsertPicture()
        {
            Picture picture = new Picture();

            _pictureService.CreatePicture(picture);
            ProductPictureMapping pictureMapping = new ProductPictureMapping();

            pictureMapping.DisplayOrder  = 0;
            pictureMapping.IsMainPicture = false;
            pictureMapping.PictureId     = picture.Id;
            pictureMapping.ProductId     = 50;
            _productPictureMappingService.CreateProductPictureMapping(pictureMapping);
            Product             product = _productService.GetPhoto();
            AlbumPhotoFormModel photo   = Mapper.Map <Product, AlbumPhotoFormModel>(product);

            return(PartialView("_NewPhoto", photo));
        }
Beispiel #2
0
        public static List <ProductPictureMapping> GenerateProductPictureMappings(string pictureSeoFileName, List <Picture> pictures, Product product)
        {
            if (!string.IsNullOrEmpty(pictureSeoFileName))
            {
                List <ProductPictureMapping> productPictureMappingList = new List <ProductPictureMapping>();
                int     displayOrder = 0;
                Picture picture      = pictures.Where(p => p.SeoFilename == pictureSeoFileName).FirstOrDefault();
                if (picture == null)
                {
                    picture = new Picture()
                    {
                        PictureBinary = null,
                        MimeType      = "image/jpeg",
                        SeoFilename   = pictureSeoFileName,
                        IsNew         = false,
                    };
                }
                ProductPictureMapping productPictureMapping = productPictureMappingList
                                                              .Where(ppm => ppm.PictureId == picture.Id && ppm.ProductId == product.Id).FirstOrDefault();

                if (productPictureMapping == null)
                {
                    productPictureMappingList.Add(new ProductPictureMapping()
                    {
                        ProductId    = product.Id,
                        PictureId    = picture.Id,
                        DisplayOrder = displayOrder,
                        Product      = product,
                        Picture      = picture
                    });
                }
                else
                {
                    productPictureMappingList.Add(productPictureMapping);
                }
                displayOrder++;
                return(productPictureMappingList);
            }
            else
            {
                return(null);
            }
        }
        public ActionResult ProductPictureAdd(string productId, string pictureDisplayorder, string pictureTitle, string pictureAlt, string pictureId)
        {
            if (string.IsNullOrEmpty(productId) && string.IsNullOrEmpty(pictureId))
            {
                throw new Exception(string.Format("PictureId >> {0} and Produt >> {1}", pictureId, productId));
            }
            Picture _pic = _pictureService.GetById(Convert.ToInt32(pictureId));

            _pic.Alt     = pictureAlt;
            _pic.Id      = Convert.ToInt32(pictureId);
            _pic.Title   = pictureTitle;
            _pic.OrderNo = Convert.ToInt32(pictureDisplayorder);
            if (_pictureService.Update(_pic))
            {
                ProductPictureMapping _map = new ProductPictureMapping();
                _map.PictureId = _pic.Id;
                _map.ProductId = Convert.ToInt32(productId);
                _productPictureMappingService.Insert(_map);
            }
            return(Json("1", JsonRequestBehavior.AllowGet));
        }
 public IEnumerable <ValidationResult> CanAddProductPictureMapping(ProductPictureMapping productPictureMapping)
 {
     //    yield return new ValidationResult("ProductPictureMapping", "ErrorString");
     return(null);
 }
 public void EditProductPictureMapping(ProductPictureMapping productPictureMappingToEdit)
 {
     productPictureMappingRepository.Update(productPictureMappingToEdit);
     SaveProductPictureMapping();
 }
 public void CreateProductPictureMapping(ProductPictureMapping productPictureMapping)
 {
     productPictureMappingRepository.Add(productPictureMapping);
     SaveProductPictureMapping();
 }
        public JsonResult UploadImage(FormCollection collection)
        {
            bool   isSavedSuccessfully = true;
            var    id    = collection["Product.Id"];
            string fName = "";

            try
            {
                foreach (string fileName in Request.Files)
                {
                    HttpPostedFileBase file = Request.Files[fileName];
                    //Save file content goes here
                    fName = file.FileName;
                    if (file != null && file.ContentLength > 0)
                    {
                        var originalDirectory = new DirectoryInfo(string.Format("{0}Images\\Product\\" + User.Identity.Name.ToString() + id, Server.MapPath(@"\")));

                        string pathString = originalDirectory.ToString();// System.IO.Path.Combine(originalDirectory.ToString(), User.Identity.Name.ToString());

                        var fileName1 = Path.GetFileName(file.FileName);

                        bool isExists = System.IO.Directory.Exists(pathString);

                        if (!isExists)
                        {
                            System.IO.Directory.CreateDirectory(pathString);
                        }

                        var path = string.Format("{0}\\{1}", pathString, file.FileName);
                        //

                        file.SaveAs(path);
                        #region [chinh sua hinh anh de khong bi xoay hinh]
                        var bmp  = new Bitmap(path);
                        var exif = new EXIFextractor(ref bmp, "n"); // get source from http://www.codeproject.com/KB/graphics/exifextractor.aspx?fid=207371

                        if (exif["Orientation"] != null)
                        {
                            RotateFlipType flip = OrientationToFlipType(exif["Orientation"].ToString().Substring(0, 1).Trim(), path);

                            if (flip != RotateFlipType.RotateNoneFlipNone) // don't flip of orientation is correct
                            {
                                bmp.RotateFlip(flip);
                                exif.setTag(0x112, "1"); // Optional: reset orientation tag
                                if (System.IO.File.Exists(path))
                                {
                                    System.IO.File.Delete(path);
                                }

                                bmp.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);
                                // Dispose of the image files.
                                bmp.Dispose();
                            }
                        }
                        #endregion
                    }
                }
            }
            catch (Exception ex)
            {
                isSavedSuccessfully = false;
            }


            if (isSavedSuccessfully)
            {
                var product = _productService.GetProductById(int.Parse(id));
                var pic     = new Picture();
                pic.IsDeleted = false;
                pic.Url       = "/Images/Product/" + User.Identity.Name.ToString() + product.Id + "/" + fName;
                _pictureService.CreatePicture(pic);
                ProductPictureMapping mapping = new ProductPictureMapping();
                mapping.ProductId = product.Id;
                mapping.PictureId = pic.Id;
                product.ProductPictureMappings.Add(mapping);
                _productService.EditProduct(product);
                return(Json(new { Message = "/Images/Product/" + User.Identity.Name.ToString() + product.Id + "/" + fName, Id = mapping.Id }));
            }
            else
            {
                return(Json(new { Message = "Error in saving file" }));
            }
        }
        public ActionResult SubmitProperty(submitPropertyModel model, string place = "mp")
        {
            var temp = _productService.GetProductById(model.Product.Id);

            temp.ProductCategoryMappings.FirstOrDefault().ProductCategoryId = model.CategoryId;
            try
            {
                temp.Slug = StringConvert.ConvertShortName(model.Product.Name) + "-" + model.Product.Id;
            }
            catch (Exception)
            {
                return(RedirectToAction("SubmitProperty", new { Id = temp.Id, place = place }));
            }
            temp.ColorId      = model.Product.ColorId;
            temp.CodeName     = model.Product.CodeName;
            temp.OldPrice     = model.CategoryId;
            temp.Content      = model.Product.Content;
            temp.Description  = model.Product.Description;
            temp.IsHomePage   = true;
            temp.IsNew        = model.Product.IsNew;
            temp.IsPublic     = model.Product.IsPublic;
            temp.Name         = model.Product.Name;
            temp.Deleted      = false;
            temp.OrginalPrice = model.Product.OrginalPrice;
            foreach (var item in model.Product.ProductAttributeMappings)
            {
                if (item.Value != null)
                {
                    temp.ProductAttributeMappings.Where(p => p.Id == item.Id).FirstOrDefault().Value = item.Value;
                }
                else
                {
                    temp.ProductAttributeMappings.Where(p => p.Id == item.Id).FirstOrDefault().Value = "0";
                }
            }

            temp.ProductAttributeMappings.Where(m => m.ProductAttributeId == 30).FirstOrDefault().Value = model.Product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 30).FirstOrDefault().Value;
            temp.LastEditedTime = DateTime.Now;
            if (!temp.ProductPictureMappings.Any())
            {
                var pic = new Picture();
                pic.IsDeleted = false;
                pic.Url       = "/Images/vin_hom_tan_cang.jpg";
                _pictureService.CreatePicture(pic);
                ProductPictureMapping mapping = new ProductPictureMapping();
                mapping.ProductId = temp.Id;
                mapping.PictureId = pic.Id;
                temp.ProductPictureMappings.Add(mapping);
            }
            //foreach (var item in temp.ProductPictureMappings)
            //{
            //model.Product.ProductPictureMappings.Add(item);
            //}
            try
            {
                _productService.EditProduct(temp);
            }
            catch (Exception)
            {
                return(RedirectToAction("SubmitProperty", new { Id = temp.Id, place = place }));
            }
            if (place.Equals("wp"))
            {
                return(RedirectToAction("WaitingProperty"));
            }
            else if (place.Equals("mp"))
            {
                return(RedirectToAction("MyProperty"));
            }
            else if (place.Equals("fe"))
            {
                return(Redirect("/san-pham/" + temp.Slug));
            }
            else if (place.Equals("am"))
            {
                return(Redirect("/Admin/Product"));
            }
            else if (place != "")
            {
                return(Redirect(place));
            }
            return(RedirectToAction("MyProperty"));
        }