Exemple #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());
                }
                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"));
        }
Exemple #2
0
        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"));
        }
Exemple #3
0
        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"));
        }
Exemple #4
0
        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"));
        }