示例#1
0
        static void Main(string[] args)
        {
            IReader      reader  = new XmlReader();
            List <Entry> entries = reader.Read("data.xml");

            ConsoleUserInterface ui = new ConsoleUserInterface();

            DateTime[] range = ui.init();

            List <Entry> entriesInRange = DateOperations.Intersection(entries, range[0], range[1]);
            List <Entry> sortedEntries  = ValueOperations.SortByAscending(entriesInRange);
            double       avgInRange     = ValueOperations.FindAverage(entriesInRange);
            int          maxInRange     = ValueOperations.FindMax(entriesInRange);

            IWriter writer = new FileWriter();

            writer.AddToWrite("Entries in range " + range[0].ToString("yyyy/MM/dd") + " - " + range[1].ToString("yyyy/MM/dd") + ":");
            foreach (Entry entry in entriesInRange)
            {
                writer.AddToWrite("Date: " + entry.Date.ToString("yyyy/MM/dd") + "  Value: " + entry.Value);
            }

            writer.AddToWrite("Sorted by value in ascending order:");
            foreach (Entry entry in sortedEntries)
            {
                writer.AddToWrite("Date: " + entry.Date.ToString("yyyy/MM/dd") + "  Value: " + entry.Value);
            }

            writer.AddToWrite("Average value: " + avgInRange);
            writer.AddToWrite("Max value: " + maxInRange);

            writer.Write();
        }