public IActionResult AddEditProductGallery(int id)
        {
            AddEditProductGallery model = new AddEditProductGallery();

            model.ProductListItems = _Context.Products.Select(a => new SelectListItem
            {
                Text  = a.Name,
                Value = a.Id.ToString()
            }).ToList();
            if (id != 0)
            {
                using (var db = _ServiceProvider.GetRequiredService <ApplicationDbContext>())
                {
                    ProductGallery image = _Context.ProductGalleries.Where(n => n.Id == id).SingleOrDefault();

                    if (image != null)
                    {
                        model.Id        = image.Id;
                        model.IdProduct = image.IdProduct;
                        model.Image     = image.Image;
                    }
                }
            }
            return(PartialView("AddEditProductGallery", model));
        }
        public async Task <IActionResult> AddEditProductGallery(AddEditProductGallery model, int id, IEnumerable <IFormFile> files)
        {
            if (ModelState.IsValid)
            {
                List <string> stList = new List <string>();

                var upload = Path.Combine(_appEnvironmen.WebRootPath, "upload\\normalimage\\");
                foreach (var faile in files)
                {
                    if (faile != null && faile.Length > 0)
                    {
                        var filename = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(faile.FileName);

                        using (var fs = new FileStream(Path.Combine(upload, filename), FileMode.Create))
                        {
                            await faile.CopyToAsync(fs);

                            stList.Add(filename);
                            //model.Image = filename;
                        }

                        InsertShowImage.ImageResizer img = new InsertShowImage.ImageResizer();
                        img.Resize(upload + filename, _appEnvironmen.WebRootPath + "\\upload\\thumbnailimage\\" + filename);
                    }
                }
                if (model.Image == null)
                {
                    model.Image = "defaultpic.png";
                }
                if (id == 0)
                {
                    using (var db = _ServiceProvider.GetRequiredService <ApplicationDbContext>())
                    {
                        foreach (var VARIABLE in stList)
                        {
                            model.Image     = VARIABLE;
                            model.IdProduct = (int)HttpContext.Session.GetInt32("ImageProductKey");
                            ProductGallery imagemodel = AutoMapper.Mapper.Map <AddEditProductGallery, ProductGallery>(model);
                            db.ProductGalleries.Add(imagemodel);
                            db.SaveChanges();
                        }
                    }
                    return(Json(new { Status = "success", Message = "عکس با موفقیت ثبت شد" }));
                }
                else
                {
                    using (var db = _ServiceProvider.GetRequiredService <ApplicationDbContext>())
                    {
                        foreach (var VARIABLE in stList)
                        {
                            model.Image     = VARIABLE;
                            model.IdProduct = (int)HttpContext.Session.GetInt32("ImageProductKey");
                            ProductGallery imagemodel = AutoMapper.Mapper.Map <AddEditProductGallery, ProductGallery>(model);
                            db.ProductGalleries.Update(imagemodel);
                            db.SaveChanges();
                        }
                    }
                    return(Json(new { Status = "success", Message = "عکس با موفقیت ویرایش شد" }));
                }
            }
            model.ProductListItems = _Context.Products.Select(a => new SelectListItem
            {
                Text  = a.Name,
                Value = a.Id.ToString()
            }).ToList();

            var list = new List <string>();

            foreach (var validation in ViewData.ModelState.Values)
            {
                list.AddRange(validation.Errors.Select(error => error.ErrorMessage));
            }

            return(Json(new { Status = "error", error = list }));
        }