示例#1
0
        public async Task <IActionResult> Gallery(string id, ProductImageAddViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var product = await _db.ProductRepository.GetAsync(id);

                if (product != null)
                {
                    if (viewModel.File.IsImage())
                    {
                        PersianCalendar pc           = new PersianCalendar();
                        var             uploadResult = await _uploadService.UploadFile(viewModel.File, string.Format("{0}://{1}{2}", Request.Scheme, Request.Host.Value, Request.PathBase.Value), "Products\\" + pc.GetYear(DateTime.Now) + "\\" + pc.GetMonth(DateTime.Now) + "\\" + pc.GetDayOfMonth(DateTime.Now));

                        if (uploadResult.Status)
                        {
                            var productImage = new ProductImage()
                            {
                                PhotoUrl  = uploadResult.Url,
                                ProductId = id
                            };

                            await _db.ProductImageRepository.AddAsync(productImage);

                            await _db.SaveAsync();

                            return(Redirect("/Admin/Product/Gallery/" + id));
                        }
                        else
                        {
                            ModelState.AddModelError("File", "خطا در آپلود تصویر محصول");
                            var images = await _db.ProductImageRepository.GetAsync(p => p.ProductId == id, null, "Product");

                            viewModel.ProductImages = images;
                            return(View(viewModel));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("File", "تصویر محصول معتبر نیست");
                        var images = await _db.ProductImageRepository.GetAsync(p => p.ProductId == id, null, "Product");

                        viewModel.ProductImages = images;
                        return(View(viewModel));
                    }
                }
                else
                {
                    return(NotFound());
                }
            }
            else
            {
                var images = await _db.ProductImageRepository.GetAsync(p => p.ProductId == id, null, "Product");

                viewModel.ProductImages = images;
                return(View(viewModel));
            }
        }
示例#2
0
        public async Task <IActionResult> Gallery(string id)
        {
            var product = await _db.ProductRepository.GetAsync(id);

            if (product != null)
            {
                var images = await _db.ProductImageRepository.GetAsync(p => p.ProductId == id, null, "Product");

                var viewModel = new ProductImageAddViewModel()
                {
                    ProductImages = images
                };

                return(View(viewModel));
            }
            else
            {
                return(NotFound());
            }
        }