Ejemplo n.º 1
0
        public void FolderFormat()
        {
            DateTime dateTime = new DateTime(2011, 1, 1).AddNextDate();
            string folderName = dateTime.GetNewDayFolderFormat(new NewDayTask {CultureInfo = "en-US", FolderFormat = "{2:00}{0:00}"});
            Assert.AreEqual("0102", folderName, "DAY: 2011-01-01 : 2011-01-02");

            dateTime = new DateTime(2011, 11, 28).AddNextDate();
            folderName = dateTime.GetNewDayFolderFormat(new NewDayTask {CultureInfo = "en-US", FolderFormat = "{2:00}{0:00}"});
            Assert.AreEqual("1129", folderName, "DAY: 2011-11-28 : 2011-11-29");

            dateTime = new DateTime(2011, 11, 28).AddNextDate();
            folderName = dateTime.GetNewDayFolderFormat(new NewDayTask {CultureInfo = "en-US", FolderFormat = "{2:00}{1:00}", FirstDayOfWeek = DayOfWeek.Sunday});
            Assert.AreEqual("1149", folderName, "WEEK: 2011-11-28 : WEEK 49");

            dateTime = new DateTime(2011, 1, 1).AddNextDate();
            folderName = dateTime.GetNewDayFolderFormat(new NewDayTask {CultureInfo = "en-US", FolderFormat = "Week_{1:00}", FirstDayOfWeek = DayOfWeek.Monday});
            Assert.AreEqual("Week_01", folderName, "WEEK: 2011-01-01 : WEEK 01 (Monday)");

            dateTime = new DateTime(2011, 1, 2).AddNextDate();
            folderName = dateTime.GetNewDayFolderFormat(new NewDayTask {CultureInfo = "en-US", FolderFormat = "Week_{1:00}", FirstDayOfWeek = DayOfWeek.Sunday});
            Assert.AreEqual("Week_02", folderName, "WEEK: 2011-01-01 : WEEK 02 (Sunday)");

            dateTime = new DateTime(2011, 1, 8).AddNextDate();
            folderName = dateTime.GetNewDayFolderFormat(new NewDayTask {CultureInfo = "en-US", FolderFormat = "Week_{1:00}", FirstDayOfWeek = DayOfWeek.Monday});
            Assert.AreEqual("Week_02", folderName, "WEEK: 2011-01-01 : WEEK 02 (Monday)");

            dateTime = new DateTime(2011, 1, 8).AddNextDate();
            folderName = dateTime.GetNewDayFolderFormat(new NewDayTask {CultureInfo = "en-US", FolderFormat = "Week_{1:00}", FirstDayOfWeek = DayOfWeek.Sunday});
            Assert.AreEqual("Week_03", folderName, "WEEK: 2011-01-01 : WEEK 02 (Sunday)");

            dateTime = new DateTime(2011, 11, 30).AddNextDate();
            folderName = dateTime.GetNewDayFolderFormat(new NewDayTask {CultureInfo = "en-US", FolderFormat = "{2:00}{0:00}"});
            Assert.AreEqual("1201", folderName, "DAY: 2011-11-30 : 2011-12-01");

            dateTime = new DateTime(2011, 11, 30).AddNextDate();
            folderName = dateTime.GetNewDayFolderFormat(new NewDayTask {CultureInfo = "en-US", FolderFormat = "{3:0000}{2:00}{1:00}{0:00}"});
            Assert.AreEqual("2011124901", folderName, "MONTH: 2011-11-30 : 2011-12-30");
            folderName = dateTime.GetNewDayFolderFormat(new NewDayTask {CultureInfo = "en-US", FolderFormat = "{3:0000}-{2:00}-{0:00} WEEK-{1:00}"});
            Assert.AreEqual("2011-12-01 WEEK-49", folderName, "MONTH: 2011-11-30 : 2011-12-30");
        }
Ejemplo n.º 2
0
 private void ExecuteNewDayTask()
 {
     foreach (NewDayTask task in taskConfiguration.NewDayTasks)
     {
         if (task.Status == NewDayTaskStatus.Enabled)
         {
             Log.Debug("Starting with task: ['{0}']", task.ToString());
             DirectoryInfo sourceFolder;
             try
             {
                 sourceFolder = new DirectoryInfo(task.RealPath);
             }
             catch (Exception exception)
             {
                 Log.Debug(exception.StackTrace);
                 throw;
             }
             //DateTime dateTime = new DateTime(DateTime.UtcNow.Ticks);
             DateTime dateTime = new DateTime(DateTime.UtcNow.Ticks).AddNextDate();
             string folderName = dateTime.GetNewDayFolderFormat(task);
             string newDayFolder = Misc.PathCombine(sourceFolder.FullName, folderName);
             FileInfo.CreateFolder(newDayFolder);
             if (!String.IsNullOrEmpty(task.Symlink))
             {
                 FileInfo.CreateFolder(task.Symlink);
                 Misc.CreateSymlink(task.Symlink, task.VirtualPath + folderName);
                 Misc.ChangeVfs(task.Symlink, task.Mode, task.UserId, task.GroupId);
             }
             Log.IoFtpd(String.Format(task.LogFormat, task.VirtualPath + folderName, newDayFolder));
         }
         else
         {
             Log.Debug("Task '{0}' is disabled!", task.ToString());
         }
     }
 }