コード例 #1
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id != null)
            {
                Slide slide = await db.Slides
                              .Where(s => s.Id == id)
                              .FirstOrDefaultAsync();

                string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Admin", "Uploads", "Sliders", slide.PhotoPath);
                if (PhotoUpload.HasPhoto(path))
                {
                    using (var file = System.IO.File.Open(path, FileMode.Open))
                    {
                        FileInfo  info  = new FileInfo(path);
                        IFormFile photo = new FormFile(file, 0, file.Length, file.Name, info.Name);
                        slide.Photo = photo;
                    }
                }

                return(View(slide));
            }
            else
            {
                return(RedirectToAction(nameof(Index)));
            }
        }
コード例 #2
0
        public async Task <IActionResult> Delete(int?slideId)
        {
            if (slideId != null)
            {
                Slide slide = await db.Slides
                              .Where(s => s.Id == slideId)
                              .FirstOrDefaultAsync();

                db.Slides.Remove(slide);
                await db.SaveChangesAsync();

                //Photo Delete
                string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Admin", "Uploads", "Sliders", slide.PhotoPath);
                if (PhotoUpload.HasPhoto(path))
                {
                    PhotoUpload.DeletePhoto(path);
                }

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(RedirectToAction(nameof(Index)));
            }
        }
コード例 #3
0
        public JsonResult AddPhoto(string path)
        {
            List <IFormFile> Photos = Request.Form.Files.ToList();
            var photo_info          = new List <object>();

            if (Checker.CheckList(Photos) && path != null)
            {
                for (int i = 0; i < Photos.Count; i++)
                {
                    if (PhotoUpload.IsValid(Photos[i]))
                    {
                        string filename = (DateTime.Now.ToShortDateString() + Photos[i].FileName).Replace(" ", "").Replace("/", "");
                        string _path    = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Admin", "Uploads", path, filename);
                        if (PhotoUpload.HasPhoto(_path))
                        {
                            Guid guid = new Guid();
                            _path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Admin", "Uploads", path, guid + filename);
                        }

                        PhotoUpload.UploadTo(Photos[i], _path);
                        var obj = new
                        {
                            Filename = filename,
                            Url      = $"/Admin/Uploads/{path}/" + filename
                        };
                        photo_info.Add(obj);
                    }
                    else
                    {
                        return(Json(new
                        {
                            response = 400
                        }));
                    }
                }
                return(Json(new
                {
                    status = 200,
                    data = photo_info
                }));
            }
            else
            {
                return(Json(new { error = "something went wrong" }));
            }
        }
コード例 #4
0
        public JsonResult AddPhoto(string path)
        {
            List <IFormFile> Photos = Request.Form.Files.ToList();
            var photo_info          = new List <object>();

            if (Checker.CheckList(Photos) && path != null)
            {
                for (int i = 0; i < Photos.Count; i++)
                {
                    if (PhotoUpload.IsValid(Photos[i]))
                    {
                        string filename  = (DateTime.Now.ToShortDateString() + Photos[i].FileName).Replace(" ", "").Replace("/", "");
                        string _path     = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Admin", "Uploads", path, filename);
                        string thumbpath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Admin", "Uploads", "Thumbnails", filename);
                        if (PhotoUpload.HasPhoto(_path))
                        {
                            Guid guid = new Guid();
                            _path     = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Admin", "Uploads", path, guid + filename);
                            thumbpath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Admin", "Uploads", "Thumbnails", guid + filename);
                        }

                        PhotoUpload.UploadTo(Photos[i], _path);

                        #region Resize Image
                        //using (Image<Rgba32> image = SixLabors.ImageSharp.Image.Load(_path))
                        //{
                        //    image.Mutate(x =>
                        //    {
                        //        x
                        //        .Resize(168, 168);
                        //    });
                        //    image.Save(thumbpath);
                        //}
                        #endregion

                        var obj = new
                        {
                            Filename = filename,
                            Url      = $"/Admin/Uploads/{path}/" + filename
                        };
                        photo_info.Add(obj);
                    }
                    else
                    {
                        return(Json(new
                        {
                            response = 400
                        }));
                    }
                }
                return(Json(new
                {
                    status = 200,
                    data = photo_info
                }));
            }
            else
            {
                return(Json(new { error = "something went wrong" }));
            }
        }
コード例 #5
0
        public async Task <IActionResult> Edit(int id)
        {
            Checker.CheckLangId(HttpContext, db, "adminLangId").Wait();
            HttpContext.SetCurrentPage("Index", "Product");
            int langId  = HttpContext.GetLanguage("adminLangId");
            var product = await db.Products
                          .Where(p => p.Id == id)
                          .FirstOrDefaultAsync();


            //Find Product Photos
            var product_photos = await db.ProductPhotos.Where(pp => pp.Product == product).ToListAsync();

            foreach (var product_photo in product_photos)
            {
                string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Admin", "Uploads", "Products", product_photo.PhotoPath);
                if (PhotoUpload.HasPhoto(path))
                {
                    using (var file = System.IO.File.Open(path, FileMode.Open))
                    {
                        FileInfo  info  = new FileInfo(path);
                        IFormFile photo = new FormFile(file, 0, file.Length, file.Name, info.Name);
                        product.Photos.Add(photo);
                    }
                }
            }

            #region Make ProductEditViewModel
            ProductEditViewModel model = new ProductEditViewModel()
            {
                ProductLanguages = await db.ProductLanguages
                                   .Where(pl => pl.ProductId == id)
                                   .Include(pl => pl.Product)
                                   .ThenInclude(pl => pl.Subcategory)
                                   .ToListAsync(),

                CategoryLanguages = await db.CategoryLanguages
                                    .Where(cl => cl.LanguageId == langId)
                                    .Include(cl => cl.Category)
                                    .ToListAsync(),
                SubcategoryLanguages = await db.SubcategoryLanguages
                                       .Where(sl => sl.LanguageId == langId)
                                       .Include(sl => sl.Subcategory)
                                       .ToListAsync(),

                Sizes = await db.Sizes.ToListAsync(),

                ProductSizeCounts = await db.ProductSizeCounts.Where(ps => ps.ProductId == product.Id).Include(ps => ps.Size).ToListAsync(),

                //Colors = await db.ColorLanguage
                //                            .Include(cl => cl.Color)
                //                                 .Where(cl => cl.LanguageId == langId)
                //                                    .ToListAsync(),
                ProductColors = await db.ProductColors
                                .Where(pc => pc.ProductId == product.Id)
                                .Include(pc => pc.Product)
                                .ToListAsync(),

                Languages = await db.Languages.ToListAsync(),

                Product = await db.Products
                          .Where(p => p.Id == id)
                          .FirstOrDefaultAsync(),
            };
            #endregion
            return(View(model));
        }