public void DeleteAllImage(string id) { using (var repo = new ImageStoreService()) { var items = repo.GetAll(); foreach (var item in items) { string newId = item.imgId.Substring(0, item.imgId.Length - 1); if (newId.Equals(id)) { var itemToDelete = repo.GetById(item.imgId); repo.Delete(itemToDelete); } } } }
public void PostEdit(ItemModelview model) { using (var repo = new ImageStoreService()) { // Find all item with the same reference number var ImageStore = repo.GetAll().Where(x => x.imgId.Substring(0, x.imgId.Length - 1).Equals(model.ItemRef)).ToList(); //from website if (model.ImageFile != null) { //check the number of picture int NumberOfItem = model.ImageFile.Count(); if (ImageStore.Count() > NumberOfItem) { //will delete the remaining of ImageStore int count = 0; byte[] imgbyte = null; //update item with new details foreach (var item in ImageStore) { BinaryReader reader = new BinaryReader(model.ImageFile[count].InputStream); imgbyte = reader.ReadBytes(model.ImageFile[count].ContentLength); item.ItemName = model.ItemName; item.imgByte = imgbyte; repo.Update(item); count++; } //delete the remainig for (int i = model.ImageFile.Count() + 1; i < ImageStore.Count(); i++) { var ItemToDelete = ImageStore[i]; repo.Delete(ItemToDelete); } } else { // will add the remaing of model.ImageFile } } //from app else { for (int i = 0; i < model.Lstsrc.Count(); i++) { var itemToUpdate = ImageStore[i]; itemToUpdate.ItemName = model.ItemName; itemToUpdate.imgByte = model.Lstsrc[i]; repo.Update(itemToUpdate); } // Delete the remaining item //1 bcz they will be only one pic from app and //the number of img in imageStore must not be one if (model.Lstsrc.Count() == 1 && ImageStore.Count() > 1) { for (int i = 1; i < ImageStore.Count(); i++) { var ItemToDelete = ImageStore[i]; repo.Delete(ItemToDelete); } } } } }