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))); } }
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))); } }
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" })); } }
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" })); } }
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)); }