Пример #1
0
        //uncomplete
        // get filedetail info
        public void AddOrUpdate(TableMapping tableMapping, IDataRecord record, int isSynced = 1)
        {
            var reportManager    = new ReportManager();
            var fileOrder        = reportManager.GetFileOrder();
            var fileSize         = string.Format("{0:N1}k", Convert.ToDouble(record["RES_FILE_SIZE"]) / 1024);
            var fileName         = record["RES_TITLE"].ToString();
            var originalFilePath = record[tableMapping.PathColumn].ToString().Replace(@"\", "/");
            var subDirectoryPath = originalFilePath.Substring(0, originalFilePath.LastIndexOf("/"));
            var filePath         = subDirectoryPath.IndexOf("/") == 0
                ? string.Format("{0}{1}", tableMapping.DestinationFilePath, subDirectoryPath)
                : string.Format("{0}/{1}", tableMapping.DestinationFilePath, subDirectoryPath);

            var      phisicalPath = filePath.Replace("/", "|").Replace("|RR", "");
            DateTime uploadTime;

            if (!DateTime.TryParse(record["RES_PUBL_DATE"].ToString(), out uploadTime))
            {
                uploadTime = DateTime.Now;
            }
            var paras = new OracleParameter[19];

            paras[0] = new OracleParameter("I_RES_ID", OracleType.Number)
            {
                Value = record["RES_ID"]
            };
            paras[1] = new OracleParameter("I_CCXEID", OracleType.DateTime)
            {
                Value = record["CCXEID"]
            };
            paras[2] = new OracleParameter("I_RES_FILE_PATH", OracleType.VarChar)
            {
                Value = record["RES_FILE_PATH"]
            };
            paras[3] = new OracleParameter("I_ISSYNCED", OracleType.Number)
            {
                Value = isSynced
            };
            paras[4] = new OracleParameter("I_FILETYPECODE", OracleType.VarChar)
            {
                Value = FileCode
            };
            paras[5] = new OracleParameter("I_FILENAMECN", OracleType.NVarChar, 500)
            {
                Value = fileName
            };
            paras[6] = new OracleParameter("I_FILENAMEEN", OracleType.NVarChar, 500)
            {
                Value = fileName
            };
            paras[7] = new OracleParameter("I_UPLOADDATE", OracleType.DateTime)
            {
                Value = uploadTime
            };
            paras[8] = new OracleParameter("I_REPORTDATE", OracleType.DateTime)
            {
                Value = uploadTime
            };
            paras[9] = new OracleParameter("I_AUTHOR", OracleType.VarChar)
            {
                Value = record["RESER_NAME"]
            };
            paras[10] = new OracleParameter("I_ISVALID", OracleType.Number)
            {
                Value = 1
            };
            paras[11] = new OracleParameter("I_EXTENSION", OracleType.VarChar)
            {
                Value = Path.GetExtension(record["RES_FILE_PATH"].ToString().Substring(1))
            };
            paras[12] = new OracleParameter("I_INSTITUTIONINFOCODE", OracleType.VarChar)
            {
                Value = InstitutionCode
            };
            paras[13] = new OracleParameter("I_FILESIZE", OracleType.NVarChar)
            {
                Value = fileSize
            };
            paras[14] = new OracleParameter("I_FILEORDER", OracleType.VarChar)
            {
                Value = fileOrder
            };
            paras[15] = new OracleParameter("I_COMMENTS", OracleType.NVarChar, 500)
            {
                Value = ""
            };
            paras[16] = new OracleParameter("I_OPERATORS", OracleType.NVarChar)
            {
                Value = ""
            };
            paras[17] = new OracleParameter("I_BUSINESSTYPE", OracleType.VarChar)
            {
                Value = BusinessCode
            };
            paras[18] = new OracleParameter("I_PHYSICALPATH", OracleType.NVarChar)
            {
                Value = phisicalPath
            };

            DBHelper.ExecuteStorageWithoutRevalue("RES_INFO_DATA_Update", paras);
        }
Пример #2
0
        public bool InsertReportToService(EmailInfo info, StringBuilder sb)
        {
            var md5 = ReportManager.MD5_Hash(info.CurrentAttrName);

            //处理业务
            if (FileExists(md5))
            {
                sb.Append(string.Format("Email: {0}, attachment name: {1} duplicated with {2}.  synced successfully \n",
                                        info.Ename, info.CurrentAttrName, md5));
                return(true);
            }
            var fileDetail = new FileDetail();

            fileDetail.InstitutionCode = GetInstitutionCode(info.Ename);
            fileDetail.FileOrder       = GetFileOrder();
            fileDetail.Author          = "";
            fileDetail.Operator        = "";
            if (fileDetail.InstitutionCode == "EOthers")
            {
                sb.Append("[ email:" + info.Ename + " doesn't exist in EMAILKEYWORDS:] \n");
            }
            string filesize = string.Empty;

            byte[] fileData = GetFileData(info.CurrentAttrName, sb, out filesize);
            fileDetail.FileSize = filesize;
            DateTime dt = DateTime.Parse(info.Etime);

            dt = DateTime.SpecifyKind(dt, DateTimeKind.Utc);
            dt = TimeZoneInfo.ConvertTime(dt, TimeZoneInfo.Local);
            fileDetail.UploadTime = dt;
            fileDetail.CreateTime = dt.ToString("yyyy-MM-dd HH:mm:ss");
            string ext = Path.GetExtension(info.CurrentAttrName).Substring(1);

            fileDetail.Ext = ext;

            string attachName       = GetFileName(info.CurrentAttrName);
            string attachConfigName = string.Empty;

            //match attachName
            if (Exists(attachName, fileDetail.InstitutionCode, out attachConfigName))
            {
                TranslateResult tranalate = Translate(attachConfigName);
                if (tranalate.BusinessCode == "EOthers" && tranalate.FileCode == "EOthers")
                {
                    return(false);
                }
                else
                {
                    if (IsChineseOrEnglish(attachConfigName))
                    {
                        fileDetail.FileNameCN = attachConfigName;
                        fileDetail.FileNameEN = tranalate.Translate;
                    }
                    else
                    {
                        fileDetail.FileNameEN = attachConfigName;
                        fileDetail.FileNameCN = tranalate.Translate;
                    }
                }
                //if email is not exists ,but input is exists ,use input to find institutioncode, most for @ccb.com. yy 20141223
                if (fileDetail.InstitutionCode.Equals("EOthers") &&
                    !fileDetail.InstitutionCode.Equals(tranalate.InsititutionCode))
                {
                    fileDetail.InstitutionCode = tranalate.InsititutionCode;
                }
                fileDetail.IsValid      = tranalate.IsValid;
                fileDetail.BusinessCode = tranalate.BusinessCode;
                fileDetail.FileCode     = tranalate.FileCode;
            }
            else
            {
                return(false);
            }

            var result = SaveResearchReport(fileDetail, fileData, md5);

            if (result)
            {
                sb.Append(string.Format("Email: {0}, attachment name: {1}, fileId: {2} has synced successfully \n", info.Ename, attachName, fileDetail.FileId));
            }
            return(result);
        }