コード例 #1
0
ファイル: UsageMonitorItem.cs プロジェクト: kallex/Caloom
 public static UsageMonitorItem Create(DateTime startTime, DateTime endTime, int stepSizeInMinutes)
 {
     UsageMonitorItem item = new UsageMonitorItem
         {
             TimeRangeInclusiveStartExclusiveEnd = new TimeRange
                 {
                     StartTime = startTime,
                     EndTime = endTime
                 },
             StepSizeInMinutes = stepSizeInMinutes
         };
     item.InitializeSteppedCollections();
     return item;
 }
コード例 #2
0
        public static UsageMonitorItem[] GetTarget_NewMonitoringItems(IContainerOwner owner, int monitoringItemTimeSpanInMinutes, int monitoringIntervalInMinutes, DateTime startingTimeOfNewItems, DateTime endingTimeOfNewItems)
        {
            if(startingTimeOfNewItems == endingTimeOfNewItems)
                return new UsageMonitorItem[0];
            DateTime currentStartingTime = startingTimeOfNewItems;
            DateTime currentEndingTime = currentStartingTime.AddMinutes(monitoringItemTimeSpanInMinutes);
            List<UsageMonitorItem> usageMonitorItems = new List<UsageMonitorItem>();
            while (currentEndingTime <= endingTimeOfNewItems)
            {
                string currName = String.Format("{0}_{1}",
                                currentStartingTime.ToString("yyyyMMddHHmmssfff"),
                                currentEndingTime.ToString("yyyyMMddHHmmssfff"));

                var currItem = new UsageMonitorItem();
                currItem.SetLocationAsOwnerContent(owner, currName);
                currItem.TimeRangeInclusiveStartExclusiveEnd = new TimeRange
                    {
                        StartTime = currentStartingTime,
                        EndTime = currentEndingTime
                    };
                currItem.StepSizeInMinutes = monitoringIntervalInMinutes;
                //currItem.InitializeStepCollections();
                currItem.OwnerInfo = new InformationOwnerInfo
                    {
                        OwnerType = owner.ContainerName,
                        OwnerIdentifier = owner.LocationPrefix
                    };
                currentStartingTime = currentEndingTime;
                currentEndingTime = currentEndingTime.AddMinutes(monitoringItemTimeSpanInMinutes);
                currItem.InitializeSteppedCollections();
                usageMonitorItems.Add(currItem);
            }
            return usageMonitorItems.ToArray();
        }