You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.2 KiB
C#

namespace com.azkoss.excellite
{
using System;
using System.Collections;
internal class PreservedRecords
{
// Methods
internal PreservedRecords()
{
this.typeGroupedRecords = new Hashtable();
}
internal PreservedRecords(PreservedRecords source)
{
this.typeGroupedRecords = new Hashtable();
this.typeGroupedRecords = (Hashtable) source.typeGroupedRecords.Clone();
}
public void Add(XLSRecord record)
{
this.Add(record, record.RecordCode);
}
public void Add(XLSRecord record, int recordCode)
{
ArrayList list1 = (ArrayList) this.typeGroupedRecords[recordCode];
if (list1 != null)
{
list1.Add(record);
}
else
{
list1 = new ArrayList();
list1.Add(record);
this.typeGroupedRecords[recordCode] = list1;
}
}
public void CopyRecords(PreservedRecords source, int recordCode)
{
ArrayList list1 = (ArrayList) source.typeGroupedRecords[recordCode];
if (list1 != null)
{
foreach (XLSRecord record1 in list1)
{
this.Add(record1, recordCode);
}
}
}
public void CopyRecords(PreservedRecords source, string recordName)
{
int num1 = XLSDescriptors.GetByName(recordName).Code;
this.CopyRecords(source, num1);
}
public void WriteRecords(AbsXLSRecords destination, int recordCode)
{
ArrayList list1 = (ArrayList) this.typeGroupedRecords[recordCode];
if (list1 != null)
{
foreach (XLSRecord record1 in list1)
{
destination.Add(record1);
}
}
}
public void WriteRecords(AbsXLSRecords destination, string recordName)
{
int num1 = XLSDescriptors.GetByName(recordName).Code;
this.WriteRecords(destination, num1);
}
// Fields
private Hashtable typeGroupedRecords;
}
}