/// <summary> /// Find calculations that depend on this series (tableName) /// These calculations will have the series as input /// </summary> /// <param name="tableName"></param> /// <param name="timeInterval"></param> /// <returns></returns> List <CalculationSeries> GetDependentCalculations(string tableName, TimeSeries.TimeInterval timeInterval) { // cache with s_instantDependencies speed up from 174 seconds to 28 seconds (agrimet test) if (timeInterval == TimeSeries.TimeInterval.Irregular) { if (m_instantDependencies == null) { var rawCalcList = m_db.Factory.GetCalculationSeries(timeInterval, "", ""); Logger.WriteLine("Info: GetDependentCalculations, found " + rawCalcList.Count + " calculation series"); m_instantDependencies = new TimeSeriesDependency(rawCalcList); } return(m_instantDependencies.LookupCalculations(tableName, timeInterval)); } else if (timeInterval == TimeSeries.TimeInterval.Daily) { if (m_dailyDependencies == null) { var rawCalcList = m_db.Factory.GetCalculationSeries(timeInterval, "", ""); m_dailyDependencies = new TimeSeriesDependency(rawCalcList); } return(m_dailyDependencies.LookupCalculations(tableName, timeInterval)); } throw new NotImplementedException("Error: GetDependentCalculations does not support " + timeInterval); }
public CalculationSeries[] GetDependentCalculations(string siteID, string pcode) { TimeSeriesDependency td = new TimeSeriesDependency(m_dependencyList); TimeSeriesName tn = new TimeSeriesName(siteID + "_" + pcode, m_interval); var list = td.LookupCalculations(tn.GetTableName(), m_interval).ToArray(); var cList = new List <CalculationSeries>(); foreach (var item in list) { if (item is CalculationSeries) { cList.Add(item as CalculationSeries); } } return(cList.ToArray()); }