Здравствуйте, я загружаю несколько изображений в файловую систему ( точнее сами фотки грузятся в папку, а информация о фотках храниться в БД). Вот мой мой метод в контроллере
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(Furniture model)
{
if (ModelState.IsValid)
{
//New Files
for (int i = 0; i < Request.Files.Count; i++)
{
var file = Request.Files[i];
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
FileDetail fileDetail = new FileDetail()
{
NameFile = fileName,
Extension = Path.GetExtension(fileName),
Id = Guid.NewGuid(),
FurnitureId = model.FurnitureId,
};
var path = Path.Combine(Server.MapPath("~/Upload/"), fileDetail.Id + fileDetail.Extension);
file.SaveAs(path);
db.Entry(fileDetail).State = EntityState.Added;
}
}
db.Entry(model).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(model);
}
и частична кода из вьюшки:
<p><b>Main Files</b></p>
<div class="form-group">
@foreach (var item in Model.FileDetails)
{
if (item.IsMainImage == true)
{
<img src="~/Upload/@(item.Id + item.Extension)" />
}
}
</div>
<div class="form-group">
<input type="file" name="fileTwo" multiple="multiple" />
<ul class="attachment">
@foreach (var item in Model.FileDetails)
{
<li style="list-style-type:none; display:inline;">
<img src="~/Upload/@(item.Id + item.Extension)" />
<a href="javascript:void(0);" data-id="@item.Id" class="deleteItem">X</a>
</li>
}
</ul>
</div>
Что я тут делаю, я гружу изображения для галереи, но одну из фоток для галереи я хочу отображать на главной странице товаров на моём сайте, соответственно делаю проверку на поле в БД, false или true оно и вот вопрос: допустим мы удаляем фотку из галереи и оно соответственно удаляет фотку на главной странице, так как одно целое всё, что можно такое придумать чтобы при удалении фотки из галереи фотка как то оставалась на главной, таблицу что ли создавать новую в БД? Подкиньте пожалуйста идей, спасибо