예제 #1
0
 public void Save(Statement statement)
 {
     XmlDocument doc = GetPremadeXmlDocument();
     AppendHeader(statement.Header, doc);
     AppendRecords(statement.Entries, doc);
     doc.Save(filename);
 }
예제 #2
0
 public void Append(string file)
 {
     DataAccess da = new DataAccess(file);
     Statement s = new Statement();
     s.LoadDataUsing(da);
     statement.Append(s);
 }
예제 #3
0
        public void Append(Statement s)
        {
            if (s != null)
            {
                if (Header == null)
                {
                    Header = new StatementHeader();
                    Header.LoadInfoFrom(s.Header);
                }

                if (s.Header.Month != Header.Month || s.Header.Year != Header.Year)
                {
                    throw new ArgumentException("Statement date differs from base statement date.");
                }

                foreach (KeyValuePair<String, StatementEntry> e in s.Entries)
                {
                    StatementEntry entry;
                    if (Entries.TryGetValue(e.Key, out entry))
                    {
                        entry.InvoiceCount += e.Value.InvoiceCount;
                        entry.BaseValue += e.Value.BaseValue;
                        entry.VATValue += e.Value.VATValue;
                    }
                    else
                    {
                        Entries.Add(e.Key, e.Value);
                    }
                }
            }
        }