private async Task <EditStrategyViewModel> GetViewModel(int?id)
        {
            var model = new EditStrategyViewModel
            {
                Indicators = _indicatorsService.GetIndicatorsAvailableForStrategies().Select(dto => new EditIndicatorViewModel()
                {
                    Name = dto.IndicatorName,
                    Type = dto.IndicatorType
                }).ToList(),
            };

            foreach (var indicator in model.Indicators)
            {
                var properties = _indicatorsService.GetPropertiesForIndicator(indicator.Type);
                indicator.Properties = properties.Select(p => new IndicatorPropertyViewModel {
                    Name = p.Name, Value = p.Value
                }).ToList();
                var description = _indicatorsService.GetIndicatorDescription(indicator.Type);
                indicator.BuySignalDescription  = description.BuySignalDescription;
                indicator.SellSignalDescription = description.SellSignalDescription;
            }
            if (id.HasValue)
            {
                model.Id = id;
                await FillIndicatorValues(id, model);
            }
            return(model);
        }
Exemple #2
0
 public void Should_Indicator_Has_Non_Empty_Descriptions()
 {
     foreach (var indicatorType in _indicatorsService.GetIndicatorTypesAvailableForStrategies())
     {
         var description = _indicatorsService.GetIndicatorDescription(indicatorType);
         Assert.NotNull(description);
         Assert.False(string.IsNullOrEmpty(description.BuySignalDescription));
         Assert.False(string.IsNullOrEmpty(description.SellSignalDescription));
     }
 }