/// <summary> /// The run. /// </summary> /// <param name="filePath"> /// The file path. /// </param> /// <param name="fileName"> /// The file name. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public bool Run(string filePath, string fileName) { // instantiate all necessary modules var connectionStatus = new Functions.StatusArea.Statusbar.Statusbar_Functions(); var execFunction = new Functions.Helpers.InterfaceHelpers.DTMFunctions(); var devScreen = new Functions.ApplicationArea.Page_DeviceScreen.Page_DeviceScreen_Functions(); string fileLocation; string basePath; // set all necessary parameters devScreen.IsRestoreRequest = false; // check if device is online if (connectionStatus.IsDeviceConnected()) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Device is connected. Saving device data..."); // click button "program functions" devScreen.OpenProgramFunctionsMenu(); // check if menu is open if (devScreen.IsDTMFunctionMenuShown()) { // select "save device data" devScreen.RunDTMFunction(); // wait until process is finished if (connectionStatus.IsActionFinished()) { // get event message text string msg = connectionStatus.GetStatusMessage(); // check if saving was successful if (msg.Contains("set has been saved")) { // get file path and extract basepath fileLocation = connectionStatus.GetFileLocationFromStatusMessage(msg); basePath = connectionStatus.GetBasePath(fileLocation); // construct the destination path string finalizedPath = filePath + "\\" + fileName + ".dcdtm"; // rename the file execFunction.MoveFile(fileLocation, finalizedPath); // check if renaming was successful if (File.Exists(finalizedPath)) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "The file was successfully created. File location: " + finalizedPath); return(true); } } } } } return(false); }