public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //загрузка нового фото на сервер if (Photo != null) { if (!_fileRepository.CheckMIMEType(Photo)) //проверка типа файла { TempData["MIMETypeError"] = "Разрешены только файлы с типом .jpg .jpeg .png .gif"; return(Page()); } Products.Profile.ImagesName = await _fileRepository.UploadFile(Photo, "Products"); //загрузка файл на сервер и запись имени файла } //загрузка галереи if (Gallery_img.Count != 0) { foreach (var item in Gallery_img) //проверка типа файла { if (!_fileRepository.CheckMIMEType(item)) { TempData["MIMETypeErrorGal"] = "Разрешены только файлы с типом .jpg .jpeg .png .gif"; return(Page()); } } Products.Images = new List <ProductImages>(); foreach (var item in Gallery_img) //Добавление записей в модель { string imageName = await _fileRepository.UploadFile(item, "Products", "Gallery"); ProductImages productImages = new ProductImages() { ProductsId = Products.Id, ImageName = imageName }; Products.Images.Add(productImages); } } Products = await _db.Add(Products); //создаем запись TempData["SuccessMessage"] = $"Запись \"{Products.Name}\" успешно создана"; return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //удаление старого фото и загрузка нового на сервер if (Photo != null) { if (!_filesRepository.CheckMIMEType(Photo)) //проверка типа файла { TempData["MIMETypeError"] = "Разрешены только файлы с типом .jpg .jpeg .png .gif"; return(Page()); } if (Gallery.ImagePath != null) { _filesRepository.DeleteFile(Gallery.ImagePath, "Gallery"); } Gallery.ImagePath = await _filesRepository.UploadFile(Photo, "Gallery"); //загрузка файл на сервер и запись имени файла } try { Gallery = await _db.Update(Gallery); //отправляем запрок к БД на изменение } catch (DbUpdateConcurrencyException) { if (!_db.GalleryExists(Gallery.Id)) { return(NotFound()); } else { throw; } } TempData["SuccessMessage"] = $"Запись \"{Gallery.Name}\" успешно обновлена"; return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //загрузка нового фото на сервер if (Photo != null) { if (!_filesRepository.CheckMIMEType(Photo)) //проверка типа файла { TempData["MIMETypeError"] = "Разрешены только файлы с типом .jpg .jpeg .png .gif"; return(Page()); } Gallery.ImagePath = await _filesRepository.UploadFile(Photo, "Gallery"); //загрузка файл на сервер и запись имени файла } Gallery = await _db.Add(Gallery); TempData["SuccessMessage"] = $"Запись \"{Gallery.Name}\" успешно создана"; return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync(int id) { if (!ModelState.IsValid) { return(Page()); } //удаление старого фото и загрузка нового на сервер if (Photo != null) { if (!_fileRepository.CheckMIMEType(Photo)) //проверка типа файла { TempData["MIMETypeError"] = "Разрешены только файлы с типом .jpg .jpeg .png .gif"; return(Page()); } if (Products.Profile.ImagesName != null) { _fileRepository.DeleteFile(Products.Profile.ImagesName, "Products"); //удаляем старый файл } Products.Profile.ImagesName = await _fileRepository.UploadFile(Photo, "Products"); //загрузка файл на сервер и запись имени файла } //загрузка галереи if (Gallery_img.Count != 0) { foreach (var item in Gallery_img) //проверка типа файла { if (!_fileRepository.CheckMIMEType(item)) { TempData["MIMETypeErrorGal"] = "Разрешены только файлы с типом .jpg .jpeg .png .gif"; return(Page()); } } foreach (var item in Products.Images) //удаление фото из ФС { _fileRepository.DeleteFile(item.ImageName, "Products", "Gallery"); } await _db.DeleteGallery(Products.Id); //удаляем записи из таблицы Products.Images.Clear(); //Очищаем лист с фото foreach (var item in Gallery_img) //Добавление записей в модель { string imageName = await _fileRepository.UploadFile(item, "Products", "Gallery"); ProductImages productImages = new ProductImages() { ProductsId = Products.Id, ImageName = imageName }; Products.Images.Add(productImages); } } var productToUpdate = await _db.GetProduct(id); if (productToUpdate == null) { return(NotFound()); } try { if (await TryUpdateModelAsync <Products>(productToUpdate, "Products")) { await _db.Update(productToUpdate); //отпраляем запрос к БД на изменение } } catch (DbUpdateConcurrencyException) { if (!_db.ProductsExists(Products.Id)) { return(NotFound()); } else { throw; } } TempData["SuccessMessage"] = $"Запись \"{Products.Name}\" успешно обновлена"; return(RedirectToPage("./Index")); }