190 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			190 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | ||
| using System.Collections.Generic;
 | ||
| using System.ComponentModel;
 | ||
| using System.Drawing;
 | ||
| using System.Windows.Forms;
 | ||
| using System.Reflection;
 | ||
| using Volian.Controls.Library;
 | ||
| using VEPROMS.CSLA.Library;
 | ||
| using System.Text.RegularExpressions;
 | ||
| using Volian.Base.Library;
 | ||
| 
 | ||
| namespace VEPROMS
 | ||
| {
 | ||
| 	partial class AboutVEPROMS : DevComponents.DotNetBar.Office2007Form //Form
 | ||
| 	{
 | ||
| 		private static string _SQLServerName = null;
 | ||
| 
 | ||
| 		public static string SQLServerName  // C2018-015 made this information static so  we can use in meta files
 | ||
| 		{
 | ||
| 			get 
 | ||
| 			{
 | ||
| 				if (_SQLServerName == null)
 | ||
| 				{
 | ||
| 					string connectionString = Database.VEPROMS_Connection;
 | ||
| 					Match mServer = Regex.Match(connectionString, ".*Data Source=([^;]*).*");
 | ||
| 					_SQLServerName = (mServer.Success) ? mServer.Groups[1].Value : "unknown";
 | ||
| 					if (_SQLServerName.StartsWith(@".\")) _SQLServerName = @"Local \ " + _SQLServerName.Substring(2);
 | ||
| 				}
 | ||
| 				return _SQLServerName; 
 | ||
| 			}
 | ||
| 		}
 | ||
| 		private static string _DatabaseName = null;
 | ||
| 
 | ||
| 		public static string DatabaseName   // C2018-015 made this information static so  we can use in meta files
 | ||
| 		{
 | ||
| 			get 
 | ||
| 			{
 | ||
| 				if (_DatabaseName == null)
 | ||
| 				{
 | ||
| 					_DatabaseName = string.Format("{0}[SQL:{1:yyMM.ddHH}]", Database.ActiveDatabase, Database.RevDate);
 | ||
| 				}
 | ||
| 				return _DatabaseName; 
 | ||
| 			}
 | ||
| 		}
 | ||
| 
 | ||
| 		public AboutVEPROMS()
 | ||
| 		{
 | ||
| 			InitializeComponent();
 | ||
| 
 | ||
| 			//  Initialize the AboutBox to display the product information from the assembly information.
 | ||
| 			//  Change assembly information settings for your application through either:
 | ||
| 			//  - Project->Properties->Application->Assembly Information
 | ||
| 			//  - AssemblyInfo.cs
 | ||
| 			//"Data Source=.\\SQLEXPRESS;Initial Catalog=VEPROMS_RGE_SAMG_Convert;Integrated Security=True"
 | ||
| 			DateTime buildDateTime = new System.IO.FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime;
 | ||
| 			// If the AssemblyConfiguration is "DEMO" then we are running a Demo version
 | ||
| 			string demoTxt = VlnSettings.DemoMode ? "(Demo)": VlnSettings.DebugMode ? "(Debug)" : "(Production)";
 | ||
| 			// C2018-015 made this information static so  we can use in meta files
 | ||
| 			//string connectionString = Database.VEPROMS_Connection;
 | ||
| 			//Match mServer = Regex.Match(connectionString,".*Data Source=([^;]*).*");
 | ||
| 			//string server = (mServer.Success)?mServer.Groups[1].Value:"unknown";
 | ||
| 			//if (server.StartsWith(@".\")) server = @"Local \ " + server.Substring(2);
 | ||
| 			//string databaseName = string.Format("{0}[SQL:{1:yyMM.ddHH}]", Database.ActiveDatabase, Database.RevDate);
 | ||
| 			this.Text = String.Format("About {0}", AssemblyTitle + " " + demoTxt);
 | ||
| 			this.labelProductName.Text = AssemblyProduct;
 | ||
| 			this.labelVersion.Text = String.Format("Version {0}", AssemblyVersion);
 | ||
| 			this.labelVersionDateTime.Text = String.Format("Build Date:  {0}", buildDateTime.ToString());
 | ||
| 			this.labelCopyright.Text = String.Format("Copyright <20> {0}. All Rights Reserved.", buildDateTime.Year.ToString());
 | ||
| 			this.labelCompanyName.Text = AssemblyCompany;
 | ||
| //			this.textBoxDescription.Text = AssemblyDescription;
 | ||
| 			this.labelCompanyName.Links[0].LinkData = "Volian Enterprises Inc.";
 | ||
| 			this.labelCompanyName.Links.Add(0,23,"www.volian.com");
 | ||
| 			//this.labelServer.Text = string.Format("SQL Server: {0}", server);
 | ||
| 			this.labelServer.Text = string.Format("SQL Server: {0}", SQLServerName); // C2018-015 use static for this info.
 | ||
| 			//if (databaseName == null) databaseName = Regex.Replace(connectionString, "^.*Initial Catalog=([^;]*);.*$", "$1", RegexOptions.IgnoreCase);
 | ||
| 			//this.labelDatabase.Text = string.Format("Database: {0}", databaseName);
 | ||
| 			this.labelDatabase.Text = string.Format("Database: {0}", DatabaseName); // C2018-015 use static for this info.
 | ||
| 		}
 | ||
| 
 | ||
| 		#region Assembly Attribute Accessors
 | ||
| 
 | ||
| 		public string AssemblyTitle
 | ||
| 		{
 | ||
| 			get
 | ||
| 			{
 | ||
| 				// Get all Title attributes on this assembly
 | ||
| 				object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
 | ||
| 				// If there is at least one Title attribute
 | ||
| 				if (attributes.Length > 0)
 | ||
| 				{
 | ||
| 					// Select the first one
 | ||
| 					AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
 | ||
| 					// If it is not an empty string, return it
 | ||
| 					if (titleAttribute.Title != "")
 | ||
| 						return titleAttribute.Title;
 | ||
| 				}
 | ||
| 				// If there was no Title attribute, or if the Title attribute was the empty string, return the .exe name
 | ||
| 				return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
 | ||
| 			}
 | ||
| 		}
 | ||
| 
 | ||
| 		public string AssemblyVersion
 | ||
| 		{
 | ||
| 			get
 | ||
| 			{
 | ||
| 				return Assembly.GetExecutingAssembly().GetName().Version.ToString();
 | ||
| 			}
 | ||
| 		}
 | ||
| 
 | ||
| 		// C2018-009 used to print the PROMS version number at the top of each PDF page
 | ||
| 		public static string PROMSVersion
 | ||
| 		{
 | ||
| 			get
 | ||
| 			{
 | ||
| 				return Assembly.GetExecutingAssembly().GetName().Version.ToString();
 | ||
| 			}
 | ||
| 		}
 | ||
| 
 | ||
| 		public string AssemblyDescription
 | ||
| 		{
 | ||
| 			get
 | ||
| 			{
 | ||
| 				// Get all Description attributes on this assembly
 | ||
| 				object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
 | ||
| 				// If there aren't any Description attributes, return an empty string
 | ||
| 				if (attributes.Length == 0)
 | ||
| 					return "";
 | ||
| 				// If there is a Description attribute, return its value
 | ||
| 				return ((AssemblyDescriptionAttribute)attributes[0]).Description;
 | ||
| 			}
 | ||
| 		}
 | ||
| 
 | ||
| 		public string AssemblyProduct
 | ||
| 		{
 | ||
| 			get
 | ||
| 			{
 | ||
| 				// Get all Product attributes on this assembly
 | ||
| 				object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
 | ||
| 				// If there aren't any Product attributes, return an empty string
 | ||
| 				if (attributes.Length == 0)
 | ||
| 					return "";
 | ||
| 				// If there is a Product attribute, return its value
 | ||
| 				return ((AssemblyProductAttribute)attributes[0]).Product;
 | ||
| 			}
 | ||
| 		}
 | ||
| 
 | ||
| 		public string AssemblyCompany
 | ||
| 		{
 | ||
| 			get
 | ||
| 			{
 | ||
| 				// Get all Company attributes on this assembly
 | ||
| 				object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
 | ||
| 				// If there aren't any Company attributes, return an empty string
 | ||
| 				if (attributes.Length == 0)
 | ||
| 					return "";
 | ||
| 				// If there is a Company attribute, return its value
 | ||
| 				return ((AssemblyCompanyAttribute)attributes[0]).Company;
 | ||
| 			}
 | ||
| 		}
 | ||
| 		#endregion
 | ||
| 
 | ||
| 		private void labelCompanyName_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 | ||
| 		{
 | ||
| 			// Determine which link was clicked within the LinkLabel.
 | ||
| 			this.labelCompanyName.Links[0].Visited = true;
 | ||
| 
 | ||
| 			// Display the appropriate link based on the value of the 
 | ||
| 			// LinkData property of the Link object.
 | ||
| 			string target = e.Link.LinkData as string;
 | ||
| 
 | ||
| 			System.Diagnostics.Process.Start(target); // this should start the default web browser
 | ||
| 		}
 | ||
| 
 | ||
| 		private void logoPictureBox_Click(object sender, EventArgs e)
 | ||
| 		{
 | ||
| 			System.Diagnostics.Process.Start(labelCompanyName.Links[0].LinkData as string); // this should start the default web browser
 | ||
| 		}
 | ||
| 
 | ||
| 		private void btnViewEULA_Click(object sender, EventArgs e)
 | ||
| 		{
 | ||
| 			string EulaFile = string.Format(@"\{0}", VlnSettings.EULAfile);
 | ||
| 			string strEULA = System.Environment.CurrentDirectory + EulaFile;
 | ||
| 			frmViewTextFile ViewFile = new frmViewTextFile(strEULA,RichTextBoxStreamType.PlainText);
 | ||
| 			ViewFile.Text = "End-User License Agreement";
 | ||
| 			ViewFile.ShowDialog();
 | ||
| 		}
 | ||
| 
 | ||
| 	}
 | ||
| }
 |