private void CreateApplicationDirectories() { LocalizedNames localizedNames = new LocalizedNames(); DirectoryProvider directoryProvider = new DirectoryProvider(localizedNames); if (!Directory.Exists(directoryProvider.GetApplicationDirectoryPath())) { Directory.CreateDirectory(directoryProvider.GetApplicationDirectoryPath()); } if (!Directory.Exists(directoryProvider.GetDocumentsDirectoryPath())) { Directory.CreateDirectory(directoryProvider.GetDocumentsDirectoryPath()); } }
public void GetDocumentsDirectoryPath_CorrectILocalizedNames_ReturnsCorrectPath() { string applicationName = "Attendance List Generator"; string documentsDirectoryName = "Documents"; ILocalizedNames localizedNames = Mock.Of <ILocalizedNames>(l => l.ApplicationDirectoryName == applicationName && l.DocumentsDirectoryName == documentsDirectoryName); DirectoryProvider directoryProvider = new DirectoryProvider(localizedNames); string applicationDirectoryPath = directoryProvider.GetDocumentsDirectoryPath(); string myDocumentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); string expectedResult = myDocumentsPath + "\\Attendance List Generator\\Documents"; Assert.That(applicationDirectoryPath, Is.EqualTo(expectedResult)); }
private void Generate() { IList <IPerson> people = GetPeopleList(); // Generate data DaysOffData daysOff = new DaysOffData(Year); AttendanceListData listData = new AttendanceListData(daysOff, people, Month, Year); // Create document generator LocalizedNames localizedNames = new LocalizedNames(); AttendanceListDocumentGenerator documentGenerator = new AttendanceListDocumentGenerator(listData, localizedNames); // Set document generator settings documentGenerator.EnableColors = EnableColors; documentGenerator.EnableHolidaysTexts = EnableHolidaysTexts; documentGenerator.EnableSundaysTexts = EnableSundaysTexts; documentGenerator.EnableTableStretching = EnableTableStretching; // Generate a document Document document = documentGenerator.GenerateDocument(); // Get directory path and filename DirectoryProvider directoryProvider = new DirectoryProvider(localizedNames); FilenameGenerator filenameGenerator = new FilenameGenerator(localizedNames, _dateTimeProvider); string path = directoryProvider.GetDocumentsDirectoryPath(); string filename = filenameGenerator.GeneratePdfDocumentFilename(listData); // Save document FileSaver fileSaver = new FileSaver(); fileSaver.SavePdfDocument(document, path, filename); // And open it FileOpener fileOpener = new FileOpener(); fileOpener.OpenFile(path, filename); SerializeSettings(directoryProvider, filenameGenerator, fileSaver); }