Я создаю систему управления продуктами с использованием сущностей категорий, брендов и продуктов, используя код структуры Entity-first. При выполнении операции CRUD для любой модели существует общее требование загрузки и удаления изображения.
Прямо сейчас я вставил код прямо в мой контроллер категорий. Теперь, когда я разрабатывал функциональность CRUD для брендов, я понял, что мне нужно скопировать тот же код загрузки и удаления в мой контроллер брендов. Это будет хорошо работать, но просто скопирует код в контроллере бренда и продукта.
Как я могу убедиться, что я пишу код один раз, а затем использую его везде, где требуется. Ниже приведен код, о котором я говорю из контроллера категории:
[HttpPost]
public ActionResult Upload(HttpPostedFileBase fileData)
{
if (fileData != null && fileData.ContentLength > 0)
{
//var fileName = Server.MapPath("~/Content/Images/" + Path.GetFileName(fileData.FileName));
int pictureCount = 800000;
pictureCount += db.Pictures.Count();
string extension = Path.GetExtension(fileData.FileName);
string renamedImage = Server.MapPath("~/Content/Images/Categories/cat" + pictureCount + extension);
fileData.SaveAs(renamedImage);
return Json("/Content/Images/Categories/" + Path.GetFileName(renamedImage));
}
return Json(false);
}
[HttpPost]
public ActionResult Remove(string fileName)
{
string completFileName = Server.MapPath("~" + fileName);
System.IO.File.Delete(completFileName);
return Json(true);
}