private void dgValues_LoadingRow(object sender, DataGridRowEventArgs e) { StatisticValue sv = (StatisticValue)e.Row.DataContext; if (sv.percentage < 1 && sv.percentage > 0) { e.Row.Background = Brushes.Gold; } else { e.Row.Background = Brushes.White; } }
public void CalculateValues() { sampleValues = GetSampleValues(currentDepartment); statList = new List <StatisticValue>(); statList.Add(new StatisticValue("Поездов расформировано", sampleValues.Count)); statList.Add(new StatisticValue("в т.ч. груженых", GetCargoTrainsCount())); statList.Add(new StatisticValue("Грузооборот эксплуатационный, т-км", GetPL())); statList.Add(new StatisticValue("Перевезено грузов, т", GetSumP())); statList.Add(new StatisticValue("Маршрутная скорость, км/ч", GetAverageTrainSpeed())); StatisticValue averageWeight = new StatisticValue("Средний вес поезда, т", GetAverageTrainWeight()); statList.Add(averageWeight); StatisticValue sl = new StatisticValue("Среднесуточный пробег локомотива, км", GetSL()); statList.Add(sl); statList.Add(new StatisticValue("Производительность локомотива, т-км", sl.value * averageWeight.value)); }
// Поиск и расчет плановых значений public bool SetPlanValues() { if (statList == null) { throw new Exception("Плановые показатели не могут быть рассчитаны до определения фактических значений"); } // Период выходит за рамки одного отчетного месяца if (dtFromTime.AddDays(1).Month != dtToTime.Month && dtFromTime.Year != dtToTime.Year) { return(false); } planPeeker = new PlansPeeker(); try { float[] planValues = planPeeker.getPlan(dtToTime); int duration = (dtToTime - dtFromTime).Days; for (int i = 0; i < statList.Count; i++) { StatisticValue statisticValue = statList.ElementAt(i); statisticValue.plan = (planValues[i] / (DateTime.DaysInMonth(dtToTime.Year, dtToTime.Month))) * duration; if (statisticValue.value != 0) { statisticValue.percentage = (statisticValue.value / statisticValue.plan); } } savePlanMode = planPeeker.updatePlan; return(true); } catch (ArgumentException ex) { savePlanMode = planPeeker.addPlan; throw ex; } }