public LoginInternalResult Login(string username, string password, int companyNumber, string languageID, bool firstLogin, bool singleTenant) { _nLogLogger.Debug($"username {username}", "Login"); _nLogLogger.Debug($"password {password}", "Login"); _nLogLogger.Debug($"companyNumber {companyNumber}", "Login"); _nLogLogger.Debug($"languageID {languageID}", "Login"); _nLogLogger.Debug($"firstLogin {firstLogin}", "Login"); _nLogLogger.Debug($"singleTenant {singleTenant}", "Login"); var pdsUserLoginDataSet = new pdsUserLoginDataSet(); pdsUserLoginDataSet.ttblUserLogin.AddttblUserLoginRow(username, password, companyNumber, languageID, firstLogin, singleTenant); var cErrorMessage = string.Empty; StopwatchUtil.Time( () => { this._poLoginproxy.Login(ref this._pdsContext, ref pdsUserLoginDataSet, out cErrorMessage); }); _nLogLoggerP.Trace("Login"); if (!string.IsNullOrEmpty(cErrorMessage)) { if (cErrorMessage.Contains(OperInUse)) { _nLogLogger.Warn($"Error returned - {cErrorMessage}", "PopulateLoginModel"); } else { _nLogLogger.Error($"Error returned - {cErrorMessage}", "PopulateLoginModel"); } } if (pdsUserLoginDataSet.HasErrors) { _nLogLogger.Error("pdsUserContext is showing errors", "Login"); } var result = new UserLogin(); if (pdsUserLoginDataSet.ttblUserLogin.Count > 0) { result = UserLogin.BuildUserLoginFromRow(pdsUserLoginDataSet.ttblUserLogin[0]); } var loginInternalResult = this.PopulateLoginModel(pdsUserLoginDataSet.HasErrors, cErrorMessage, result, firstLogin); loginInternalResult.availUsers = new List <AvailUsers>(); foreach (DataRow row in pdsUserLoginDataSet.ttblAvailUsers) { _nLogLogger.Debug($"Building Avail Users", "Login"); loginInternalResult.availUsers.Add(AvailUsers.BuildAvailUsersFromRow(row)); } _nLogLogger.Debug($"Finished Login", "Login"); return(loginInternalResult); }
public LoginLoginResponseAPI Login(UserLogin UserLogin) { var result = new LoginLoginResponseAPI(); var pdsUserLogin = new pdsUserLoginDataSet(); DataRow ttblUserLoginCriteria = pdsUserLogin.ttblUserLogin.NewttblUserLoginRow(); UserLogin.UpdateRowFromUserLogin(ref ttblUserLoginCriteria, UserLogin); pdsUserLogin.ttblUserLogin.AddttblUserLoginRow((pdsUserLoginDataSet.ttblUserLoginRow)ttblUserLoginCriteria); string cErrorMessage = string.Empty; NLogLoggerP.Trace("Login - Login - Before Call"); StopwatchUtil.Time( () => { using (var poLoginproxy = this.proxyAppObject.CreatePO_loginproxy()) { this.SetRequiredContextParameters(); poLoginproxy.Login(ref pdsContext, ref pdsUserLogin, out cErrorMessage); } }); NLogLoggerP.Info("Login - Login - After Call"); this.ReportErrors(cErrorMessage); this.ReportErrors(this.pdsContext); this.ReportErrors(pdsUserLogin); foreach (DataRow row in pdsUserLogin.ttblAvailUsers) { result.availUsers.Add(AvailUsers.BuildAvailUsersFromRow(row)); } if (pdsUserLogin.ttblUserLogin.Count > 0) { result.userLogin = UserLogin.BuildUserLoginFromRow(pdsUserLogin.ttblUserLogin[0]); } return(result); }
private static int Main(string[] args) { var errorLogPath = AppDomain.CurrentDomain.BaseDirectory + "\\ErrorLog.Txt"; File.Delete(errorLogPath); var errorLines = new List <string> { "Build Version Error Log", "--------------------", string.Empty, "From Jenkins:" }; // ---------------------------------- // Pick up options from arguments // ---------------------------------- var returnCode = 0; Parser.Default.ParseArguments <Options>(args) .WithParsed(opts => { if (string.IsNullOrEmpty(opts.Password)) { opts.Password = opts.User; } var absolutePath = Environment.GetEnvironmentVariable(AbsolutePath); if (absolutePath == null) { returnCode = -1; return; } if (!opts.NoAppServerCall) { if (string.IsNullOrEmpty(opts.AppServerUrl)) { // ---------------------------- // Read the web.config and attempt to get the URL from there // ---------------------------- var webConfigFullName = Path.Combine(absolutePath, opts.HomeForReport, WebConfigFile); if (!File.Exists(webConfigFullName)) { errorLines.Add("web.config not found"); File.WriteAllLines(errorLogPath, errorLines); returnCode = -2; return; } var webConfig = XDocument.Load(webConfigFullName); var firstOrDefault = webConfig.Root?.Descendants("add") .FirstOrDefault(x => x.Attribute("key")?.Value == "PROGRESS.Session.Url"); if (firstOrDefault != null) { opts.AppServerUrl = firstOrDefault.Attribute("value")?.Value; } } if (string.IsNullOrEmpty(opts.AppServerUrl)) { errorLines.Add("Never got an appserver url"); File.WriteAllLines(errorLogPath, errorLines); returnCode = -2; return; } } // ---------------------------------- // Jenkins Build Information // ---------------------------------- var reportPathAndName = Path.Combine(absolutePath, opts.HomeForReport, ReportName); File.Delete(reportPathAndName); var lines = new List <string> { $"Build Version Report {Assembly.GetEntryAssembly().GetName().Version}", "------------------------------", string.Empty, DateTime.Now.ToLongDateString(), string.Empty, opts.Identity, string.Empty, string.Empty, "From Jenkins:" }; lines.AddRange( from environmentVar in ListOfVariableToPull let environmentValue = Environment.GetEnvironmentVariable(environmentVar) select $" {environmentVar,-15}: {environmentValue ?? "Not set!"}"); lines.Add(string.Empty); if (!opts.NoAppServerCall) { // ---------------------------------- // DLL Processing // ---------------------------------- lines.Add("From DLLs:"); var dlls = Directory.GetFiles(Path.Combine(absolutePath, opts.DllLocation), "*ProxyAppObject.DLL"); var versionList = new Dictionary <string, string>(); var defaultVersion = string.Empty; var maxLength = 0; foreach (var dll in dlls) { var assembly = Assembly.LoadFrom(dll); var version = assembly.GetName().Version.ToString(); if (string.IsNullOrEmpty(defaultVersion)) { defaultVersion = version; } var name = assembly.GetName().Name; if (name.Length > maxLength) { maxLength = name.Length; } versionList.Add(name, version); } if (!string.IsNullOrEmpty(defaultVersion)) { var countOfDefaultVersion = versionList.Count(d => d.Value.Equals(defaultVersion)); if (countOfDefaultVersion != versionList.Count) { lines.Add(" Warning not all DLL's contain the same version"); lines.AddRange( versionList.Select(version => $" {version.Key,-20}: {version.Value}")); } else { lines.Add($" All DLLS are at version {defaultVersion}"); } } else { lines.Add(" Error getting SI version from DLL's"); } // ---------------------------------------- // Progress SI Call to get more information // ---------------------------------------- try { lines.Add(string.Empty); lines.Add("From Sxe:"); var connection = new Connection(opts.AppServerUrl, "", "", "") { SessionModel = opts.SessionModel == "SL" ? 0 : 1 }; var sharedProxyAppObject = new SharedProxyAppObject(connection); var pdsContextDataSet = new pdsContextDataSet(); var loginproxy = sharedProxyAppObject.CreatePO_loginproxy(); var pdsUserLoginDataSet = new pdsUserLoginDataSet(); pdsUserLoginDataSet.ttblUserLogin.AddttblUserLoginRow( opts.User, opts.Password, opts.Cono, string.Empty, false, !opts.Multitenant); loginproxy.Login(ref pdsContextDataSet, ref pdsUserLoginDataSet, out var cErrorMessage); var doRest = true; if (pdsContextDataSet.HasErrors) { lines.Add(cErrorMessage); doRest = false; } if (!string.IsNullOrEmpty(cErrorMessage) && !cErrorMessage.ToLower(CultureInfo.InvariantCulture).Contains(OperInUse.ToLower(CultureInfo.InvariantCulture))) { lines.Add(cErrorMessage); doRest = false; } if (string.IsNullOrEmpty(cErrorMessage)) { cErrorMessage = string.Empty; } if (doRest && cErrorMessage.ToLower(CultureInfo.InvariantCulture).Contains(OperInUse.ToLower(CultureInfo.InvariantCulture))) { loginproxy.ClearCoreSession(ref pdsContextDataSet, opts.Cono, opts.User, out cErrorMessage); if (string.IsNullOrEmpty(cErrorMessage)) { pdsUserLoginDataSet.ttblUserLogin.AddttblUserLoginRow( opts.User, opts.Password, opts.Cono, string.Empty, false, !opts.Multitenant); loginproxy.Login(ref pdsContextDataSet, ref pdsUserLoginDataSet, out cErrorMessage); if (!string.IsNullOrEmpty(cErrorMessage)) { lines.Add(cErrorMessage); doRest = false; } } else { lines.Add(cErrorMessage); doRest = false; } } if (doRest) { string cDisplayVersion; string cInternalVersion; string cEsbVersion; string cSiVersion; using (var poAssharedinquiryproxy = sharedProxyAppObject.CreatePO_assharedinquiryproxy() ) { poAssharedinquiryproxy.GetSXVersionNumbers( ref pdsContextDataSet, out cErrorMessage, out cDisplayVersion, out cInternalVersion, out cEsbVersion, out cSiVersion); } if (!string.IsNullOrEmpty(cErrorMessage)) { lines.Add(cErrorMessage); } else { lines.Add(string.Format($" {"DisplayVersion",-20}: {cDisplayVersion}")); lines.Add(string.Format($" {"InternalVersion",-20}: {cInternalVersion}")); lines.Add(string.Format($" {"ESBVersion",-20}: {cEsbVersion}")); lines.Add(string.Format($" {"SIVersion",-20}: {cSiVersion}")); } loginproxy.Logout(ref pdsContextDataSet, out cErrorMessage); } } catch (Exception e) { errorLines.Add(e.Message); File.WriteAllLines(errorLogPath, errorLines); returnCode = -3; return; } } // ---------------------------------- // Write Final Build Information // ---------------------------------- File.WriteAllLines(reportPathAndName, lines); returnCode = 0; }) .WithNotParsed <Options>(errs => { }); return(returnCode); }