public IActionResult Add(ArtViewModel model) { if (!ModelState.IsValid) { return(View(model)); } Art art = new Art(); art.Name = model.Name; art.Price = model.Price; art.TypeOfArt = model.TypeOfArt; art.dateTime = DateTime.Now; art.Description = model.Description; art.UserID = manager.GetUserId(HttpContext.User); try { service.Add(art); string uniqueFileName = null; if (model.Photos != null && model.Photos.Count > 0) { foreach (IFormFile photo in model.Photos) { string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + photo.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); photo.CopyTo(new FileStream(filePath, FileMode.Create)); ArtPhoto artPhoto = new ArtPhoto(); artPhoto.Path = uniqueFileName; artPhoto.ArtID = art.ID; photoService.Add(artPhoto); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(model)); } return(RedirectToAction("ShowDetails", new { id = art.ID })); }
public IActionResult Edit(int id, ArtViewModel model) { ViewBag.id = id; if (!ModelState.IsValid) { return(View(model)); } Art art = new Art(); art.Name = model.Name; art.Price = model.Price; art.Description = model.Description; art.TypeOfArt = model.TypeOfArt; try { service.Update(id, art); string uniqueFileName = null; if (model.Photos != null && model.Photos.Count > 0) { photoService.Delete(id); foreach (IFormFile photo in model.Photos) { string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + photo.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); photo.CopyTo(new FileStream(filePath, FileMode.Create)); ArtPhoto artPhoto = new ArtPhoto(); artPhoto.Path = uniqueFileName; artPhoto.ArtID = id; photoService.Add(artPhoto); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(model)); } return(RedirectToAction("ShowDetails", new { id = id })); }
public async Task <List <ArtPhoto> > ImportImagesToAzure(HtmlDocument productHtml, Guid artId) { try { AnnouceViewModel model = new AnnouceViewModel { ImageTempId = Guid.NewGuid() }; var photosUrl = GetProductPhotosUrl(productHtml); var artPhotoList = new List <ArtPhoto>(); foreach (var photoUrl in photosUrl) { await _watermarkService.DownloadImageAsync(model, photoUrl); } string[] files = _watermarkService.GetFiles(model); foreach (var fileDirectory in files) { var url = await _watermarkService.WatermarkImageAndUploadToAzure(fileDirectory); var artPhoto = new ArtPhoto { Url = url, ArtId = artId }; artPhotoList.Add(artPhoto); } _watermarkService.ClearTempFolder(files); return(artPhotoList); } catch (Exception ex) { _logger.Error(ex, "ImportImagesToAzure error"); return(new List <ArtPhoto>()); } }