private IChartData <ITaskChartModel> GetSpentTimeChartData(ITimePeriod period, string allowedStatusesConfigKey, string spentTimeChartTypesConfigKey, bool showLastCompletedOrCanceledStatus, QueryingAlgorithmType queryingAlgorithm, IDictionary <Guid, int> categorySortPriority) { var queryingRestrictions = GetUserFilteringCriterias(); queryingRestrictions.AllowedStatuses = GetAllowedStatuses(allowedStatusesConfigKey); queryingRestrictions.ShowLastCompletedOrCanceledStatus = showLastCompletedOrCanceledStatus; queryingRestrictions.QueryingAlgorithm = queryingAlgorithm; var chartConfig = new SpentTimeChartConfig { TaskTypesToInclude = GetTaskTypes(spentTimeChartTypesConfigKey) }; var chartModel = spentTimeChartDataBuilder.Build(queryingRestrictions, chartConfig, period, categorySortPriority); return(chartModel); }
private IRatioChartData <TGroup, ITaskChartModel> GetTaskRatioChartModel <TGroup>(ITimePeriod period, string allowedStatusesConfigKey, string chartGroupingsConfigKey, QueryingAlgorithmType queryingAlgorithmType, Func <ITaskChartModel, TGroup> taskGroupingSelector, bool showLastCompletedOrCanceledStatus) { var queryingRestrictions = GetUserFilteringCriterias(); queryingRestrictions.QueryingAlgorithm = queryingAlgorithmType; queryingRestrictions.AllowedStatuses = GetAllowedStatuses(allowedStatusesConfigKey); var chartConfig = new TaskRatioChartConfig <TGroup> { TypesGroupings = GetTaskGroupings <TGroup>(chartGroupingsConfigKey), TaskGroupingSelector = taskGroupingSelector }; var chartModel = ratioChartDataBuilder.Build(queryingRestrictions, chartConfig, period, showLastCompletedOrCanceledStatus, new Dictionary <Guid, int>()); return(chartModel); }