コード例 #1
0
 /// <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;
     }
 }
コード例 #2
0
        /// <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;
            }
        }