public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Price")] Cooling cooling) { if (id != cooling.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(cooling); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CoolingExists(cooling.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(cooling)); }
public void ComputerShallowClone() { #region DefineObject var cooling = new Cooling { Model = "Corsair Extreme Cooler H115i" }; var processor = new Processor { Cooling = cooling, Model = "I9-7920X 2.90GHz, 16.5 MB" }; var motherboard = new Motherboard { Processor = processor, GraphicCard = "GTX 1080 Ti AMP EXTREME", Memory = "G.Skill Trident Z RGB DDR4, 8x16GB, 3466MHz" }; var computer = new Computer(motherboard) { ProjectName = "My dream nr 7005", Case = "Obudowa Lian Li DK-03X" }; #endregion var shallowClone = computer.ShallowClone() as Computer; AreNotSame(shallowClone, computer); AreSame(shallowClone.Motherboard, computer.Motherboard); AreSame(shallowClone.Motherboard.Processor, computer.Motherboard.Processor); AreSame(shallowClone.Motherboard.Processor.Cooling, computer.Motherboard.Processor.Cooling); AreEqual("Corsair Extreme Cooler H115i", shallowClone.Motherboard.Processor.Cooling.Model); AreEqual("Corsair Extreme Cooler H115i", computer.Motherboard.Processor.Cooling.Model); shallowClone.Motherboard.Processor.Cooling.Model = "Box"; AreEqual("Box", shallowClone.Motherboard.Processor.Cooling.Model); AreEqual("Box", computer.Motherboard.Processor.Cooling.Model); }
public IActionResult DeleteConfirmed(int id) { Cooling cooling = dataContext.Coolings.FirstOrDefault(p => p.CoolingId == id); dataContext.Coolings.Remove(cooling); dataContext.SaveChanges(); return(RedirectToAction("Index", "Cooling")); }
public Computer() { motherboard = new Motherboard(); processor = new CPU(); memory = new Memory(); graphicCard = new Graphics(); storage = new Storage(); casing = new Case(); cooler = new Cooling(); }
public async Task <IActionResult> Create([Bind("Id,Name,Price")] Cooling cooling) { if (ModelState.IsValid) { _context.Add(cooling); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(cooling)); }
public Cooling() { productID = 0; productName = "Undefined"; //initializing Coolings for (int i = 0; i < CoolingAvailable.Length; i++) { CoolingAvailable[i] = new Cooling(i, "WaterCooling " + i); } }
public IActionResult Add() { Cooling cooling = new Cooling(); var product = dataContext.PCComponents.Where(p => p.ComponentCategoryId == 5).ToList(); var coolingList = dataContext.Coolings.ToList(); List <PCComponent> itemSelected = product; foreach (var item in coolingList) { PCComponent query = dataContext.PCComponents.FirstOrDefault(p => p.PCComponentId == item.PCComponentId); itemSelected.Remove(query); } ViewBag.Selected = new SelectList(itemSelected, "PCComponentId", "PCComponentName"); return(View(cooling)); }
public IActionResult Edit(int id, Cooling cooling) { if (ModelState.IsValid) { Cooling oldCooling = dataContext.Coolings.FirstOrDefault(p => p.CoolingId == id); oldCooling.CoolingColor = cooling.CoolingColor; oldCooling.CoolingDimension = cooling.CoolingDimension; oldCooling.CoolingLED = cooling.CoolingLED; oldCooling.CoolingMaterial = oldCooling.CoolingMaterial; oldCooling.CoolingNoise = oldCooling.CoolingNoise; oldCooling.CoolingRPM = cooling.CoolingRPM; oldCooling.CoolingSocket = cooling.CoolingSocket; oldCooling.CoolingSpec = cooling.CoolingSpec; oldCooling.CoolingWeight = cooling.CoolingWeight; dataContext.SaveChanges(); ViewBag.Status = 1; return(RedirectToAction("Index", "Cooling")); } return(View(cooling)); }
public IActionResult Add(Cooling cooling) { if (ModelState.IsValid) { Cooling newCooling = new Cooling { CoolingColor = cooling.CoolingColor, CoolingDimension = cooling.CoolingDimension, CoolingLED = cooling.CoolingLED, CoolingMaterial = cooling.CoolingMaterial, CoolingNoise = cooling.CoolingNoise, CoolingRPM = cooling.CoolingRPM, CoolingSocket = cooling.CoolingSocket, CoolingSpec = cooling.CoolingSpec, CoolingWeight = cooling.CoolingWeight, PCComponentId = cooling.PCComponentId }; dataContext.Coolings.Add(newCooling); dataContext.SaveChanges(); return(RedirectToAction("Index", "Cooling")); } else { var product = dataContext.PCComponents.Where(p => p.ComponentCategoryId == 5).ToList(); var coolingList = dataContext.Coolings.ToList(); List <PCComponent> itemSelected = product; foreach (var item in coolingList) { PCComponent query = dataContext.PCComponents.FirstOrDefault(p => p.PCComponentId == item.PCComponentId); itemSelected.Remove(query); } ViewBag.Selected = new SelectList(itemSelected, "PCComponentId", "PCComponentName"); return(View(cooling)); } }
/// <summary> /// Parses parameters from the stf reader /// </summary> /// <param name="stf">Reference to the stf reader</param> /// <param name="loco">Reference to the locomotive</param> public virtual void Parse(STFReader stf, MSTSDieselLocomotive loco) { locomotive = loco; stf.MustMatch("("); bool end = false; while (!end) { string lowercasetoken = stf.ReadItem().ToLower(); switch (lowercasetoken) { case "idlerpm": IdleRPM = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.IdleRPM; break; case "maxrpm": MaxRPM = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.MaxRPM; break; case "startingrpm": StartingRPM = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.StartingRPM; break; case "startingconfirmrpm": StartingConfirmationRPM = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.StartingConfirmRPM; break; case "changeuprpmps": ChangeUpRPMpS = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.ChangeUpRPMpS; break; case "changedownrpmps": ChangeDownRPMpS = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.ChangeDownRPMpS; break; case "rateofchangeuprpmpss": RateOfChangeUpRPMpSS = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.RateOfChangeUpRPMpSS; break; case "rateofchangedownrpmpss": RateOfChangeDownRPMpSS = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.RateOfChangeDownRPMpSS; break; case "maximalpower": MaximalPowerW = stf.ReadFloatBlock(STFReader.UNITS.Power, 0); initLevel |= SettingsFlags.MaximalPowerW; break; case "idleexhaust": InitialExhaust = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.IdleExhaust; break; case "maxexhaust": MaxExhaust = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.MaxExhaust; break; case "exhaustdynamics": ExhaustAccelIncrease = stf.ReadFloatBlock(STFReader.UNITS.None, 0); initLevel |= SettingsFlags.ExhaustDynamics; break; case "exhaustdynamicsdown": ExhaustDecelReduction = stf.ReadFloatBlock(STFReader.UNITS.None, null); initLevel |= SettingsFlags.ExhaustDynamics; break; case "exhaustcolor": ExhaustSteadyColor.PackedValue = stf.ReadHexBlock(Color.Gray.PackedValue); initLevel |= SettingsFlags.ExhaustColor; break; case "exhausttransientcolor": ExhaustTransientColor.PackedValue = stf.ReadHexBlock(Color.Black.PackedValue); initLevel |= SettingsFlags.ExhaustTransientColor; break; case "dieselpowertab": DieselPowerTab = new Interpolator(stf); initLevel |= SettingsFlags.DieselPowerTab; break; case "dieselconsumptiontab": DieselConsumptionTab = new Interpolator(stf); initLevel |= SettingsFlags.DieselConsumptionTab; break; case "throttlerpmtab": ThrottleRPMTab = new Interpolator(stf); initLevel |= SettingsFlags.ThrottleRPMTab; break; case "dieseltorquetab": DieselTorqueTab = new Interpolator(stf); initLevel |= SettingsFlags.DieselTorqueTab; break; case "minoilpressure": DieselMinOilPressurePSI = stf.ReadFloatBlock(STFReader.UNITS.PressureDefaultPSI, 40f); initLevel |= SettingsFlags.MinOilPressure; break; case "maxoilpressure": DieselMaxOilPressurePSI = stf.ReadFloatBlock(STFReader.UNITS.PressureDefaultPSI, 120f); initLevel |= SettingsFlags.MaxOilPressure; break; case "maxtemperature": DieselMaxTemperatureDeg = stf.ReadFloatBlock(STFReader.UNITS.TemperatureDifference, 100f); initLevel |= SettingsFlags.MaxTemperature; break; case "cooling": EngineCooling = (Cooling)stf.ReadIntBlock((int)Cooling.Proportional); initLevel |= SettingsFlags.Cooling; break; //ReadInt changed to ReadIntBlock case "temptimeconstant": DieselTempTimeConstantSec = stf.ReadFloatBlock(STFReader.UNITS.Time, 720f); initLevel |= SettingsFlags.TempTimeConstant; break; case "opttemperature": DieselOptimalTemperatureDegC = stf.ReadFloatBlock(STFReader.UNITS.TemperatureDifference, 95f); initLevel |= SettingsFlags.OptTemperature; break; case "idletemperature": DieselIdleTemperatureDegC = stf.ReadFloatBlock(STFReader.UNITS.TemperatureDifference, 75f); initLevel |= SettingsFlags.IdleTemperature; break; default: end = true; break; } } }
public void InitFromMSTS(MSTSDieselLocomotive loco) { if ((initLevel & SettingsFlags.IdleRPM) == 0) { IdleRPM = loco.IdleRPM; } if ((initLevel & SettingsFlags.MaxRPM) == 0) { MaxRPM = loco.MaxRPM; } InitialMagnitude = loco.InitialMagnitude; MaxMagnitude = loco.MaxMagnitude; if ((initLevel & SettingsFlags.MaxExhaust) == 0) { MaxExhaust = loco.MaxExhaust; } if ((initLevel & SettingsFlags.ExhaustColor) == 0) { ExhaustSteadyColor = loco.ExhaustSteadyColor; } ExhaustDecelColor = loco.ExhaustDecelColor; if ((initLevel & SettingsFlags.ExhaustTransientColor) == 0) { ExhaustTransientColor = loco.ExhaustTransientColor; } if ((initLevel & SettingsFlags.StartingRPM) == 0) { StartingRPM = loco.IdleRPM * 2.0f / 3.0f; } if ((initLevel & SettingsFlags.StartingConfirmRPM) == 0) { StartingConfirmationRPM = loco.IdleRPM * 1.1f; } if ((initLevel & SettingsFlags.ChangeUpRPMpS) == 0) { ChangeUpRPMpS = loco.MaxRPMChangeRate; } if ((initLevel & SettingsFlags.ChangeDownRPMpS) == 0) { ChangeDownRPMpS = loco.MaxRPMChangeRate; } if ((initLevel & SettingsFlags.RateOfChangeUpRPMpSS) == 0) { RateOfChangeUpRPMpSS = ChangeUpRPMpS; } if ((initLevel & SettingsFlags.RateOfChangeDownRPMpSS) == 0) { RateOfChangeDownRPMpSS = ChangeDownRPMpS; } if ((initLevel & SettingsFlags.MaximalPowerW) == 0) { MaximalPowerW = loco.MaxPowerW; } if ((initLevel & SettingsFlags.MaxOilPressure) == 0) { DieselMaxOilPressurePSI = loco.DieselMaxOilPressurePSI; } if ((initLevel & SettingsFlags.MinOilPressure) == 0) { DieselMinOilPressurePSI = loco.DieselMinOilPressurePSI; } if ((initLevel & SettingsFlags.MaxTemperature) == 0) { DieselMaxTemperatureDeg = loco.DieselMaxTemperatureDeg; } if ((initLevel & SettingsFlags.Cooling) == 0) { EngineCooling = loco.DieselEngineCooling; } if ((initLevel & SettingsFlags.TempTimeConstant) == 0) { DieselTempTimeConstantSec = 720f; } //DieselPowerTab = new Interpolator(new float[] { diesel.IdleRPM, diesel.IdleRPM * 1.01f, diesel.MaxRPM * 0.5f, diesel.MaxRPM }, new float[] { diesel.MaxPowerW * 0.05f, diesel.MaxRPM * 0.1f, diesel.MaxRPM * 0.5f, diesel.MaxPowerW }); //DieselPowerTab = new Interpolator(new float[] { diesel.IdleRPM, diesel.MaxRPM }, new float[] { diesel.MaxPowerW * 0.05f, diesel.MaxPowerW }); if ((initLevel & SettingsFlags.DieselConsumptionTab) == 0) { DieselConsumptionTab = new Interpolator(new float[] { loco.IdleRPM, loco.MaxRPM }, new float[] { loco.DieselUsedPerHourAtIdleL, loco.DieselUsedPerHourAtMaxPowerL }); } if ((initLevel & SettingsFlags.ThrottleRPMTab) == 0) { ThrottleRPMTab = new Interpolator(new float[] { 0, 100 }, new float[] { loco.IdleRPM, loco.MaxRPM }); } if (((initLevel & SettingsFlags.DieselTorqueTab) == 0) && ((initLevel & SettingsFlags.DieselPowerTab) == 0)) { int count = 11; float[] rpm = new float[count + 1]; float[] power = new float[] { 0.02034f, 0.09302f, 0.36628f, 0.60756f, 0.69767f, 0.81395f, 0.93023f, 0.9686f, 0.99418f, 0.99418f, 1f, 0.5f }; float[] torque = new float[] { 0.05f, 0.2f, 0.7f, 0.95f, 1f, 1f, 0.98f, 0.95f, 0.9f, 0.86f, 0.81f, 0.3f }; for (int i = 0; i < count; i++) { if (i == 0) { rpm[i] = loco.IdleRPM; } else { rpm[i] = rpm[i - 1] + (loco.MaxRPM - loco.IdleRPM) / (count - 1); } power[i] *= MaximalPowerW; torque[i] *= MaximalPowerW / (MaxRPM * 2f * 3.1415f / 60f) / 0.81f; } rpm[count] = loco.MaxRPM * 1.5f; DieselPowerTab = new Interpolator(rpm, power); //DieselPowerTab.test("PowerTab", count); DieselTorqueTab = new Interpolator(rpm, torque); //DieselTorqueTab.test("TorqueTab", count); } if (((initLevel & SettingsFlags.DieselTorqueTab) == 0) && ((initLevel & SettingsFlags.DieselPowerTab) == SettingsFlags.DieselPowerTab)) { float[] rpm = new float[DieselPowerTab.GetSize()]; float[] torque = new float[DieselPowerTab.GetSize()]; for (int i = 0; i < DieselPowerTab.GetSize(); i++) { rpm[i] = IdleRPM + (float)i * (MaxRPM - IdleRPM) / (float)DieselPowerTab.GetSize(); torque[i] = DieselPowerTab[rpm[i]] / (rpm[i] * 2f * 3.1415f / 60f); } } if (((initLevel & SettingsFlags.DieselTorqueTab) == SettingsFlags.DieselTorqueTab) && ((initLevel & SettingsFlags.DieselPowerTab) == 0)) { float[] rpm = new float[DieselPowerTab.GetSize()]; float[] power = new float[DieselPowerTab.GetSize()]; for (int i = 0; i < DieselPowerTab.GetSize(); i++) { rpm[i] = IdleRPM + (float)i * (MaxRPM - IdleRPM) / (float)DieselPowerTab.GetSize(); power[i] = DieselPowerTab[rpm[i]] * rpm[i] * 2f * 3.1415f / 60f; } } InitialExhaust = loco.InitialExhaust; MaxExhaust = loco.MaxExhaust; locomotive = loco; }
public IActionResult Edit(int id) { Cooling oldCooling = dataContext.Coolings.FirstOrDefault(p => p.CoolingId == id); return(View(oldCooling)); }