Beispiel #1
0
        private IEnumerable <Trendline> GetTrendlines(int assetId, int timeframeId, IEnumerable <TrendlineDto> dtos)
        {
            IEnumerable <Trendline>         trendlines        = dtos.Select(dto => Trendline.FromDto(dto));
            IEnumerable <TrendRange>        trendRanges       = GetTrendRanges(assetId, timeframeId);
            Dictionary <int, ExtremumGroup> extremumGroupsMap = GetExtremumGroupsMap(assetId, timeframeId);
            Dictionary <int, Trendline>     trendlinesMap     = new Dictionary <int, Trendline>();

            foreach (var trendline in trendlines)
            {
                ExtremumGroup baseEG;
                ExtremumGroup counterEG;
                extremumGroupsMap.TryGetValue(trendline.BaseExtremumGroupId, out baseEG);
                extremumGroupsMap.TryGetValue(trendline.CounterExtremumGroupId, out counterEG);
                trendline.BaseExtremumGroup    = baseEG;
                trendline.CounterExtremumGroup = counterEG;

                trendlinesMap.Add(trendline.Id, trendline);
            }

            foreach (var trendRange in trendRanges)
            {
                Trendline trendline;
                trendlinesMap.TryGetValue(trendRange.TrendlineId, out trendline);
                if (trendline != null)
                {
                    trendline.AddTrendRange(trendRange);
                }
            }

            return(trendlinesMap.Values);
        }
Beispiel #2
0
        public Trendline GetTrendlineById(int id)
        {
            _repository = new EFTrendlineRepository();
            var dto = _repository.GetTrendlineById(id);

            return(Trendline.FromDto(dto));
        }