// GET: Compatibilities/Create public IActionResult Create() { var twoPartCompatibilities = new TwoPartCompatibilities(); twoPartCompatibilities.AllParts = getAllParts(); return(View(twoPartCompatibilities)); }
// GET: Compatibilities/Edit/5 public IActionResult Edit(int?id) { if (id == null) { return(NotFound()); } var compatibility = _context.Compatibilities .Include(c => c.Parts).ThenInclude(p => p.Cpu) .Include(c => c.Parts).ThenInclude(p => p.Cooler) .Include(c => c.Parts).ThenInclude(p => p.Motherboard) .Include(c => c.Parts).ThenInclude(p => p.Ram) .Include(c => c.Parts).ThenInclude(p => p.Storage) .Include(c => c.Parts).ThenInclude(p => p.Gpu) .Include(c => c.Parts).ThenInclude(p => p.Psu) .Include(c => c.Parts).ThenInclude(p => p.Case) .FirstOrDefault(x => x.Id == id); if (compatibility == null) { return(NotFound()); } var twoPartCompatibilities = new TwoPartCompatibilities(); twoPartCompatibilities.AllParts = getAllParts(); var compatibleParts = compatibility.Parts.ToList(); twoPartCompatibilities.FirstPartId = compatibleParts[0].Part.GetUniqueIdentification(); twoPartCompatibilities.SecondPartId = compatibleParts[1].Part.GetUniqueIdentification(); twoPartCompatibilities.Compatibility = compatibility; return(View(twoPartCompatibilities)); }
public async Task <IActionResult> Create([Bind("FirstPartId", "SecondPartId")] TwoPartCompatibilities twoPartCompatibilities) { if (ModelState.IsValid) { var compatibility = new Compatibility(); _context.Add(compatibility); var firstCompatibility = new PartCompatibility(); firstCompatibility.Compatibility = compatibility; AddPartIdToCompatibility(firstCompatibility, twoPartCompatibilities.FirstPartId); _context.Add(firstCompatibility); var secondCompatibility = new PartCompatibility(); secondCompatibility.Compatibility = compatibility; AddPartIdToCompatibility(secondCompatibility, twoPartCompatibilities.SecondPartId); _context.Add(secondCompatibility); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(twoPartCompatibilities)); }
public IActionResult Edit(int id, [Bind("Compatibility", "FirstPartId", "SecondPartId")] TwoPartCompatibilities twoPartCompatibilities) { if (id != twoPartCompatibilities.Compatibility.Id) { return(NotFound()); } if (ModelState.IsValid) { var compatibility = _context.Compatibilities .Include(c => c.Parts) .FirstOrDefault(x => x.Id == id); var firstPartCompatibility = compatibility.Parts.ToList()[0]; AddPartIdToCompatibility(firstPartCompatibility, twoPartCompatibilities.FirstPartId); _context.Update(firstPartCompatibility); var secondPartCompatibility = compatibility.Parts.ToList()[1]; AddPartIdToCompatibility(secondPartCompatibility, twoPartCompatibilities.SecondPartId); _context.Update(secondPartCompatibility); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } return(View(twoPartCompatibilities)); }