Пример #1
0
        public async Task <ActionResult> BulkCartoonInsert(Guid DrawerId, List <IFormFile> CartoonImages)
        {
            try
            {
                int maxRank = await _context.Cartoon.MaxAsync(x => x.Rank);

                foreach (IFormFile file in CartoonImages)
                {
                    maxRank++;
                    var    guid          = Guid.NewGuid();
                    string directoryPath = $"{_env.WebRootPath}/Image/{guid}/";
                    if (!Directory.Exists(directoryPath))
                    {
                        Directory.CreateDirectory(directoryPath);
                    }

                    using (var stream = new FileStream($"{directoryPath}/{file.FileName}", FileMode.Create))
                    {
                        await file.CopyToAsync(stream);
                    }

                    string imageSrc = "/Image/" + guid + "/" + file.FileName;

                    var cartoon = new Cartoon()
                    {
                        DrawersId = DrawerId,
                        Id        = Guid.NewGuid(),
                        Rank      = maxRank
                    };
                    await _context.Cartoon.AddAsync(cartoon);

                    await _context.SaveChangesAsync();

                    var cartoonImage = new CartoonImages()
                    {
                        Id        = Guid.NewGuid(),
                        CartoonId = cartoon.Id,
                        Rank      = 1,
                        ImageSrc  = imageSrc
                    };
                    await _context.CartoonImages.AddAsync(cartoonImage);

                    await _context.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction("BulkCartoonInsert", new { message = ex.Message }));
            }
            return(RedirectToAction("BulkCartoonInsert", new { message = "İşlem başarılı" }));
        }
Пример #2
0
        public async Task <IActionResult> Create([Bind("Id,CartoonId,ImageSrc")] CartoonImages cartoonImages)
        {
            if (ModelState.IsValid)
            {
                cartoonImages.Id = Guid.NewGuid();
                _context.Add(cartoonImages);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CartoonId"] = new SelectList(_context.Cartoon.OrderByDescending(x => x.Rank), "Id", "Id", cartoonImages.CartoonId);
            var allFiles = Directory.GetFiles($"{_env.WebRootPath}/Image/", "*.*", SearchOption.AllDirectories).ToList();

            for (int i = 0; i < allFiles.Count; i++)
            {
                allFiles[i] = allFiles[i].Replace(_env.WebRootPath, "");
            }
            ViewData["allFiles"] = allFiles;
            return(View(cartoonImages));
        }
Пример #3
0
        public async Task <IActionResult> Edit(Guid id, [Bind("Id,CartoonId,ImageSrc")] CartoonImages cartoonImages)
        {
            if (id != cartoonImages.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(cartoonImages);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CartoonImagesExists(cartoonImages.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CartoonId"] = new SelectList(_context.Cartoon.OrderByDescending(x => x.Rank), "Id", "Id", cartoonImages.CartoonId);
            var allFiles = Directory.GetFiles($"{_env.WebRootPath}/Image/", "*.*", SearchOption.AllDirectories).ToList();

            for (int i = 0; i < allFiles.Count; i++)
            {
                allFiles[i] = allFiles[i].Replace(_env.WebRootPath, "");
            }
            ViewData["allFiles"] = allFiles;
            return(View(cartoonImages));
        }