public async Task <IActionResult> Edit(double id, [Bind("TUBEID,MATERIAL,DESCRIPTION,DIAMETER,THICKNESS,ROUNDNESS,WEIGHT,STIFFNESS,LISTPRICE,CONSTRUCTION")] TubeMaterial tubeMaterial)
        {
            if (id != tubeMaterial.TUBEID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tubeMaterial);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TubeMaterialExists(tubeMaterial.TUBEID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(tubeMaterial));
        }
        public async Task <IActionResult> Create([Bind("TUBEID,MATERIAL,DESCRIPTION,DIAMETER,THICKNESS,ROUNDNESS,WEIGHT,STIFFNESS,LISTPRICE,CONSTRUCTION")] TubeMaterial tubeMaterial)
        {
            if (ModelState.IsValid)
            {
                _context.Add(tubeMaterial);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(tubeMaterial));
        }
        public Tube(TubeMaterial tubeMaterial)
        {
            this.tubeMaterial = tubeMaterial;

            switch (tubeMaterial)
            {
            case TubeMaterial.Copper:
                density             = 8700; //kg/m3
                heatCapacity        = 385;  //J/kgK
                thermalConductivity = 400;  //W/mK
                break;

            default:
                Console.WriteLine("no material is chosen for tube");
                Console.Read();
                break;
            }
        }