Exemplo n.º 1
0
        /// <summary>
        /// Get the totals for all slots.
        /// </summary>
        /// <returns>The totals for all slots.</returns>
        public static SlotTotals GetSlotTotals(this IEnumerable <SlotModel> slots)
        {
            var totals = new SlotTotals();

            // If no slots return initialized totals.
            if (slots == null)
            {
                return(totals);
            }

            totals.TotalSlots = slots.Count();

            foreach (SlotModel slot in slots)
            {
                totals.PPD += slot.PPD;
                totals.UPD += slot.UPD;
                totals.TotalRunCompletedUnits += slot.TotalRunCompletedUnits;
                totals.TotalRunFailedUnits    += slot.TotalRunFailedUnits;
                totals.TotalCompletedUnits    += slot.TotalCompletedUnits;
                totals.TotalFailedUnits       += slot.TotalFailedUnits;

                if (slot.ProductionValuesOk)
                {
                    totals.WorkingSlots++;
                }
            }

            return(totals);
        }
Exemplo n.º 2
0
        public void RefreshControlsWithTotalsData(SlotTotals totals)
        {
            SetNotifyIconText(String.Format("{0} Working Slots{3}{1} Non-Working Slots{3}{2:" + _prefs.GetPpdFormatString() + "} PPD",
                                            totals.WorkingSlots, totals.NonWorkingSlots, totals.PPD, Environment.NewLine));

            string clientLabel = totals.WorkingSlots == 1 ? "Slot" : "Slots";

            SetStatusLabelHostsText(String.Format(CultureInfo.CurrentCulture, "{0} {1}", totals.WorkingSlots, clientLabel));
            SetStatusLabelPPDText(String.Format(CultureInfo.CurrentCulture, "{0:" + _prefs.GetPpdFormatString() + "} PPD", totals.PPD));
        }
Exemplo n.º 3
0
        internal SlotSummary CreateSlotSummary(ICollection <SlotModel> slots, DateTime updateDateTime)
        {
            var slotSummary = new SlotSummary();

            slotSummary.HfmVersion     = Application.FullVersion;
            slotSummary.NumberFormat   = NumberFormat.Get(Preferences.Get <int>(Preference.DecimalPlaces), XsltNumberFormat);
            slotSummary.UpdateDateTime = updateDateTime;
            slotSummary.SlotTotals     = SlotTotals.Create(slots);
            slotSummary.Slots          = SortSlots(slots).Select(_mapper.Map <SlotModel, SlotData>).ToList();
            return(slotSummary);
        }
Exemplo n.º 4
0
        public void GridModelSlotTotalsChanged(SlotTotals totals)
        {
            string numberFormat = NumberFormat.Get(Preferences.Get <int>(Preference.DecimalPlaces));

            NotifyIconText = String.Format("{0} Working Slots{3}{1} Idle Slots{3}{2} PPD",
                                           totals.WorkingSlots, totals.NonWorkingSlots, totals.PPD.ToString(numberFormat), Environment.NewLine);

            string slots = "Slots";

            if (totals.TotalSlots == 1)
            {
                slots = "Slot";
            }

            int percentWorking = 0;

            if (totals.TotalSlots > 0)
            {
                percentWorking = ((totals.WorkingSlots * 200) + totals.TotalSlots) / (totals.TotalSlots * 2);
            }

            WorkingSlotsText    = $"{totals.WorkingSlots} of {totals.TotalSlots} {slots} ({percentWorking}%)";
            TotalProductionText = $"{totals.PPD.ToString(numberFormat)} PPD";
        }