/// <summary> /// 复制数据对象 /// </summary> /// <param name="sou">源对象,需从DataPacket继承</param> public override void AssignFrom(DataPacket sou) { base.AssignFrom(sou); CtaData s = sou as CtaData; if (s != null) { _fileName = s._fileName; // 主CJZ文件 _ctaFileName = s._ctaFileName; // 对比CJZ文件 _docList.AssignFrom(s._docList); // 工程列表 } }
public CtaData ContrastCjz(string File, string CtaFile, int Option) { CtaData ret = null; FormatItf formatSvr = new FormatSvr(); CjzData CjzData = formatSvr.FormatCjz(File, 0); //CjzData.WriteToXmlFile(@"C:\Users\Administrator\Desktop\项目\cjz.xml"); CjzData CtaCjzData = formatSvr.FormatCjz(CtaFile, 0); //CtaCjzData.WriteToXmlFile(@"C:\Users\Administrator\Desktop\项目\cjz1.xml"); ret = ContrastCjz(CjzData, CtaCjzData, Option); return(ret); }
public CtaData ContrastCjz(CjzData CjzData, CjzData CtaCjzData, int Option) { CtaData ret = new CtaData(); ret.fileName = CjzData.fileName; ret.ctaFileName = CtaCjzData.fileName; ret.cjzData = CjzData; ret.ctaCjzData = CtaCjzData; foreach (DocData doc in CjzData.docList) { CtaDocData ctaDoc = new CtaDocData(); ret.docList.Add(ctaDoc); ctaDoc.docData = doc; ctaDoc.docName = doc.docName; ctaDoc.docLevel = doc.docLevel; ctaDoc.docType = doc.docType; ctaDoc.docDataId = doc.UniqId; ctaDoc.parentUid = doc.parentUid; DocData ddoc = GetContrastDoc(doc, CjzData.docList.IndexOf(doc), CtaCjzData); if (ddoc != null) { ctaDoc.ctaDocData = ddoc; ctaDoc.ctaDocDataId = ddoc.UniqId; ctaDoc.errorCount = 0; foreach (TableData table in doc.tableList) { CtaDzTableData ctaDzTable = new CtaDzTableData(); ctaDoc.tableList.Add(ctaDzTable); ctaDzTable.tableName = table.tableName; ctaDzTable.souTable = table; ctaDzTable.ReFormFields(); ctaDzTable.RefreshRecs(); ctaDzTable.ReSetRecStatus(); TableData dtable = GetContrastTable(table, ddoc); if (dtable != null) { CtaTableData ctaTable = ctaDzTable.dzTable; ctaTable.tableName = dtable.tableName; ctaTable.souTable = dtable; ctaTable.ReFormFields(); ctaTable.RefreshRecs(); ctaTable.ReSetRecStatus(); ctaDzTable.FormCtaRelates(); ctaDoc.errorCount = ctaDoc.errorCount + ctaDzTable.errorCount; } else { ctaDzTable.ctaStatus = (int)_ctaStatusEnum.csAdd; ctaDoc.errorCount = ctaDoc.errorCount + 1; } } } else { ctaDoc.ctaStatus = (int)_ctaStatusEnum.csAdd; ctaDoc.errorCount = 1; } } foreach (DocData doc in CtaCjzData.docList) { DocData ddoc = GetContrastDoc(doc, CtaCjzData.docList.IndexOf(doc), CjzData); if (ddoc == null) { CtaDocData ctaDoc = new CtaDocData(); ret.docList.Add(ctaDoc); ctaDoc.ctaDocData = doc; ctaDoc.docName = doc.docName; ctaDoc.docLevel = doc.docLevel; ctaDoc.docType = doc.docType; ctaDoc.ctaDocDataId = doc.UniqId; ctaDoc.ctaStatus = (int)_ctaStatusEnum.csDecrease; ctaDoc.errorCount = 1; } } return(ret); }