Exemplo n.º 1
0
        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());
                }

                if (Materials.ImagePath != null)
                {
                    _fileRepository.DeleteFile(Materials.ImagePath, "Materials");           //удаляем старый файл
                }
                Materials.ImagePath = await _fileRepository.UploadFile(Photo, "Materials"); //загрузка файл на сервер и запись имени файла
            }

            try
            {
                await _db.Update(Materials); //запрос к БД на изменение записи
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!_db.MaterialsExists(Materials.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            TempData["SuccessMessage"] = $"Запись \"{Materials.Name}\" успешно обновлена";
            return(RedirectToPage("./Index"));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Put(int id, [FromBody] Material material)
        {
            var result = await _repository.Update(id, material).ConfigureAwait(false);

            return(result ? new StatusCodeResult(200) : new StatusCodeResult(422));
        }