#region
using System;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Threading;
using System.Windows.Forms;
#endregion
namespace CSFrameworkV5.Common
{
///
/// 公共单元,Globals类
///
public sealed class Globals
{
#region 系统常量定义
public const string DEF_DATE_FORMAT = "yyyy-MM-dd"; // "dd/MM/yyyy";
public const string
DEF_LONE_DATE_FORMAT =
"yyyy-MM-dd hh:mm:ss"; //"dd/MM/yyyy hh:mm:ss";
public const string DEF_YYYYMMDD = "yyyyMMdd"; //日期格式
public const string DEF_YYYYMMDD_LONG = "yyyy-MM-dd"; //"yyyy/MM/dd";
public const string
DEF_DATE_LONG_FORMAT =
"yyyy-MM-dd hh:mm:ss"; //"yyyy/MM/dd hh:mm:ss";
public const string DEF_NULL_DATETIME = "1900-01-01"; //日期为空预设的日期
public const string DEF_NULL_VALUE = "NULL"; //转换数值为字符串,用于与NULL比较
public const string DEF_CURRENCY = "RMB"; //预设货币
public const string DEF_DECIMAL_FORMAT = "0.00"; //输出格式
public const string DEF_NO_TEXT = "*自动生成*"; //新增状态下,单据号码显示的文本
public const string DEF_CONFIG_DIR = @"\Config\"; //应用程序下的配置目录
public const string DEF_USER_CFG = @"\config\user.ini"; //用户配置
public const string DEF_DB_CFG = @"\config\db.ini"; //用户配置
public const string
DEF_SYSTEM_CONFIG = @"\config\SystemSettings.xml"; //系统设置文件
public const string DEF_LOCAL_LOG = @"\err.log"; //本地日志文件
///
/// 四舍五入小数位
///
public const int DEF_DECIMAL_ROUND = 2;
public const string DEF_PROGRAM_NAME = "C/S系统快速开发框架-旗舰版";
public const string DEF_PROGRAM_VERSION = "V5.1(2021)";
public const string
ProgramVersion = "V5.0 (202105-Last Release)"; //程序版本
public const string MainVersion = "20210516-2350";
///
/// 最新版本号
///
//*****最近更新的模块***********************************************************/
public const string SalesDepartment = "20210516-1533"; // 营业部管理;
public const string DataDictionary = "20210516-1753"; //"数据字典";
public const string AccountModule = "2018020210516516-1533"; //"财务管理";
public const string HumanResourceModule = "20210516-1533"; //"人力资源";
public const string
SystemManage = "20210516-1753"; //"系统管理";
public const string InventoryModule = "20210516-1533"; //"仓库管理";
public const string PurchaseModule = "20210516-1753"; //"采购管理";
public const string SalesModule = "20210516-1753"; //"销售模块-演示使用";
//******************************************************************************/
public static int
DEF_MSG_INTERVAL = 5 * 60 * 1000; //毫秒,每5分钟查一次消息
public static string DEF_UPGRADER_PROCESS_NAME =
"CSFramework.AutoUpgrader4.0"; //升级程序进程名称
public static string
DEF_DEMO_DAL = "CSFrameworkV5.DemoDAL.DLL"; //演示数据访问层文件名
//请将常量名改为您自己项目的名称,比如:YourProject*.DLL
public static string
DEF_SYS_MODULE = "CSFramework*.DLL"; //搜索开发框架的业务模块,文件名匹配
///
/// WCF模块下预设的32位令牌密码,可以改为更长,必须使用静态属性
///
public static string WCF_LOGIN_TICKET =>
"!RuTa=S$z+G$*FGs2+a/z3aDdf1G@$^1";
/// 用户管理,新增用户预设密码,必须使用静态属性
///
public static string DEF_PWD => "123456";
///
/// SQL的连接参数配置注册表路径
///
public static string REG_SQL_CFG = @"SOFTWARE\CSFramework\V4.6\SQL";
///
/// 系统数据库名。
///
public static string DEF_SYSTEM_DBName = "CSFrameworkV5_System";
///
/// 系统业务数据库名。
///
public static string DEF_US_DBName = "CSFrameworkV5_Normal";
///
/// 系统数据库账套编号(平台使用)
///
public static string DEF_SYSTEM_DBID = "CSFramework.SystemDB";
///
/// 用户自定义模块的主窗体名称
///
public static string DEF_CUSTOM_MODULE_MAIN =
"CSFrameworkV5.UserCustom.frmUserCustomMain";
#endregion
#region 伪造登录信息的常量定义(用于测试模拟用户登录的数据)
public static string DEF_TEST_USER = "admin"; //测试用户,管理员
public static string DEF_TEST_DATASET = "Normal"; //帐套编号
public static string DEF_TEST_DBName = "CSFrameworkV5_Normal"; //测试数据库名
#endregion
#region 模块文件&子系统程序文件名定义
///
/// 客户端WCF配置文件(WebRef.dll.config)
///
public static string DEF_WEB_SERVICE_CFG =
@"\CSFrameworkV5.WebRef.dll.config";
///
/// 升级程序文件名(UpgraderClient.EXE)
///
public static string DEF_UPGRADER_NAME =
"CSFrameworkV5.AutoUpgrader.exe";
///
/// 用户界面层公共库模块文件名(Library.DLL)
///
public static string DEF_LIBRARY_UI_MODULE =
@"CSFrameworkV5.Library.dll";
///
/// 系统管理模块文件名(SystemModule.DLL)
///
public static string DEF_SYSTEM_MODULE =
@"CSFrameworkV5.SystemModule.dll";
///
/// 数据访问层模块文件名(DataAccess.dll)
///
public static string DEF_DAL_DLL = "CSFrameworkV5.DataAccess.dll";
///
/// 业务模块文件名(Business.DLL)
///
public static string DEF_BLL_MODULE = @"CSFrameworkV5.Business.dll";
///
/// SQL连接配置工具文件名(SqlConnector.EXE)
///
public static string DEF_SQLCONFIG_NAME =
"CSFrameworkV5.SqlConnector.exe";
///
/// 核心库DLL文件(Core.dll)
///
public static string DEF_CORE_DLL = "CSFrameworkV5.Core.dll";
///
/// 框架基类库文件(Library.dll)
///
public static string DEF_LIBRARY_DLL = "CSFrameworkV5.Library.dll";
#endregion
#region 公共方法
///
/// 加载Debug\Images目录下的的图片
///
/// 文件名,如:32_Print.png
///
public static Image LoadImage(string imgFileName)
{
var file = Application.StartupPath + @"\images\" + imgFileName;
if (File.Exists(file)) return Image.FromFile(file);
return null;
}
///
/// 加载Debug\Images目录下的图标或图片
///
/// 文件名,如:32_Print.png
///
public static Bitmap LoadBitmap(string imgFileName)
{
try
{
var file = Application.StartupPath + @"\images\" + imgFileName;
if (File.Exists(file))
using (var ms = new MemoryStream(File.ReadAllBytes(file)))
{
return new Bitmap(ms);
}
return null;
}
catch
{
return null;
}
}
///
/// 生成GUID32字符串,去掉"-"分隔符
///
///
public static object NewRowID()
{
Thread.Sleep(10);
return Guid.NewGuid().ToStringEx().Replace("-", "");
}
///
/// 移除SQL注入非法字符
///
/// 字符串内容
/// 返回的长度,0长度为不处理.
///
public static string RemoveInjection(string content,
int returnMaxLength = 0)
{
var replaced = content.Replace("'", "").Replace("@", "")
.Replace("0x", "");
if (returnMaxLength == 0) return replaced;
return replaced.Substring(0,
replaced.Length < returnMaxLength
? replaced.Length
: returnMaxLength);
}
///
/// 杀掉进程
///
/// 进程名称
/// 尝试次数
public static void KillProcess(string processName, int tryKillTimes)
{
var tryTimes = 0;
var ps = Process.GetProcessesByName(processName);
while (ps.Length > 0)
{
ps[0].Kill();
Application.DoEvents();
Thread.Sleep(500); //等待0.5秒,继续查杀
tryTimes++;
if (tryTimes > tryKillTimes)
throw new Exception("不能删除主程序:" + processName +
",请关掉主程序后再试一次!");
ps = Process.GetProcessesByName(processName);
}
}
#endregion
}
}