public ServiceQueueStatistic(ServiceQueue serviceQueue, IDictionary <DateTime, int> dateIndexer) { _dateIndexer = dateIndexer; AbadonRate = serviceQueue.AbandonRate / 100.0; (_dateIndexer.Count * 96).Self(c => { Capacity = c; _ahts = new double[c]; _cvs = new double[c]; _weightedSL = new double[c]; AssignedStaffing = new double[c]; AssignedServiceLevel = new double[c]; AssignedMaxStaffing = new double[c]; //StaffingRequirement = new double[c]; }); (_dateIndexer.Count * 24).Self(c => { _goals = new double[c]; }); _dailyCVs = new double[dateIndexer.Count]; DailyAssignedServiceLevel = new double[dateIndexer.Count]; DailyForecastStaffing = new double[dateIndexer.Count]; DailyAssignedStaffing = new double[dateIndexer.Count]; _hashCode = serviceQueue.GetHashCode(); _serviceQueue = serviceQueue; _dailyCalculationActions = new Dictionary <int, Action>(); }