// ---------------------------------------------------------------- // THIS COMMAND LIST ALL THE AVAILABLE DRIVES IN THE MACHINE // ---------------------------------------------------------------- public ICommandResponse[] RunCommand(ICommandRequest request) { JLogger.LogInfo(this, "runCommand:{0}", request.ToString()); ICommandResponse[] cmdResp; var driveInfoList = new List <JDriveInfo>(); try { //foreach (var di in DriveInfo.GetDrives()) //{ // if (!di.IsReady) // { // continue; // } // //NO_REMOVABLE_DRIVES - DON'T RETURN REMOVABLE DRIVES // if (di.DriveType != DriveType.Fixed && request.GetParams().Contains("NO_REMOVABLE_DRIVES")) // { // continue; // } // //NO_EMPTY_DRIVES - DON'T RETURN EMPTY DRIVES // if (di.TotalSize == 0 && request.GetParams().Contains("NO_EMPTY_DRIVES")) // { // continue; // } // var data = new JDriveInfo // { // DEVICEID = di.Name, // FREESPACE = di.TotalFreeSpace.ToString(), // TOTALSIZE = di.TotalSize.ToString(), // USEDSPACE = (di.TotalSize - di.TotalFreeSpace).ToString() // }; // driveInfoList.Add(data); //} driveInfoList.AddRange(from di in DriveInfo.GetDrives() where di.IsReady where di.DriveType == DriveType.Fixed || !request.GetParams().Contains(NoRemovableDrives) where di.TotalSize != 0 || !request.GetParams().Contains(NoEmptyDrives) select new JDriveInfo { DEVICEID = di.Name, FREESPACE = di.TotalFreeSpace.ToString(), TOTALSIZE = di.TotalSize.ToString(), USEDSPACE = (di.TotalSize - di.TotalFreeSpace).ToString() }); var respData = JsonConvert.SerializeObject(driveInfoList.ToArray()); cmdResp = new ICommandResponse[] { new CommandResponse(CommandResponseCodes.OkCommandSuccess[0], respData) }; } catch (Exception ex) { cmdResp = new ICommandResponse[] { new CommandResponse(CommandResponseCodes.ErrorExceptionFound[0], CommandResponseCodes.ErrorExceptionFound[1] + ex.Message) }; } JLogger.LogInfo(this, "runCommand Response:{0}", cmdResp.ToString()); return(cmdResp); }