/// <summary> /// Gets the Performance Settings /// </summary> /// <returns>Returns the view</returns> public ActionResult GetPerformanceSettings(string SelectedTrain = "0") { try { int selectedTrain = Convert.ToInt32(SelectedTrain); string customerId = this.Session["CustomerId"].ToString(); PerformanceSettings settings = new PerformanceSettings(); settings.trainList = new List<SelectListItem>(); List<train> trains = this.trainRepository.GetAll().Where(p => p.customer_customerID.ToString() == customerId).ToList(); settings.trainList.Add(new SelectListItem() { Text = "All Trains", Value = string.Empty + 0 }); if (trains != null && trains.Count != 0) { for (int i = 0; i < trains.Count; i++) { if (selectedTrain == 0) { settings.GPM += Convert.ToInt32(trains[i].gpm); } else if (selectedTrain == trains[i].trainID) { settings.GPM += Convert.ToInt32(trains[i].gpm); } settings.trainList.Add(new SelectListItem() { Text = "Train " + (i + 1), Value = string.Empty + trains[i].trainID }); } settings.selectedTrain = 0; this.Session["SelectedTrain"] = settings.selectedTrain; } List<vessel> vessels = this.vesselRepository.GetAll().Where(p => p.vessel_customerID == customerId).ToList(); if (vessels != null && vessels.Count != 0) { foreach (vessel vessel in vessels) { if (selectedTrain == 0) { settings.Size += Convert.ToInt32(vessel.size.Replace("$", string.Empty)); } else if (selectedTrain == vessel.train_trainID) { settings.Size += Convert.ToInt32(vessel.size.Replace("$", string.Empty)); } } } return this.PartialView("PerformanceSettings", settings); } catch (Exception) { throw; } }
/// <summary> /// Gets the Performance Settings /// </summary> /// <returns>Returns the view</returns> public ActionResult GetPerformanceSettings(string SelectedTrain = "0") { try { int selectedTrain = Convert.ToInt32(SelectedTrain); string customerId = this.Session["CustomerId"].ToString(); PerformanceSettings settings = new PerformanceSettings(); List<double> replacementPlan = new List<double>(); List<TimeSpan> intervalList = new List<TimeSpan>(); TimeSpan intervalSum = new TimeSpan(); settings.trainList = new List<SelectListItem>(); List<train> trains = this.trainRepository.GetAll().Where(p => p.customer_customerID.ToString() == customerId).ToList(); settings.trainList.Add(new SelectListItem() { Text = "All Trains", Value = string.Empty + 0 }); if (trains != null && trains.Count != 0) { for (int i = 0; i < trains.Count; i++) { if (selectedTrain == 0) { settings.GPM += Convert.ToDouble(trains[i].gpm); } else if (selectedTrain == trains[i].trainID) { this.Session["TrainNumber"] = i + 1; settings.GPM += Convert.ToDouble(trains[i].gpm); } settings.trainList.Add(new SelectListItem() { Text = "Train " + (i + 1), Value = string.Empty + trains[i].trainID }); } settings.selectedTrain = 0; this.Session["SelectedTrain"] = settings.selectedTrain; } List<vessel> vessels = this.vesselRepository.GetAll().Where(p => p.vessel_customerID == customerId).ToList(); if (vessels != null && vessels.Count != 0) { foreach (vessel vessel in vessels) { if (selectedTrain == 0) { if (vessel.vessel_number % 2 == 0) { replacementPlan.Add(Convert.ToDouble(vessel.replacement_plan)); DateTime purchasedate = Convert.ToDateTime(vessel.date_replaced, new CultureInfo("en-US", true)); TimeSpan interval = DateTime.Today - purchasedate; intervalList.Add(interval); } settings.Size += Convert.ToDouble(vessel.size.Replace("$", string.Empty)); } else if (selectedTrain == vessel.train_trainID) { if (vessel.vessel_number % 2 == 0) { replacementPlan.Add(Convert.ToDouble(vessel.replacement_plan)); DateTime purchasedate = Convert.ToDateTime(vessel.date_replaced, new CultureInfo("en-US", true)); TimeSpan interval = DateTime.Today - purchasedate; intervalList.Add(interval); } settings.Size += Convert.ToDouble(vessel.size.Replace("$", string.Empty)); } } if (replacementPlan.Count > 0) { settings.ResinLifeExpectancy = Convert.ToInt32(replacementPlan.Average()) * 52; } else { settings.ResinLifeExpectancy = 364; } foreach (var span in intervalList) { intervalSum += span; } if (intervalList.Count() > 0) { TimeSpan averageResinAge = TimeSpan.FromMilliseconds(intervalSum.TotalMilliseconds / intervalList.Count()); settings.AverageResinAge = Convert.ToInt32(averageResinAge.TotalDays / 7); } } return this.PartialView("PerformanceSettings", settings); } catch (Exception) { throw; } }