Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        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);
        }