Пример #1
0
 private void DeleteTemporaryTif(DbModule.SEND_REQUEST_TPC p_tpcInfo)
 {
     foreach (PROCESSING_INFO Info in p_tpcInfo.m_lstProcessingInfos)
     {
         try { File.Delete(Info.strFile); }
         catch { continue; }
     }
 }
Пример #2
0
        RESULT ProcessingTifs_(DbModule.SEND_REQUEST_TPC p_tpcInfo, DbModule.SEND_REQUEST_DTL_TPC p_tpcDtlInfo, List <DbModule.DOC_INFO_ALL_TPC> p_lstTpcDocInfos)
        {
            RESULT result = RESULT.EMPTY;

            //// 파일들 정보 SET ////
            p_tpcInfo.m_lstProcessingInfos.Clear();
            foreach (DbModule.DOC_INFO_ALL_TPC tpcDocInfo in p_lstTpcDocInfos)
            {
                string strLocalTifPathFile;

                PROCESSING_INFO info = new PROCESSING_INFO();
                info.exist             = false;
                info.seq               = tpcDocInfo.seq;
                info.strProcessingMode = tpcDocInfo.strProcessingMode;
                info.strPages          = tpcDocInfo.strTiffExtractPages;
                info.processed         = false;

                //// 소스 TIF 파일 가져오기 ////
                result = CopySourceTif(p_tpcInfo.faxId, p_tpcDtlInfo.faxDtlId, tpcDocInfo, out strLocalTifPathFile);
                if (result != RESULT.SUCCESS)
                {
                    DbModule.Instance.ResultProcessingReq(info.seq, false);
                    return(result);
                }

                info.exist   = true;
                info.strFile = strLocalTifPathFile;

                LogMessage(string.Format("TIF파일 다운로드 ({0}\\{1}\\{2})->({3})", Config.CONVERTED_TIF_PATH, tpcDocInfo.strDocPath, tpcDocInfo.strDocFile, strLocalTifPathFile), RESULT.SUCCESS);
                p_tpcInfo.m_lstProcessingInfos.Add(info);
            }

            if (p_tpcInfo.m_lstProcessingInfos.Count() <= 0)
            {
                LogError("존재하는 TIF파일이 0개입니다", RESULT.F_FILE_CNT_ZERO);
                return(RESULT.F_FILE_CNT_ZERO);
            }

            string strMergedFile   = string.Format(@"{0}\{1}_{2}.TIF", Config.TIFF_PROCESSING_PATH, p_tpcInfo.faxId, p_tpcDtlInfo.faxDtlId);
            string strFinishedFile = string.Format(@"{0}\{1}", Config.FINISHED_TIF_PATH, p_tpcDtlInfo.strTiffPath);

            //// TIF파일병합 ////
            result = tifAccess.Merge(strMergedFile, ref p_tpcInfo.m_lstProcessingInfos);

            foreach (PROCESSING_INFO info in p_tpcInfo.m_lstProcessingInfos)
            {
                DbModule.Instance.ResultProcessingReq(info.seq, info.processed);
            }

            if (result != RESULT.SUCCESS)
            {
                return(result);
            }

            LogMessage(string.Format("TIF파일 병합완료 ({0})", strMergedFile), RESULT.SUCCESS);

            //// 최종TIF 업로드 - 3회시도 ////
            if (!FnFile.UploadFinishedTif(strMergedFile, strFinishedFile))
            {
                return(RESULT.F_FILE_FAIL_TO_UPLOAD);
            }

            LogMessage(string.Format("TIF파일 업로드 완료 ({0})->({1})", strMergedFile, strFinishedFile), RESULT.SUCCESS);

            //// 임시파일 제거 ////
            DeleteFile(strMergedFile);
            DeleteTemporaryTif(p_tpcInfo);

            return(RESULT.SUCCESS);
        }