/// <summary> /// constructor defining the different parameters of PCClient /// </summary> /// <param name="pcModel">IPCModel object</param> /// <param name="fileLog">FileLog object already defined</param> /// <param name="maxUnlockWait">How long to wait for the reports.zip file to be downloaded (in secondfs). Optional (default 200 seconds)</param> public PCClient(IPCModel pcModel, FileLog fileLog, int maxUnlockWait = 200) { try { //defining log file if (fileLog == null) { Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; _logFullFileName = Path.Combine(string.Format(_workDirectory, unixTimestamp.ToString()), _logFileName); _fileLog = new FileLog(_logFullFileName); } else { _fileLog = fileLog; } if (_maxUnlockWait < maxUnlockWait) { _maxUnlockWait = maxUnlockWait; } _fileLog.Write(LogMessageType.Debug, String.Format("PC.Plugins.Automation PCModel has started\n")); _pcModel = pcModel; if (!string.IsNullOrEmpty(_pcModel.ProxyOutURL)) { fileLog.Write(LogMessageType.Info, "Using proxy: " + _pcModel.ProxyOutURL); } _pcRestProxy = new PCRestProxy(_pcModel.isHTTPSProtocol(), _pcModel.PCServerAndPort, _pcModel.Domain, _pcModel.Project, _pcModel.ProxyOutURL, _pcModel.ProxyOutUser, _pcModel.ProxyOutPassword); } catch (Exception e) { fileLog.Write(LogMessageType.Error, e.Message); } }
public bool Login() { PCErrorResponse pcErrorResponse = new PCErrorResponse("", 0); try { _fileLog.Write(LogMessageType.Info, string.Format("Trying to login: [PCServer: '{0}://{1}', User: '******']", _pcModel.isHTTPSProtocol(), _pcModel.PCServerAndPort, _pcModel.UserName)); _loggedIn = _pcRestProxy.Authenticate(_pcModel.UserName, _pcModel.Password, ref pcErrorResponse); } catch (Exception e) { _fileLog.Write(LogMessageType.Error, "Error: " + e.Message); if (pcErrorResponse.ErrorCode > 0) { _fileLog.Write(LogMessageType.Error, "\n ExceptionMessage: " + pcErrorResponse.ExceptionMessage + "\n ErrorCode: " + pcErrorResponse.ErrorCode.ToString()); } } if (!_loggedIn && pcErrorResponse.ErrorCode > 0) { _fileLog.Write(LogMessageType.Info, "\n ExceptionMessage: " + pcErrorResponse.ExceptionMessage + "\n ErrorCode: " + pcErrorResponse.ErrorCode.ToString()); } _fileLog.Write(LogMessageType.Info, string.Format("Login {0}", _loggedIn ? "succeeded\n" : "failed\n")); return(_loggedIn); }