public CommitCom(string name, string version, ComStatus status = ComStatus.NoChange) { cname = name; cver = version; cstatus = status; path = string.Empty; if (cname.IndexOf("libs") >= 0) { ctype = ComType.SO; } else if (cname.IndexOf("sql") >= 0) { users = new List <string>(); if (cname.IndexOf("TablePatch") >= 0) { ctype = ComType.TablePatch; users.Add(U_PREFIX + cname.Substring(0, cname.IndexOf('_'))); } else if (cname.IndexOf("Patch") >= 0) { ctype = ComType.Patch; users.Add(U_PREFIX + cname.Substring(0, cname.IndexOf('_'))); } else if (cname.IndexOf("user_") >= 0 && cname.IndexOf("菜单功能") >= 0) { ctype = ComType.MenuPatch; users.Add(U_PREFIX + cname.Substring(0, cname.IndexOf('_'))); } else { // 用于识别临时脚本 Regex reg = new Regex(@"[\u4e00-\u9fa5]"); // 希望能识别出临时修改单,有时会失效;带有中文的则认为是临时单 if (reg.IsMatch(cname)) { ctype = ComType.Ssql; } else { ctype = ComType.Sql; } if (ctype == ComType.Sql) { try { // 处理sql脚本用户 secu secusz busin or.sql 去除最后两项 int i = 0; string u = cname.Substring(0, cname.LastIndexOf('_')); u = u.Substring(0, u.LastIndexOf('_')); while ((i = u.IndexOf('_')) >= 0) { users.Add(U_PREFIX + u.Substring(i + 1)); u = u.Substring(0, i); } users.Add(U_PREFIX + u); } catch (Exception ex) { OperLog.instance.WriteErrorLog("无法确认文件的用户:" + cname + ", Ex_Msg:" + ex.Message); } } } } else if (cname.IndexOf("exe") >= 0) { ctype = ComType.Exe; } else if (cname.IndexOf("dll") >= 0) { ctype = ComType.Dll; } else if (cname.IndexOf("ini") >= 0) { ctype = ComType.Ini; } else if (cname.IndexOf("xml") >= 0) { ctype = ComType.Xml; } else if (cname.IndexOf("xls") >= 0) { ctype = ComType.Excel; } else { ctype = ComType.Nothing; } }
// Display information about the request public override string ToString() { string result = $"{Type}:"; switch (Type) { case IJPLib_XML.ReqType.Connect: result = $"{Type}: IP Address {IpAddress}, Timeout {TimeOut}, Retries {Retries}"; break; case IJPLib_XML.ReqType.Disconnect: break; case IJPLib_XML.ReqType.ClearMessage: break; case IJPLib_XML.ReqType.NewMessage: break; case IJPLib_XML.ReqType.GetMessage: break; case IJPLib_XML.ReqType.GetXML: break; case IJPLib_XML.ReqType.GetXMLOnly: break; case IJPLib_XML.ReqType.GetObjectSettings: break; case IJPLib_XML.ReqType.GetDirectory: result = $"Get Directory: Start Number {Start}, End Number {End}"; break; case IJPLib_XML.ReqType.GetSettings: break; case IJPLib_XML.ReqType.SetXML: break; case IJPLib_XML.ReqType.SetMessage: break; case IJPLib_XML.ReqType.SetComStatus: result = $"Set COM Status {ComStatus.ToString()}"; break; case IJPLib_XML.ReqType.CallMessage: result = $"Call Message: Registration {MessageNumber}"; break; case IJPLib_XML.ReqType.SaveMessage: result = $"Save Message: Registration # {MessageInfo.RegistrationNumber}, Group # {MessageInfo.GroupNumber}, Nickname {MessageInfo.Nickname}"; break; case IJPLib_XML.ReqType.RenameMessage: result = $"Rename Message: Registration # {MessageNumber}, New Name {MessageName}"; break; case IJPLib_XML.ReqType.GetMisc: result = $"Get Misc Data {SubType.ToString()}"; break; case IJPLib_XML.ReqType.Exit: break; default: break; } return(result); }