public void LoadGrid(FleetStatusRow fsd, Dictionary <DictionaryParameter, string> parameters) { //var data = new List<FleetStatusGridRow> {new FleetStatusGridRow(fsd, false)}; //gvFleetStatus.DataSource = data; //gvFleetStatus.DataBind(); lblTotalFleet.Text = string.Format("{0:#,0}", fsd.TotalFleet); lblOperationalFleet.Text = string.Format("{0:#,0}", fsd.OperationalFleet); lblAvailableFleet.Text = string.Format("{0:#,0}", fsd.AvailableFleet); lblBd.Text = string.Format("{0:#,0}", fsd.Bd); lblWs.Text = string.Format("{0:#,0}", fsd.Ws); lblMm.Text = string.Format("{0:#,0}", fsd.Mm); lblTb.Text = string.Format("{0:#,0}", fsd.Tb); lblTw.Text = string.Format("{0:#,0}", fsd.Tw); lblFs.Text = string.Format("{0:#,0}", fsd.Fs); lblShop.Text = string.Format("{0:#,0}", fsd.InShop); lblRl.Text = string.Format("{0:#,0}", fsd.Rl); lblOverdue.Text = string.Format("{0:#,0} ", fsd.Overdue); lblOnRent.Text = string.Format("{0:#,0}", fsd.OnRent); lblShop.Text = string.Format("{0:#,0}", fsd.InShop); fsd.SetDivisorType(PercentageDivisorType.OperationalFleet); lblShopTotalOverOperFleet.Text = string.Format("{0:P} ", fsd.InShopPercent); lblRp.Text = string.Format("{0:#,0}", fsd.Rp); fsd.SetDivisorType(PercentageDivisorType.AvailableFleet); lblOverdueOverAvailable.Text = string.Format("{0:P} ", fsd.OverduePercent); lblTn.Text = string.Format("{0:#,0}", fsd.Tn); lblIdle.Text = string.Format("{0:#,0} ", fsd.Idle); lblSv.Text = string.Format("{0:#,0} ", fsd.Sv); lblOnRent.Text = string.Format("{0:#,0} ", fsd.OnRent); lblSu.Text = string.Format("{0:#,0} ", fsd.Su); lblTc.Text = string.Format("{0:#,0} ", fsd.Tc); fsd.SetDivisorType(PercentageDivisorType.OperationalFleet); lblUtiOnRentOperFleetInclOverdue.Text = string.Format("{0:P} ", fsd.UtilInclOverduePercent); lblIdleAndSu.Text = string.Format("{0:#,0} ", fsd.Idle + fsd.Su); lblIdleAndSuOverAvailableFleet.Text = string.Format("{0:P} ", ((double)(fsd.Idle + fsd.Su)) / fsd.OperationalFleet); lblHl.Text = string.Format("{0:#,0} ", fsd.Hl); lblUtiOnRentOperFleet.Text = string.Format("{0:P} ", fsd.UtilizationPercent); lblHa.Text = string.Format("{0:#,0} ", fsd.Ha); PopulateGridParameters(parameters); }
private FleetStatusRow GetFleetCurrentStatusEntry() { var vehicles = BaseVehicleDataAccess.GetVehicleQueryable(Parameters, DataContext, true, true); var dt = DateTime.Now.Date; if (!vehicles.Any()) { return(new FleetStatusRow(PercentageDivisorType.Values, false)); } var returned = new FleetStatusRow(PercentageDivisorType.Values, false) { TotalFleet = vehicles.Count(), Cu = vehicles.Sum(d => d.LastOperationalStatusId == 2 ? 1 : 0), Ha = vehicles.Sum(d => d.LastOperationalStatusId == 4 ? 1 : 0), Hl = vehicles.Sum(d => d.LastOperationalStatusId == 5 ? 1 : 0), Ll = vehicles.Sum(d => d.LastOperationalStatusId == 6 ? 1 : 0), Nc = vehicles.Sum(d => d.LastOperationalStatusId == 8 ? 1 : 0), Pl = vehicles.Sum(d => d.LastOperationalStatusId == 9 ? 1 : 0), Tc = vehicles.Sum(d => d.LastOperationalStatusId == 16 ? 1 : 0), Sv = vehicles.Sum(d => d.LastOperationalStatusId == 14 ? 1 : 0), Ws = vehicles.Sum(d => d.LastOperationalStatusId == 19 ? 1 : 0), Bd = vehicles.Sum(d => d.LastOperationalStatusId == 1 ? 1 : 0), Mm = vehicles.Sum(d => d.LastOperationalStatusId == 7 ? 1 : 0), Tw = vehicles.Sum(d => d.LastOperationalStatusId == 18 ? 1 : 0), Tb = vehicles.Sum(d => d.LastOperationalStatusId == 15 ? 1 : 0), Fs = vehicles.Sum(d => d.LastOperationalStatusId == 3 ? 1 : 0), Rl = vehicles.Sum(d => d.LastOperationalStatusId == 10 ? 1 : 0), Rp = vehicles.Sum(d => d.LastOperationalStatusId == 11 ? 1 : 0), Tn = vehicles.Sum(d => d.LastOperationalStatusId == 17 ? 1 : 0), Idle = vehicles.Sum(d => (d.LastOperationalStatusId == 12 && d.LastMovementTypeId != 10) ? 1 : 0), Su = vehicles.Sum(d => d.LastOperationalStatusId == 13 ? 1 : 0), Overdue = vehicles.Sum(d => (d.LastOperationalStatusId == 12 && d.LastMovementTypeId == 10 && d.ExpectedDateTime < dt) ? 1 : 0) }; return(returned); }
public void LoadChart(FleetStatusRow fsd) { var seriesList = new List <GraphSeries>(); double startingPoint = 0; var series = AddWaterfallSeries(AvailabilityTopic.TotalFleet , fsd.TotalFleet, fsd.TotalFleet); seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Cu , fsd.TotalFleet - startingPoint, fsd.Cu, false); startingPoint += fsd.Cu; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Ha , fsd.TotalFleet - startingPoint, fsd.Ha, false); startingPoint += fsd.Ha; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Hl , fsd.TotalFleet - startingPoint, fsd.Hl, false); startingPoint += fsd.Hl; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Nc , fsd.TotalFleet - startingPoint, fsd.Nc, false); startingPoint += fsd.Nc; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Pl , fsd.TotalFleet - startingPoint, fsd.Pl, false); startingPoint += fsd.Pl; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Tc , fsd.TotalFleet - startingPoint, fsd.Tc, false); startingPoint += fsd.Tc; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Sv , fsd.TotalFleet - startingPoint, fsd.Sv, false); startingPoint += fsd.Sv; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Ws , fsd.TotalFleet - startingPoint, fsd.Ws, false); startingPoint += fsd.Ws; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.OperationalFleet , fsd.OperationalFleet, fsd.OperationalFleet); startingPoint = 0; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Bd , fsd.OperationalFleet - startingPoint, fsd.Bd); startingPoint += fsd.Bd; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Mm , fsd.OperationalFleet - startingPoint, fsd.Mm); startingPoint += fsd.Mm; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Tw , fsd.OperationalFleet - startingPoint, fsd.Tw, false); startingPoint += fsd.Tw; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Tb , fsd.OperationalFleet - startingPoint, fsd.Tb); startingPoint += fsd.Tb; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Fs , fsd.OperationalFleet - startingPoint, fsd.Fs, false); startingPoint += fsd.Fs; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Rl , fsd.OperationalFleet - startingPoint, fsd.Rl, false); startingPoint += fsd.Rl; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Rp , fsd.OperationalFleet - startingPoint, fsd.Rp, false); startingPoint += fsd.Rp; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Tn , fsd.OperationalFleet - startingPoint, fsd.Tn, false); startingPoint += fsd.Tn; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.AvailableFleet , fsd.AvailableFleet, fsd.AvailableFleet); startingPoint = 0; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Idle , fsd.AvailableFleet - startingPoint, fsd.Idle); startingPoint += fsd.Idle; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Su , fsd.AvailableFleet - startingPoint, fsd.Su); startingPoint += fsd.Su; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.Overdue , fsd.AvailableFleet - startingPoint, fsd.Overdue); startingPoint += fsd.Overdue; seriesList.Add(series); series = AddWaterfallSeries(AvailabilityTopic.OnRent , fsd.OnRent, fsd.OnRent); seriesList.Add(series); GraphInformation.SeriesData = seriesList; }
protected FleetStatusRow GroupToSingle(IQueryable <FleetStatusRow> fleetDayKeyGrouping) { var divisorType = BaseVehicleDataAccess.GetPercentageDivisorTypeFromParameters(Parameters); var availabilityDayGrouping = BaseVehicleDataAccess.GetAvailabilityDayGroupingFromParameters(Parameters); var ld = fleetDayKeyGrouping.ToList(); if (ld.Count == 0) { return(new FleetStatusRow(divisorType, true)); } var fsr = new FleetStatusRow(divisorType, true) { TotalFleet = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.TotalFleet) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.TotalFleet) : ld.Min(d => d.TotalFleet), Bd = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Bd) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Bd) : ld.Min(d => d.Bd), Cu = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Cu) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Cu) : ld.Min(d => d.Cu), Fs = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Fs) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Fs) : ld.Min(d => d.Fs), Ha = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Ha) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Ha) : ld.Min(d => d.Ha), Hl = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Hl) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Hl) : ld.Min(d => d.Hl), Ll = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Ll) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Ll) : ld.Min(d => d.Ll), Mm = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Mm) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Mm) : ld.Min(d => d.Mm), Nc = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Nc) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Nc) : ld.Min(d => d.Nc), Pl = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Pl) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Pl) : ld.Min(d => d.Pl), Rl = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Rl) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Rl) : ld.Min(d => d.Rl), Rp = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Rp) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Rp) : ld.Min(d => d.Rp), Idle = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Idle) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Idle) : ld.Min(d => d.Idle), Su = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Su) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Su) : ld.Min(d => d.Su), Sv = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Sv) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Sv) : ld.Min(d => d.Sv), Tb = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Tb) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Tb) : ld.Min(d => d.Tb), Tc = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Tc) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Tc) : ld.Min(d => d.Tc), Tn = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Tn) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Tn) : ld.Min(d => d.Tn), Tw = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Tw) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Tw) : ld.Min(d => d.Tw), Ws = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Ws) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Ws) : ld.Min(d => d.Ws), Overdue = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.Overdue) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.Overdue) : ld.Min(d => d.Overdue), OperationalFleetDatabaseValue = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.OperationalFleetDatabaseValue) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.OperationalFleetDatabaseValue) : ld.Min(d => d.OperationalFleetDatabaseValue), AvailableFleetDatabaseValue = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.AvailableFleetDatabaseValue) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.AvailableFleetDatabaseValue) : ld.Min(d => d.AvailableFleetDatabaseValue), OnRentDatabaseValue = availabilityDayGrouping == AvailabilityGrouping.Average ? (int)ld.Average(d => d.OnRentDatabaseValue) : availabilityDayGrouping == AvailabilityGrouping.Max ? ld.Max(d => d.OnRentDatabaseValue) : ld.Min(d => d.OnRentDatabaseValue), }; var returned = fsr; return(returned); }