public async Task <SupportAndResistanceViewModel> GetSupportAndResistance(string symbol, string timeframe = null) { SupportAndResistance supportAndResistance = await _signalsProxyService.GetSupportAndResistance(symbol, timeframe); SupportAndResistanceViewModel result = Mapper.Map <SupportAndResistance, SupportAndResistanceViewModel>(supportAndResistance); return(result); }
private static void ConfigureSignalsMapping() { Mapper.CreateMap <SupportAndResistance, SupportAndResistanceViewModel>().ConvertUsing(model => { if (model == null) { return(null); } SupportAndResistanceViewModel viewModel = new SupportAndResistanceViewModel(); List <SupportAndResistanceValueViewModel> support = new List <SupportAndResistanceValueViewModel>(); List <SupportAndResistanceValueViewModel> resistance = new List <SupportAndResistanceValueViewModel>(); List <SupportAndResistanceValueViewModel> gapResistance = new List <SupportAndResistanceValueViewModel>(); List <SupportAndResistanceValueViewModel> gapSupport = new List <SupportAndResistanceValueViewModel>(); foreach (SupportAndResistanceValue value in model.Values) { SupportAndResistanceValueViewModel valueViewModel = Map(value); switch (value.Type) { case SupportAndResistanceValueType.MajorSupport: support.Add(valueViewModel); break; case SupportAndResistanceValueType.MajorResistance: resistance.Add(valueViewModel); break; case SupportAndResistanceValueType.GapSupport: gapSupport.Add(valueViewModel); break; case SupportAndResistanceValueType.GapResistance: gapResistance.Add(valueViewModel); break; default: throw new ArgumentOutOfRangeException(); } } support.SortDescending(vm => vm.Value); resistance.Sort(vm => vm.Value); gapSupport.SortDescending(vm => vm.Value); gapResistance.Sort(vm => vm.Value); viewModel.Support = support; viewModel.Resistance = resistance; viewModel.GapSupport = gapSupport; viewModel.GapResistance = gapResistance; return(viewModel); }); }