private void ShowMachineHoursInRough() { int amount = machineGroups[selectedMachineGroup].Count; HoursSpan[] hourSpan = new HoursSpan[amount]; CaculateMachineHoursInRough(ref hourSpan); FillPieChartData(ref hourSpan); }
private void CalculateHours(DateTime startPoint, DateTime endPoint, int startStatus, ref HoursSpan hoursSpan) { TimeSpan start = new TimeSpan(startPoint.Ticks); TimeSpan end = new TimeSpan(endPoint.Ticks); TimeSpan span = start.Subtract(end).Duration(); switch (startStatus) { case gVariable.MACHINE_STATUS_DOWN: hoursSpan.off = hoursSpan.off.Add(span); break; case gVariable.MACHINE_STATUS_IDLE: hoursSpan.idle = hoursSpan.idle.Add(span); break; case gVariable.MACHINE_STATUS_STARTED: hoursSpan.valid = hoursSpan.valid.Add(span); break; case gVariable.MACHINE_STATUS_DATA_ALARM: case gVariable.MACHINE_STATUS_MATERIAL_ALARM: case gVariable.MACHINE_STATUS_DEVICE_ALARM: hoursSpan.alarm = hoursSpan.alarm.Add(span); break; } }