public void DeleteImage(string guid, FurnitureImage furnImageToDelete) { // delete image from blob based on guid CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); var container = blobClient.GetContainerReference("furnitureimages"); var blob = container.GetBlockBlobReference(guid); blob.DeleteIfExistsAsync(); DeleteImageFromDB(furnImageToDelete); }
public IActionResult DeleteFurnitureByFurnitureId(int id) { var furnitureToDelete = _furnitureInfoRepository.GetFurnitureByFurnitureId(id).ToList(); if (furnitureToDelete[0] == null) { NotFound(); } string guid = ""; var furnitureImagedeletion = new FurnitureImage { }; foreach (var f in furnitureToDelete) { if (f.Quantity > 1) { FurnitureSet furnitureSetToDelete = _furnitureInfoRepository.GetFurnitureSetByFurnitureId(f.FurnitureId); _furnitureInfoRepository.DeleteFurnitureSet(furnitureSetToDelete); } if (f.FurnitureImages.Count > 0) { foreach (var p in f.FurnitureImages) { furnitureImagedeletion = p; var newReg = new Regex(@"([^/]+$)"); string strMatch = p.PictureInfo; guid = newReg.Matches(strMatch)[0].Value; } } } if (furnitureImagedeletion.PictureInfo != null || furnitureImagedeletion.FurnitureImageId > 0) { _imageInfoRepository.DeleteImage(guid, furnitureImagedeletion); } _furnitureInfoRepository.DeleteFurnitureByFurnitureId(furnitureToDelete[0]); return(NoContent()); }
private void DeleteImageFromDB(FurnitureImage furnImageToDelete) { _ctx.FurnitureImages.Remove(furnImageToDelete); _ctx.SaveChanges(); }
public void AddNewFurnitureImage(FurnitureImage newImage) { _ctx.FurnitureImages.Add(newImage); _ctx.SaveChanges(); }
public async Task <IActionResult> BulkImageUpload(IFormCollection images) { if (images == null) { return(BadRequest("no pictures were attached")); } ; List <BulkImageModel> bulkObj = new List <BulkImageModel>(); List <string> furnIdList = new List <string>(); foreach (string k in images.Keys) { var v = images[k]; var stringItems = v.ToString().Split(','); foreach (var stringItem in stringItems) { furnIdList.Add(stringItem); } } for (var x = 0; x < images.Files.Count; x++) { var obj = new BulkImageModel { FurnitureId = furnIdList[x], image = images.Files[x] }; bulkObj.Add(obj); } List <FurnitureImage> FurnitureImageList = new List <FurnitureImage>(); foreach (var a in bulkObj) { var furnitureImage = new FurnitureImage(); if (ModelState.IsValid) { if (a.image != null && a.image.Length > 0) { using (Stream stream = a.image.OpenReadStream()) using (var outputStream = new MemoryStream()) using (var newImage = Image.Load(stream, new JpegDecoder())) { newImage.Mutate(x => x.AutoOrient()); newImage.SaveAsJpeg(outputStream); outputStream.Position = 0; var imageId = await _imageInfoRepository.SaveImage(outputStream).ConfigureAwait(false); furnitureImage = new FurnitureImage() { PictureInfo = "https://fhistorage.blob.core.windows.net/furnitureimages/" + imageId, FurnitureId = Convert.ToInt32(a.FurnitureId) }; } FurnitureImageList.Add(furnitureImage); } else { return(BadRequest($"Image is: {a.image}. Image Length is: {a.image.Length}")); } } else { return(BadRequest($"ModelState is bad: {ModelState}")); } } _imageInfoRepository.AddBulkFurnitureImages(FurnitureImageList); return(Ok(FurnitureImageList)); }
public async Task <IActionResult> UploadFile(IFormFile image, int furnId) { int actFurnId; int furnitureId = Convert.ToInt32(RouteData.Values["furnitureId"]); if (furnitureId != 0) { actFurnId = furnitureId; } else if (furnId != 0) { actFurnId = furnId; } else { return(BadRequest("No furniture Id being passed. Please include furnitureId")); } var furnitureImageCheck = _imageInfoRepository.GetImageByFurnitureId(actFurnId); if (furnitureImageCheck != null) { var newReg = new Regex(@"([^/]+$)"); string strMatch = furnitureImageCheck.PictureInfo; string guid = newReg.Matches(strMatch)[0].Value; try { _imageInfoRepository.DeleteImage(guid, furnitureImageCheck); } catch (Exception ex) { return(BadRequest("Error in image deletion: " + $"{ex}")); } } var furnitureImage = new FurnitureImage(); if (ModelState.IsValid) { if (image != null && image.Length > 0) { using (Stream stream = image.OpenReadStream()) using (var outputStream = new MemoryStream()) using (var newImage = Image.Load(stream, new JpegDecoder())) { newImage.Mutate(x => x.AutoOrient()); newImage.SaveAsJpeg(outputStream); outputStream.Position = 0; var imageId = await _imageInfoRepository.SaveImage(outputStream).ConfigureAwait(false); furnitureImage = new FurnitureImage() { PictureInfo = "https://fhistorage.blob.core.windows.net/furnitureimages/" + imageId, FurnitureId = actFurnId }; } _imageInfoRepository.AddNewFurnitureImage(furnitureImage); } else { return(BadRequest($"Image is: {image}. Image Length is: {image.Length}")); } } else { return(BadRequest($"ModelState is bad: {ModelState}")); } return(Ok(furnitureImage)); }