public async Task <IActionResult> Create([Bind("Id,Name,DescriptionShort,DescriptionLong")] ProjectModel projectModel, IFormFile imageFile, [Bind("techIds")] int[] techIds) { if (ModelState.IsValid) { var UploadImage = new UploadImage(_env, _config); projectModel.Image = await UploadImage.Create(imageFile); if (techIds != null) { foreach (int techId in techIds) { var tech = _context.TechModel.First(t => t.Id == techId); if (tech != null) { projectModel.Teches.Add(tech); } } } _context.Add(projectModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(projectModel)); }
public async Task <IActionResult> DeleteConfirmed(int id) { var techModel = await _context.TechModel.FindAsync(id); if (techModel.Image != null) { var UploadImage = new UploadImage(_env, _config); UploadImage.Delete(techModel.Image); } _context.TechModel.Remove(techModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Create([Bind("Id,Name,Image,Description")] TechModel techModel, IFormFile imageFile) { if (ModelState.IsValid) { var UploadImage = new UploadImage(_env, _config); techModel.Image = await UploadImage.Create(imageFile); _context.Add(techModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(techModel)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Image,Description")] TechModel techModel, IFormFile imageFile) { if (id != techModel.Id) { return(NotFound()); } if (ModelState.IsValid) { if (imageFile != null) { var UploadImage = new UploadImage(_env, _config); if (techModel.Image == null) { techModel.Image = await UploadImage.Create(imageFile); } else { techModel.Image = await UploadImage.Edit(techModel.Image, imageFile); } } try { _context.Update(techModel); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TechModelExists(techModel.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(techModel)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Name,DescriptionShort,DescriptionLong,Image")] ProjectModel projectModel, IFormFile imageFile, [Bind("techIds")] int[] techIds) { if (id != projectModel.Id) { return(NotFound()); } projectModel = await _context.ProjectModel.Include(t => t.Teches).FirstOrDefaultAsync(p => p.Id == id); if (ModelState.IsValid) { if (imageFile != null) { var UploadImage = new UploadImage(_env, _config); if (projectModel.Image == null) { projectModel.Image = await UploadImage.Create(imageFile); } else { projectModel.Image = await UploadImage.Edit(projectModel.Image, imageFile); } } try { foreach (var tech in projectModel.Teches.ToList()) { if (!techIds.Contains(tech.Id)) { projectModel.Teches.Remove(tech); } } foreach (int techId in techIds) { if (!projectModel.Teches.Any(t => t.Id == techId)) { var tech = _context.TechModel.First(t => t.Id == techId); projectModel.Teches.Add(tech); } } _context.Update(projectModel); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProjectModelExists(projectModel.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(projectModel)); }