public async Task <IActionResult> Create(UploadViewModel files)
        {
            //if (ModelState.IsValid)
            //{
            var formFile = files.Photo;

            if (formFile == null || formFile.Length == 0)
            {
                ModelState.AddModelError("", "فایل انتخاب نشده است.");
                return(View(viewName: "Details"));
            }


            var uploadsRootFolder = Path.Combine(_environment.WebRootPath, "uploads") + "/profile/";

            if (!Directory.Exists(uploadsRootFolder))
            {
                Directory.CreateDirectory(uploadsRootFolder);
            }

            string namrfile = new Random().Next(200, 900).ToString() + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day + "_" + DateTime.Now.Hour + "_" + DateTime.Now.Minute + Path.GetExtension(formFile.FileName);

            var filePath = Path.Combine(uploadsRootFolder, namrfile);


            UploadViewModel.Image_resize(formFile.OpenReadStream(), filePath, (TypsImgesize)TypsImgesize.profile);

            var iduserBase = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            Imageprofile img = new Imageprofile();


            img.Iduser   = iduserBase;
            img.Path     = namrfile;
            img.Isactive = true;
            _context.Add(img);
            int count = await _context.SaveChangesAsync();

            if (count == 0)
            {
                var filePathDelete = Path.Combine(uploadsRootFolder, namrfile);
                var fileInfo       = new System.IO.FileInfo(filePathDelete);
                fileInfo.Delete();
            }
            return(Redirect("/Admin/imageprofiles/Details"));
            //}
            //   return View();
        }
Beispiel #2
0
        public async Task <IActionResult> ProductsDataPost(UploadViewModel files)
        {
            if (ModelState.IsValid)
            {
                var formFile = files.Photo;
                if (formFile == null || formFile.Length == 0)
                {
                    ModelState.AddModelError("", "فایل ارسالی خالی می باشد.");
                    return(View(viewName: "Index"));
                }


                var uploadsRootFolder = Path.Combine(_environment.WebRootPath, "uploads") + "/product/";
                if (!Directory.Exists(uploadsRootFolder))
                {
                    Directory.CreateDirectory(uploadsRootFolder);
                }

                string namefile = new Random().Next(200, 900).ToString() + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day + "_" + DateTime.Now.Hour + "_" + DateTime.Now.Minute + Path.GetExtension(formFile.FileName);

                var filePath = Path.Combine(uploadsRootFolder, namefile);


                UploadViewModel.Image_resize(formFile.OpenReadStream(), filePath, (TypsImgesize)(int.Parse(files.Iddatatype)));


                if (int.Parse(files.Iddatatype) == (int)TypsImgesize.imgepluse)
                {
                    filePath = Path.Combine(uploadsRootFolder, "350_" + namefile);
                    UploadViewModel.Image_resize(formFile.OpenReadStream(), filePath, TypsImgesize.imgepluseSmale);
                }

                //using (Image<Rgba32> image = Image.Load(filePath))
                //{
                //    image.Mutate(x => x
                //         .Resize(image.Width / 2, image.Height / 2)
                //         .Grayscale());

                //    image.Save(filePath); // Automatic encoder selected based on extension.
                //}

                //using (var fileStream = new FileStream(filePath, FileMode.Create))
                //{
                //    await formFile.CopyToAsync(fileStream).ConfigureAwait(false);
                //}

                // _context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT store.productdata ON");
                Productdatum pu = new Productdatum();
                //   pu.Id = null;
                pu.Idproduct   = long.Parse(files.idpost);
                pu.Iddatatype  = byte.Parse(files.Iddatatype);
                pu.Pathdata    = namefile;
                pu.Description = files.description;
                pu.Isactive    = files.isActive;

                _context.Productdata.Add(pu);

                await _context.SaveChangesAsync();

                //   _context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT store.productdata OFF");
                return(Redirect("/Admin/Products/ProductDataIndex/" + files.idpost));
            }

            return(Redirect("/Admin/Products/Index"));
        }