/// <summary> /// /// </summary> /// <param name="date"></param> /// <param name="failureTypes"></param> /// <param name="times"></param> /// <param name="devices"></param> /// <returns></returns> public static List <string> FindDevicesFailedBeforeDate( DateTime date, List <FailureType> failureTypes, List <DateTime> times, List <Device> devices) { var problematicDevices = new HashSet <int>(); for (int i = 0; i < failureTypes.Count; i++) { if (Failure.IsFailureSerious(failureTypes[i].GetHashCode()) == 1 && Common.Earlier(times[i], date.Day, date.Month, date.Year) == 1) { problematicDevices.Add(devices[i].DeviceId); } } var result = new List <string>(); foreach (var device in devices) { if (problematicDevices.Contains(device.DeviceId)) { result.Add(device.Name); } } return(result); }
/// <summary> /// </summary> /// <param name="day"></param> /// <param name="failureTypes"> /// 0 for unexpected shutdown, /// 1 for short non-responding, /// 2 for hardware failures, /// 3 for connection problems /// </param> /// <param name="deviceId"></param> /// <param name="times"></param> /// <param name="devices"></param> /// <returns></returns> public static List <string> FindDevicesFailedBeforeDateObsolete( int day, int month, int year, int[] failureTypes, int[] deviceId, object[][] times, List <Dictionary <string, object> > devices) { var result = new List <string>(); DateTime receivedDate = new DateTime(year, month, day); var devicesList = new List <Device>(); var failuresList = new List <Failure>(); for (int i = 0; i < deviceId.Length; i++) { var newDevice = new Device() { Name = devices[i]["Name"] as string, Id = (int)devices[i]["DeviceId"] }; devicesList.Add(newDevice); var newFailure = new Failure() { FailuredDevice = newDevice, FailureTime = new DateTime((int)times[i][2], (int)times[i][1], (int)times[i][0]), IsFailureCritical = Failure.IsFailureSerious(failureTypes[i]) }; failuresList.Add(newFailure); } result = FindDevicesFailedBeforeDate(receivedDate, failuresList, devicesList); return(result); }
/// <summary> /// </summary> /// <param name="day"></param> /// <param name="failureTypes"> /// 0 for unexpected shutdown, /// 1 for short non-responding, /// 2 for hardware failures, /// 3 for connection problems /// </param> /// <param name="deviceId"></param> /// <param name="times"></param> /// <param name="devices"></param> /// <returns></returns> public static List <string> FindDevicesFailedBeforeDateObsolete( int day, int month, int year, int[] failureTypes, int[] deviceId, object[][] times, List <Dictionary <string, object> > devices) { var problematicDevices = new HashSet <int>(); for (int i = 0; i < failureTypes.Length; i++) { if (Failure.IsFailureSerious(failureTypes[i]) == 1 && Common.Earlier(times[i], day, month, year) == 1) { problematicDevices.Add(deviceId[i]); } } var result = new List <string>(); foreach (var device in devices) { if (problematicDevices.Contains((int)device["DeviceId"])) { result.Add(device["Name"] as string); } } return(result); }
public static List <string> FindDevicesFailedBeforeDate( DateTime curDate, Failure[] failures, Device[] devices) { var problematicDevices = new HashSet <int>(); for (int i = 0; i < failures.Length; i++) { if (Failure.IsFailureSerious(failures[i].Type) && Common.Earlier(failures[i].FailureDate, curDate)) { problematicDevices.Add(failures[i].DeviceId); } } var result = new List <string>(); foreach (var device in devices) { if (problematicDevices.Contains(device.Id)) { result.Add(device.Name); } } return(result); }
public static List <string> FindDevicesFailedBeforeDate(DateTime currentDatetime, List <Failure> failures, List <Device> listOfDevices) { List <string> resultX = new List <string>(); for (int i = 0; i < failures.Count; i++) { if (Failure.IsFailureSerious(Convert.ToInt32(failures[i].failure)) && failures[i].Earlier(currentDatetime)) { foreach (var item in listOfDevices) { if (item.ID == failures[i].device) { resultX.Add(item.Name); } } } } return(resultX); }