Пример #1
0
        public void BindAfterSend(int nRet, int groupId, SGData sgData)
        {
            nRet = sgData.GetResult();
            string strMsg = "";

            if (nRet == 0)
            {
                HsNetWork hs = null;
                if (m_DicNetWork.TryGetValue(groupId, out hs) == true)
                {
                    hs = m_DicNetWork[groupId];
                    sgDicRecvData.SetLoginData(hs, groupId, sgData);
                    SGLoginData sgLoginBind    = (SGLoginData)sgDicRecvData.GetLoginData(groupId);
                    Int64       nFilePartSize  = sgLoginBind.GetFilePartSize();
                    Int64       nFileBandWidth = sgLoginBind.GetFileBandWidth();
                    int         nLinkCheckTime = sgLoginBind.GetLinkCheckTime();
                    nLinkCheckTime = (nLinkCheckTime * 2) / 3;
                    bool bDummy = sgLoginBind.GetUseDummyPacket();
                    hs.SetNetworkInfo(nFilePartSize, nFileBandWidth, bDummy, nLinkCheckTime);
                    SendUserInfoEx(groupId, sgLoginBind.GetUserID());
                }
            }
            else
            {
                strMsg = SGLoginData.LoginFailMessage(nRet);
                PageEventArgs e = new PageEventArgs();
                e.result = nRet;
                e.strMsg = strMsg;
                LoginResult_Event(groupId, e);
            }
        }
Пример #2
0
 public void AddSystemEnvData(SGData data)
 {
     AddSystemData("HSZDEFAULTOPTION", data);                      // 긴파일, 압축, 암호화 지원여부
     AddSystemData("INTERLOCKEMAIL", data);                        // 이메일용 INTERLOCKFLAG ( DLP/DRM/VIRUS/APT)
     AddSystemData("APPROVETYPESFM", data);                        // 대결재 방식(1:고정, 2:유동)
     AddSystemData("PCURLHTTPPROXY", data);                        // PCURLHTTPPROXY 설정 정보
 }
Пример #3
0
        public void ApprLineAfterSend(int nRet, int groupId, SGData sgData)
        {
            if (nRet == 0)
            {
                HsNetWork hs = null;
                if (m_DicNetWork.TryGetValue(groupId, out hs) == true)
                {
                    hs = m_DicNetWork[groupId];
                    sgDicRecvData.SetApprLineData(hs, groupId, sgData);
                }
            }

            /*
             * SGApprLineData sgApprLineData = (SGApprLineData)sgDicRecvData.GetApprLineData(groupId);
             * List<string> strListName = sgApprLineData.GetApprAndLineName();
             * List<string> strListSeq = sgApprLineData.GetApprAndLineSeq();
             */
            SGUserData  sgUserData = (SGUserData)sgDicRecvData.GetUserData(groupId);
            SGLoginData sgLoginDataApproveDefault = (SGLoginData)sgDicRecvData.GetLoginData(groupId);
            string      strTeamCode = sgUserData.GetTeamCode();
            string      strUserID   = sgLoginDataApproveDefault.GetUserID();

            SendInstApprove(groupId, strUserID, strTeamCode);
            SendSystemRunEnv(groupId, strUserID);
        }
Пример #4
0
        public void SystemRunAfterSend(int nRet, int groupId, SGData sgData)
        {
            if (nRet == 0)
            {
                SGLoginData sgLoginDataSystemRun = (SGLoginData)sgDicRecvData.GetLoginData(groupId);
                sgLoginDataSystemRun.AddRunSystemEnvData(sgData);
                HsNetWork hs = null;
                if (m_DicNetWork.TryGetValue(groupId, out hs) == true)
                {
                    sgDicRecvData.SetLoginData(hs, groupId, sgLoginDataSystemRun);

                    /*
                     * sgLoginDataSystemRun = (SGLoginData)sgDicRecvData.GetLoginData(groupId);
                     * string strHszDefaultOption = sgLoginDataSystemRun.GetHszDefaultOption();
                     * int nHszOption = sgLoginDataSystemRun.GetHszDefaultDec();
                     * int nApproveTypeSFM = sgLoginDataSystemRun.GetApproveTypeSFM();
                     * string strInterLockEmail = sgLoginDataSystemRun.GetInterLockEmail();
                     */
                    hs = m_DicNetWork[groupId];
                    int hszOpt = sgLoginDataSystemRun.GetHszDefaultDec();
                    hs.SetHszDefault(hszOpt);
                }
                SendUrlList(groupId, sgLoginDataSystemRun.GetUserID());

                LoginEvent LoginResult_Event = null;
                LoginResult_Event = sgPageEvent.GetLoginEvent(groupId);
                if (LoginResult_Event != null)
                {
                    PageEventArgs e = new PageEventArgs();
                    e.result = 0;
                    e.strMsg = "";
                    LoginResult_Event(groupId, e);
                }
            }
        }
Пример #5
0
        public SGData GetUserData(int groupid)
        {
            SGData data = null;

            data = sgDicRecvData.GetUserData(groupid);
            return(data);
        }
Пример #6
0
        public SGData GetTransManageData(int groupid)
        {
            SGData data = null;

            data = sgDicRecvData.GetTransManageData(groupid);
            return(data);
        }
Пример #7
0
        private void SGSvrRecv(int groupId, int cmd, SGData sgData)
        {
            SGData tmpData = GetSGSvrData(groupId);

            if (tmpData == null)
            {
                tmpData = new SGData();
            }

            switch (cmd)
            {
            case 2005:                                                                  // usertype, logintype, systemid, tlsversion
                tmpData.m_DicTagData["USERTYPE"]   = sgData.m_DicTagData["USERTYPE"];
                tmpData.m_DicTagData["LOGINTYPE"]  = sgData.m_DicTagData["LOGINTYPE"];
                tmpData.m_DicTagData["SYSTEMID"]   = sgData.m_DicTagData["SYSTEMID"];
                tmpData.m_DicTagData["TLSVERSION"] = sgData.m_DicTagData["TLSVERSION"];
                break;

            case 2102:                                                                  // gpki_cn
                tmpData.m_DicTagData["GPKI_CN"] = sgData.m_DicTagData["GPKI_CN"];
                break;

            case 2103:                                                                  // filemime.conf
                break;
            }

            sgDicRecvData.SetSvrData(groupId, tmpData);
        }
Пример #8
0
        public void AddSystemData(string strKey, SGData data)
        {
            List <Dictionary <int, string> > listDicdata = data.GetRecordData("TAGRECORD");

            if (listDicdata == null)
            {
                return;
            }
            int nTotalCount = listDicdata.Count;

            for (int i = 0; i < nTotalCount; i++)                                          // UI 에서 사용하기 위해 자기 자신을 포함하기 위해 i = 0 부터 시작.
            {
                Dictionary <int, string> dic = listDicdata[i];
                string strTmpKey             = "";
                string strValue = "";
                if (dic.TryGetValue(0, out strTmpKey) == true)
                {
                    strTmpKey = dic[0];
                    if (strTmpKey.Equals(strKey))
                    {
                        if (dic.TryGetValue(1, out strValue) == true)
                        {
                            strValue = dic[1];
                            EncAdd(strKey, strValue);
                        }
                    }
                }
            }
        }
Пример #9
0
        public SGData GetFileRecvNoti(int groupid)
        {
            SGData tmpData = null;

            if (m_DicFileRecvNoti.TryGetValue(groupid, out tmpData) != true)
            {
                return(null);
            }
            return(m_DicFileRecvNoti[groupid]);
        }
Пример #10
0
        public SGData GetGpkiData(int groupid)
        {
            SGData tmpData = null;

            if (m_DicGpkiData.TryGetValue(groupid, out tmpData) != true)
            {
                return(null);
            }
            return(m_DicGpkiData[groupid]);
        }
Пример #11
0
        private void SGDataRecv(int groupId, eCmdList cmd, SGData sgData)
        {
            int nRet = 0;

            nRet = sgData.GetResult();
            switch (cmd)
            {
            case eCmdList.eSEEDKEY:                                                      // SEEDKEY_ACK : seed key 요청 응답
                break;

            case eCmdList.eBIND:                                                      // BIND_ACK : user bind(connect) 인증 응답
                BindAfterSend(nRet, groupId, sgData);
                break;

            case eCmdList.eCHANGEPASSWD:                                                      // 비밀번호 변경 요청 응답.
                break;

            case eCmdList.eDEPTINFO:                                                      // 부서정보 조회 요청 응답.
                break;

            case eCmdList.eURLLIST:                                                      // URL 자동전환 리스트 요청 응답.
                // FileMime.conf 요청하는 함수 구현 필요. 추후 개발
                break;

            case eCmdList.eUSERINFOEX:                                                      // USERINFOEX : 사용자 정보 응답.
                UserInfoAfterSend(nRet, groupId, sgData);
                break;

            case eCmdList.eAPPRINSTCUR:                                                      // 현재 등록된 대결재자 정보 요청 응답.
                break;

            case eCmdList.eFILETRANSLIST:                                                      // 전송관리 조회 리스트 데이터 요청 응답.
                break;

            case eCmdList.eFILEAPPROVE:                                                      // 결재관리 조회 리스트 데이터 요청 응답.
                break;

            case eCmdList.eSYSTEMRUNENV:                                                           // 시스템 환경정보 요청에 대한 응답.
                SystemRunAfterSend(nRet, groupId, sgData);

                break;

            case eCmdList.eSESSIONCOUNT:                                                      // 사용자가 현재 다른 PC 에 로그인되어 있는지 여부 확인 요청에 대한 응답.
                break;

            case eCmdList.eAPPROVEDEFAULT:                                                      // 사용자기본결재정보조회 요청 응답.
                ApprLineAfterSend(nRet, groupId, sgData);
                break;
            }

            return;
        }
Пример #12
0
        public void AddRunSystemEnvData(SGData data)
        {
            AddRunSystemData("HSZDEFAULTOPTION", data);                      // 긴파일, 압축, 암호화 지원여부
            AddRunSystemData("INTERLOCKEMAIL", data);                        // 이메일용 INTERLOCKFLAG ( DLP/DRM/VIRUS/APT)
            AddRunSystemData("APPROVETYPESFM", data);                        // 대결재 방식(1:고정, 2:유동)
            if (GetPCURLUse() == true)
            {
                AddRunSystemData("PCURLHTTPPROXY", data);                      // PCURLHTTPPROXY 설정 정보
            }
            AddRunSystemData("INTERLOCKFLAG", data);                           // 서버 INTERLOCKFLAG ( DLP/DRM/VIRUS/APT)

            AddRunSystemData("PASSWDEXPIREDDAYS", data);
        }
Пример #13
0
        public void SetLoginData(HsNetWork hs, int groupid, SGData data)
        {
            SGLoginData tmpData = null;

            if (m_DicLoginData.TryGetValue(groupid, out tmpData) == true)
            {
                m_DicLoginData.Remove(groupid);
                tmpData = null;
            }
            tmpData = new SGLoginData();
            tmpData.Copy(hs, data);
            m_DicLoginData[groupid] = tmpData;
        }
Пример #14
0
        public void SetSvrData(int groupid, SGData data)
        {
            SGSvrData tmpData = null;

            if (m_DicSvrData.TryGetValue(groupid, out tmpData) == true)
            {
                m_DicSvrData.Remove(groupid);
                tmpData = null;
            }
            tmpData = new SGSvrData();
            tmpData.Copy(data);

            m_DicSvrData[groupid] = tmpData;
        }
Пример #15
0
        public void SetFileRecvNoti(HsNetWork hs, int groupid, SGData data)
        {
            SGData tmpData = null;

            if (m_DicFileRecvNoti.TryGetValue(groupid, out tmpData) == true)
            {
                m_DicFileRecvNoti.Remove(groupid);
                tmpData = null;
            }
            tmpData = new SGData();
            tmpData.Copy(hs, data);

            m_DicFileRecvNoti[groupid] = tmpData;
        }
Пример #16
0
        public void AddZipDepthInfo(SGData data)
        {
            string strData = data.GetBasicTagData("RECORD");

            char sep = (char)'\u0003';

            string[] strList = strData.Split(sep);

            for (int i = 0; i < strList.Length; i++)
            {
                char     sep2 = (char)'\u0001';
                string[] str  = strList[i].Split(sep2);
                EncAdd(str[0], str[1]);
            }
        }
Пример #17
0
        public void AddRunSystemData(string strKey, SGData data)
        {
            string strValue = data.GetSystemRunTagData(strKey);

            EncAdd(strKey, strValue);

            /*
             * string strValue = "";
             * if (data.m_DicTagData.TryGetValue(strKey, out strValue) == true)
             * {
             *      strValue = data.m_DicTagData[strKey];
             *      Add(strKey, strValue);
             * }
             */
        }
Пример #18
0
        public void UserInfoAfterSend(int nRet, int groupId, SGData sgData)
        {
            if (nRet == 0)
            {
                HsNetWork hs = null;
                if (m_DicNetWork.TryGetValue(groupId, out hs) == true)
                {
                    hs = m_DicNetWork[groupId];
                    sgDicRecvData.SetUserData(hs, groupId, sgData);
                }
            }
            SGLoginData sgLoginUserInfo = (SGLoginData)sgDicRecvData.GetLoginData(groupId);

            SendApproveLine(groupId, sgLoginUserInfo.GetUserID());
        }
Пример #19
0
 override public void Copy(HsNetWork hs, SGData data)
 {
     SetSessionKey(hs.GetSeedKey());
     m_DicTagData    = new Dictionary <string, string>(data.m_DicTagData);
     m_DicRecordData = new List <Dictionary <int, string> >(data.m_DicRecordData);
 }
Пример #20
0
        public void AddRunSystemData(string strKey, SGData data)
        {
            string strValue = data.GetSystemRunTagData(strKey);

            EncAdd(strKey, strValue);
        }
Пример #21
0
 public void Copy(SGData data)
 {
     m_DicTagData    = new Dictionary <string, string>(data.m_DicTagData);
     m_DicRecordData = new List <Dictionary <int, string> >(data.m_DicRecordData);
 }
Пример #22
0
        private void SGDataRecv(int groupId, eCmdList cmd, SGData sgData)
        {
            HsNetWork hs   = null;
            int       nRet = 0;

            nRet = sgData.GetResult();
            switch (cmd)
            {
            case eCmdList.eSEEDKEY:                                                      // SEEDKEY_ACK : seed key 요청 응답
                break;

            case eCmdList.eBIND:                                                      // BIND_ACK : user bind(connect) 인증 응답
                BindAfterSend(nRet, groupId, sgData);
                break;

            case eCmdList.eCHANGEPASSWD:                                                      // 비밀번호 변경 요청 응답.
                break;

            case eCmdList.eDEPTINFO:                                                      // 부서정보 조회 요청 응답.
                break;

            case eCmdList.eURLLIST:                                                      // URL 자동전환 리스트 요청 응답.
                // FileMime.conf 요청하는 함수 구현 필요. 추후 개발
                break;

            case eCmdList.eUSERINFOEX:                                                      // USERINFOEX : 사용자 정보 응답.
                UserInfoAfterSend(nRet, groupId, sgData);
                break;

            case eCmdList.eAPPRINSTCUR:                                                      // 현재 등록된 대결재자 정보 요청 응답.
                break;

            case eCmdList.eFILETRANSLIST:                                                      // 전송관리 조회 리스트 데이터 요청 응답.
                if (m_DicNetWork.TryGetValue(groupId, out hs) == true)
                {
                    hs = m_DicNetWork[groupId];
                    sgDicRecvData.SetTransManageData(hs, groupId, sgData);
                    TransSearchAfterSend(nRet, groupId);
                }
                break;

            case eCmdList.eFILEAPPROVE:                                                      // 결재관리 조회 리스트 데이터 요청 응답.
                if (m_DicNetWork.TryGetValue(groupId, out hs) == true)
                {
                    hs = m_DicNetWork[groupId];
                    sgDicRecvData.SetApprManageData(hs, groupId, sgData);
                    ApprSearchAfterSend(nRet, groupId);
                }
                break;

            case eCmdList.eSYSTEMRUNENV:                                                           // 시스템 환경정보 요청에 대한 응답.
                SystemRunAfterSend(nRet, groupId, sgData);

                break;

            case eCmdList.eSESSIONCOUNT:                                                      // 사용자가 현재 다른 PC 에 로그인되어 있는지 여부 확인 요청에 대한 응답.
                break;

            case eCmdList.eAPPROVEDEFAULT:                                                      // 사용자기본결재정보조회 요청 응답.
                ApprLineAfterSend(nRet, groupId, sgData);
                break;

            case eCmdList.eFILETRANSLISTQUERY:                                          // 전송관리 조회 리스트 요청 응답. (쿼리 방식)
                if (m_DicNetWork.TryGetValue(groupId, out hs) == true)
                {
                    hs = m_DicNetWork[groupId];
                    sgDicRecvData.SetTransManageData(hs, groupId, sgData);
                    TransSearchAfterSend(nRet, groupId);
                }
                break;

            case eCmdList.eFILEAPPRLISTQUERY:                                               // 결재관리 조회 리스트 요청 응답. (쿼리 방식)
                if (m_DicNetWork.TryGetValue(groupId, out hs) == true)
                {
                    hs = m_DicNetWork[groupId];
                    sgDicRecvData.SetApprManageData(hs, groupId, sgData);
                    ApprSearchAfterSend(nRet, groupId);
                }
                break;

            case eCmdList.eFILETRANSDETAILQUERY:                                             // 전송 상세보기 조회 리스트 요청 응답. (쿼리 방식)
                break;

            case eCmdList.eFILEAPPRDETAILQUERY:                                             // 결재 상세보기 조회 리스트 요청 응답. (쿼리 방식)
                break;

            default:
                break;
            }

            return;
        }