Ejemplo n.º 1
0
        // GET: Compatibilities/Create
        public IActionResult Create()
        {
            var twoPartCompatibilities = new TwoPartCompatibilities();

            twoPartCompatibilities.AllParts = getAllParts();
            return(View(twoPartCompatibilities));
        }
Ejemplo n.º 2
0
        // 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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }