using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LYFZ.WindowsServiceHandling { public class SoftwareRegisterInfo { public SoftwareRegisterInfo() { LYFZ.RegistryActions.Register wReg = new LYFZ.RegistryActions.Register(); wReg.SubKey = RegisterKey.SubKey_Server; object oKeySoftwareCategory = wReg.ReadRegeditKey(RegisterKey.RegeditKeyName.SoftwareCategory.ToString()); int number = -1; if (oKeySoftwareCategory != null) { if (int.TryParse(oKeySoftwareCategory.ToString(), out number)) { this.SoftwareCategory = number; } } object oKeyServerType = wReg.ReadRegeditKey(RegisterKey.RegeditKeyName.ServerType.ToString()); if (oKeyServerType != null) { try { this.ServerType = (RegisterKey.SoftwareServerType)Enum.Parse(typeof(RegisterKey.SoftwareServerType), oKeyServerType.ToString()); } catch { this.ServerType = RegisterKey.SoftwareServerType.EmptyStore; } } object oKeyGlobalIDKey = wReg.ReadRegeditKey(RegisterKey.RegeditKeyName.GlobalIDKey.ToString()); if (oKeyGlobalIDKey != null) { this.ServerGlobalIDKey = oKeyGlobalIDKey.ToString(); } } int softwareCategory = -1; /// /// 软件类别 0 为集团版 1 为单店版 /// public int SoftwareCategory { get { return softwareCategory; } set { softwareCategory = value; } } RegisterKey.SoftwareServerType serverType = RegisterKey.SoftwareServerType.EmptyStore; /// /// 软件服务器类型 /// public RegisterKey.SoftwareServerType ServerType { get { return serverType; } set { serverType = value; } } string _ServerGlobalIDKey = ""; /// /// 服务器全局ID /// public string ServerGlobalIDKey { get { return _ServerGlobalIDKey.Trim(); } set { _ServerGlobalIDKey = value; } } /// /// 注册信息是否完整 /// public bool IsRegisteredIntact { get { bool bl = true; if (SoftwareCategory == 0) { if (ServerType == RegisterKey.SoftwareServerType.EmptyStore) { bl = false; } } if (SoftwareCategory < 0) { bl = false; } return bl; } } /// /// 注册软件 /// public bool RegisteredSoftware() { bool bl = false; int softwareCategory = SoftwareCategory; string serverType = ServerType.ToString();//MainStore/BranchStore LYFZ.RegistryActions.Register wReg = new LYFZ.RegistryActions.Register(); wReg.CreateSubKey(LYFZ.WindowsServiceHandling.RegisterKey.SubKey_Server); wReg.SubKey = LYFZ.WindowsServiceHandling.RegisterKey.SubKey_Server; bl = wReg.WriteRegeditKey(LYFZ.WindowsServiceHandling.RegisterKey.RegeditKeyName.SoftwareCategory.ToString(), softwareCategory.ToString(), LYFZ.RegistryActions.RegValueKind.String); if (!bl) { return bl; } bl = wReg.WriteRegeditKey(LYFZ.WindowsServiceHandling.RegisterKey.RegeditKeyName.ServerType.ToString(), serverType, LYFZ.RegistryActions.RegValueKind.String); if (!bl) { return bl; } bl = wReg.WriteRegeditKey(LYFZ.WindowsServiceHandling.RegisterKey.RegeditKeyName.GlobalIDKey.ToString(), ServerGlobalIDKey, LYFZ.RegistryActions.RegValueKind.String); return bl; } /// /// 获取软件服务器注册类型 /// /// 软件类别 0 为集团版 1 为单店版 /// /// /// public static LYFZ.WindowsServiceHandling.RegisterKey.MyServerType GetSoftwareCategory(int SoftwareCategory, WindowsServiceHandling.RegisterKey.SoftwareServerType sType, bool isUseCloudServer) { LYFZ.WindowsServiceHandling.RegisterKey.MyServerType myType = WindowsServiceHandling.RegisterKey.MyServerType.单店版; if (SoftwareCategory == 0) { //集团版 if (isUseCloudServer) { //使用云服务器版 if (sType == WindowsServiceHandling.RegisterKey.SoftwareServerType.MainStore) { myType = WindowsServiceHandling.RegisterKey.MyServerType.集团云版_总店; } else if (sType == WindowsServiceHandling.RegisterKey.SoftwareServerType.BranchStore) { myType = WindowsServiceHandling.RegisterKey.MyServerType.集团云版_分店; } } else { //使用本地服务器版 if (sType == WindowsServiceHandling.RegisterKey.SoftwareServerType.MainStore) { myType = WindowsServiceHandling.RegisterKey.MyServerType.集团版_总店; } else if (sType == WindowsServiceHandling.RegisterKey.SoftwareServerType.BranchStore) { myType = WindowsServiceHandling.RegisterKey.MyServerType.集团版_分店; } } } else { //单店版 if (isUseCloudServer) { //使用云服务器版 myType = WindowsServiceHandling.RegisterKey.MyServerType.单店云版; } else { //使用本地服务器版 myType = WindowsServiceHandling.RegisterKey.MyServerType.单店版; } } return myType; } /// /// 获取软件注册类型对应相关值 /// /// /// 软件类别 0 为集团版 1 为单店版 /// /// public static void RefSoftwareCategory(WindowsServiceHandling.RegisterKey.MyServerType myType, ref int SoftwareCategory, ref WindowsServiceHandling.RegisterKey.SoftwareServerType sType, ref bool isUseCloudServer) { switch (myType) { case WindowsServiceHandling.RegisterKey.MyServerType.集团云版_总店: SoftwareCategory = 0; isUseCloudServer = true; sType = WindowsServiceHandling.RegisterKey.SoftwareServerType.MainStore; break; case WindowsServiceHandling.RegisterKey.MyServerType.集团云版_分店: SoftwareCategory = 0; isUseCloudServer = true; sType = WindowsServiceHandling.RegisterKey.SoftwareServerType.BranchStore; break; case WindowsServiceHandling.RegisterKey.MyServerType.集团版_总店: SoftwareCategory = 0; isUseCloudServer = false; sType = WindowsServiceHandling.RegisterKey.SoftwareServerType.MainStore; break; case WindowsServiceHandling.RegisterKey.MyServerType.集团版_分店: SoftwareCategory = 0; isUseCloudServer = false; sType = WindowsServiceHandling.RegisterKey.SoftwareServerType.BranchStore; break; case WindowsServiceHandling.RegisterKey.MyServerType.单店云版: SoftwareCategory = 1; isUseCloudServer = true; sType = WindowsServiceHandling.RegisterKey.SoftwareServerType.MainStore; break; case WindowsServiceHandling.RegisterKey.MyServerType.单店版: SoftwareCategory = 1; isUseCloudServer = false; sType = WindowsServiceHandling.RegisterKey.SoftwareServerType.MainStore; break; } } } }