Example #1
0
        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());
            }
        }
Example #2
0
        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));
        }
Example #3
0
        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);
        }