예제 #1
0
        public BackupIntervalDefinition SetInterval(DateTime dateReference,
                                                    BackupIntervalEnum interval,
                                                    int size)
        {
            BackupIntervalDefinition result = new BackupIntervalDefinition()
            {
                IntervalType = interval,
                IntervalList = new List <Interval>()
            };

            for (int i = 0; i < size; i++)
            {
                int dayToAdd = 1;

                if (interval == BackupIntervalEnum.Weekly)
                {
                    dayToAdd = 7;
                }
                else if (interval == BackupIntervalEnum.Monthly)
                {
                    dayToAdd = 30;
                }
                else if (interval == BackupIntervalEnum.Yearly)
                {
                    dayToAdd = 365;
                }

                result.IntervalList.Add(new Interval()
                {
                    Start = dateReference.AddDays(-1 * ((i * dayToAdd) + dayToAdd)),
                    End   = dateReference.AddDays(-1 * (i * dayToAdd)),
                });
            }

            Definition.ItemList.Add(result);

            return(result);
        }
예제 #2
0
 public BackupIntervalDefinition SetNextInterval(BackupIntervalEnum interval,
                                                 int size)
 {
     return(SetInterval(this.Definition.ItemList.Last().Start.Value, interval, size));
 }