public static RecvData CreateRecvData(ComParameter comParameter) { RecvData data = CreateRecvData(comParameter.DataString); if (comParameter.AttachCount > 0) { if (data.OtherData == null) { comParameter.DeleteAttachFolder(); } else { PathInfo info = PathInfo.CreateInstance(); string path = info.AttachPath + data.OtherData.Header.OutCode.Trim() + DateTime.Now.ToString("yyyyMMddHHmmssfff"); comParameter.CopyAttachFiles(path); comParameter.DeleteAttachFolder(); comParameter.AttachFolder = path; } } setAttachInfo(data.ResultData, comParameter); setAttachInfo(data.OtherData, comParameter); setAttachInfo(data.MData, comParameter); return data; }
private void DataSave(ComParameter recvdata, string fname, string outcode) { string dir = FileSave.CreateInstance().TypeList.getType("F").Dir; try { if (fname.EndsWith(".GZ", StringComparison.CurrentCultureIgnoreCase)) { string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fname); MemoryStream stream = this.Decompress(Path.Combine(recvdata.AttachFolder, fname)); try { Encoding encoding = Encoding.GetEncoding("UTF-8"); if (fileNameWithoutExtension.EndsWith(".EDI", StringComparison.CurrentCultureIgnoreCase)) { ComParameter parameter = new ComParameter { DataString = encoding.GetString(stream.ToArray(), 0, stream.ToArray().Length) }; this.OnReceived(parameter); } else { fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fname); string str3 = this.mOutcodeTbl.Find(outcode); if (!string.IsNullOrEmpty(str3)) { fileNameWithoutExtension = string.Format("{0}{1}", str3, fileNameWithoutExtension.Substring(outcode.Length)); } this.CreateBatchFolder(dir); StreamWriter writer = new StreamWriter(Path.Combine(dir, fileNameWithoutExtension), false, Encoding.GetEncoding("UTF-8")); try { writer.Write(encoding.GetString(stream.ToArray(), 0, stream.ToArray().Length)); } finally { writer.Close(); } } return; } finally { stream.Close(); } } this.CreateBatchFolder(dir); File.Copy(Path.Combine(recvdata.AttachFolder, fname), Path.Combine(dir, fname), true); } finally { recvdata.DeleteAttachFolder(); } }