示例#1
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));
        }
示例#2
0
        private void AddPartIdToCompatibility(PartCompatibility partCompatibility, string indetification)
        {
            partCompatibility.WipePartIds();
            var    splitIdentification = indetification.Split('`');
            int    id   = int.Parse(splitIdentification[0]);
            string name = splitIdentification[1];
            CPU    cpu;

            if ((cpu = _context.Cpu.Find(id)) != null && cpu.Name == name)
            {
                partCompatibility.CPUId = id;
            }

            Cooler cooler;

            if ((cooler = _context.Cooler.Find(id)) != null && cooler.Name == name)
            {
                partCompatibility.CoolerId = id;
            }

            Motherboard motherboard;

            if ((motherboard = _context.Motherboard.Find(id)) != null && motherboard.Name == name)
            {
                partCompatibility.MotherboardId = id;
            }

            RAM ram;

            if ((ram = _context.Ram.Find(id)) != null && ram.Name == name)
            {
                partCompatibility.RAMId = id;
            }

            Storage storage;

            if ((storage = _context.Storage.Find(id)) != null && storage.Name == name)
            {
                partCompatibility.StorageId = id;
            }

            GPU gpu;

            if ((gpu = _context.Gpu.Find(id)) != null && gpu.Name == name)
            {
                partCompatibility.GPUId = id;
            }

            PSU psu;

            if ((psu = _context.Psu.Find(id)) != null && psu.Name == name)
            {
                partCompatibility.PSUId = id;
            }
            Case _case;

            if ((_case = _context.Case.Find(id)) != null && _case.Name == name)
            {
                partCompatibility.CaseId = id;
            }
        }