Beispiel #1
0
        public async Task <IActionResult> Edit(int id)
        {
            var series = await _naniWebContext.Series.Include(srs => srs.MangadexInfo).SingleAsync(srs => srs.Id == id);

            var model = new EditSeries
            {
                SeriesId            = series.Id,
                Name                = series.Name,
                Author              = series.Author,
                Artist              = series.Artist,
                Synopsis            = series.Synopsis,
                Type                = series.Type,
                Status              = series.Status,
                MangadexId          = series.MangadexInfo.MangadexId,
                DisplayMangadexLink = series.MangadexInfo.DisplayLink
            };

            return(View("EditSeries", model));
        }
Beispiel #2
0
        public async Task <IActionResult> Edit(EditSeries editSeries)
        {
            if (ModelState.IsValid)
            {
                var series = await _naniWebContext.Series.Include(srs => srs.MangadexInfo).SingleAsync(srs => srs.Id == editSeries.SeriesId);

                series.Name     = editSeries.Name;
                series.Author   = editSeries.Author;
                series.Artist   = editSeries.Artist;
                series.Synopsis = editSeries.Synopsis;
                series.Type     = editSeries.Type;
                series.Status   = editSeries.Status;
                series.UrlSlug  = Utils.GenerateSlug(editSeries.Name);
                series.MangadexInfo.MangadexId  = editSeries.MangadexId ?? 0;
                series.MangadexInfo.DisplayLink = editSeries.DisplayMangadexLink;

                _naniWebContext.Series.Update(series);
                await _naniWebContext.SaveChangesAsync();

                if (editSeries.Cover != null)
                {
                    var path = $"{_webHostEnvironment.WebRootPath}{Path.DirectorySeparatorChar}images{Path.DirectorySeparatorChar}covers{Path.DirectorySeparatorChar}{series.Id}.png";

                    using (var file = System.IO.File.Create(path))
                    {
                        await editSeries.Cover.CopyToAsync(file);
                    }

                    var fileInfo    = new FileInfo(path);
                    var destination = fileInfo.Directory;

                    Utils.ResizeImage(fileInfo, destination, $"{series.Id}_small", 209, 300);
                    Utils.ResizeImage(fileInfo, destination, $"{series.Id}_smaller", 209 / 2, 300 / 2);
                }

                return(RedirectToAction("List"));
            }

            TempData["Error"] = true;

            return(RedirectToAction("Edit"));
        }