コード例 #1
0
        public async Task <IActionResult> Edit(EventCreateEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var currentFileName = viewModel.Event.ImgPath;
                    if (viewModel.Img != null && viewModel.Img.FileName != currentFileName)
                    {
                        if (currentFileName != null)
                        {
                            var images       = Directory.GetFiles("wwwroot/images");
                            var fileToDelete = images.First(i => i.Contains(currentFileName));
                            System.IO.File.Delete(fileToDelete);
                        }
                        var uniqueFileName = GetUniqueFileName(viewModel.Img.FileName);
                        var imageDirectory = Path.Combine(_webHostEnvironment.WebRootPath, "images");
                        var filePath       = Path.Combine(imageDirectory, uniqueFileName);
                        using (var myFile = new FileStream(filePath, FileMode.Create))
                        {
                            viewModel.Img.CopyTo(myFile);
                        }
                        viewModel.Event.ImgPath = uniqueFileName;
                    }

                    _context.Update(viewModel.Event);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EventExists(viewModel.Event.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
コード例 #2
0
        // GET: Events/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var @event = await _context.Events.FindAsync(id);

            var viewModel = new EventCreateEditViewModel()
            {
                Event = @event
            };

            if (@event == null)
            {
                return(NotFound());
            }
            return(View(viewModel));
        }
コード例 #3
0
        public async Task <IActionResult> Create(EventCreateEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                if (viewModel.Img != null)
                {
                    var uniqueFileName = GetUniqueFileName(viewModel.Img.FileName);
                    var imageDirectory = Path.Combine(_webHostEnvironment.WebRootPath, "images");
                    var filePath       = Path.Combine(imageDirectory, uniqueFileName);
                    using (var myFile = new FileStream(filePath, FileMode.Create))
                    {
                        viewModel.Img.CopyTo(myFile);
                    }
                    viewModel.Event.ImgPath = uniqueFileName;
                }
                _context.Add(viewModel.Event);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
コード例 #4
0
        // GET: Events/Create
        public IActionResult Create()
        {
            var viewModel = new EventCreateEditViewModel();

            return(View(viewModel));
        }