예제 #1
0
        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;
            }
        }
예제 #2
0
        // 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);
        }