Head First C# Code: Chapter 9
Excuse Manager
Excuse.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace __Excuse_Manager
{
public class Excuse
{
public string Description;
public string Results;
public DateTime LastUsed;
public string ExcusePath;
public Excuse()
{
ExcusePath = "";
}
public Excuse(string excusePath)
{
OpenFile(excusePath);
}
public Excuse(Random random, string folder)
{
string[] fileNames = Directory.GetFiles(folder, "*.txt");
OpenFile(fileNames[random.Next(fileNames.Length)]);
}
private void OpenFile(string excusePath)
{
this.ExcusePath = excusePath;
using (StreamReader reader = new StreamReader(excusePath))
{
Description = reader.ReadLine();
Results = reader.ReadLine();
LastUsed = Convert.ToDateTime(reader.ReadLine());
}
}
public void Save(string fileName)
{
using (StreamWriter writer = new StreamWriter(fileName))
{
writer.WriteLine(Description);
writer.WriteLine(Results);
writer.WriteLine(LastUsed.ToString());
}
}
}
}







