public async Task <IList <MachineInfo> > GetMachineInfoAsync() { var response = await dmClient.GetMachineInfoAsync(); VerifyResponse(response); using (var csvReader = new CsvReader(new StringReader(response.Response))) { List <MachineInfo> records = new List <MachineInfo>(); while (csvReader.Read()) { string machineName = csvReader["MACHINE"]; string repairType = csvReader["REPAIR"]; string repairActionState = csvReader["REPAIRACTIONSTATE"]; string machineStatus = csvReader["STATUS"]; var recordId = new MaintenanceRecordId(machineName, repairType); var record = new MachineInfo(recordId, machineStatus, repairActionState); records.Add(record); } return(records); } }
private static string GenerateTaskId(MaintenanceRecordId recordId, DateTime?timestamp) { recordId.Validate("recordId"); // A custom date format rather than "O" (ISO 8601) is used here because // "O" includes characters that are not allowed in repair task ID strings. return($"AP/{recordId}/{timestamp:yyyyMMdd-HHmmss}"); }
public async Task <IList <MachineMaintenanceRecord> > GetDevicesPendingMaintenanceAsync() { var response = await dmClient.GetDevicesPendingMaintenanceAsync(); VerifyResponse(response); using (var csvReader = new CsvReader(new StringReader(response.Response))) { List <MachineMaintenanceRecord> records = new List <MachineMaintenanceRecord>(); while (csvReader.Read()) { string machineName = csvReader["MACHINENAME"]; string repairType = csvReader["ACTION"]; string delayInSec = csvReader["DELAYINSEC"]; int delay; if (!int.TryParse(delayInSec, out delay)) { traceType.WriteWarning( "Unable to parse current delay: MACHINENAME='{0}' ACTION='{1}' DELAYINSEC='{2}'", machineName, repairType, delayInSec); delay = 59; // set this to some small value, so that we assume it is already approved } TimeSpan delaySpan = TimeSpan.FromSeconds(delay); var recordId = new MaintenanceRecordId(machineName, repairType); var record = MachineMaintenanceRecord.FromPendingRepair(recordId, delaySpan); records.Add(record); } return(records); } }
public async Task <IList <MachineMaintenanceRecord> > GetRepairListAsync() { var response = await dmClient.GetRepairListAsync(); VerifyResponse(response); using (var csvReader = new CsvReader(new StringReader(response.Response))) { List <MachineMaintenanceRecord> records = new List <MachineMaintenanceRecord>(); while (csvReader.Read()) { string machineName = csvReader["MACHINENAME"]; string repairType = csvReader["REQUESTTYPE"]; var recordId = new MaintenanceRecordId(machineName, repairType); var record = MachineMaintenanceRecord.FromActiveRepair(recordId); records.Add(record); } return(records); } }