Example #1
0
 public List<PairDTO> convertPair(DataTable dt)
 {
     List<PairDTO> result = new List<PairDTO>();
     foreach (DataRow dr in dt.Rows)
     {
         PairDTO pair = new PairDTO();
         pair.ma = dr.Field<string>("ma");
         pair.vido = dr.Field<double>("vido");
         pair.kinhdo = dr.Field<double>("kinhdo");
         pair.thoigian = dr.Field<long>("thoigian");
         result.Add(pair);
     }
     return result;
 }
Example #2
0
 private static Pair PairFromDTO(PairDTO pairDTO, ApplicationUser currentUser, CryptoContext context)
 {
     return(new Pair()
     {
         User = currentUser,
         FirstCurrency = context.Currencies.FirstOrDefault(c => c.Name.ToLower() == pairDTO.FirstCurrency.Name.ToLower()),
         SecondCurrency = context.Currencies.FirstOrDefault(c => c.Name.ToLower() == pairDTO.SecondCurrency.Name.ToLower()),
         State = pairDTO.State,
         HistoricalData = pairDTO.HistoricalData?.Select(p => p.ToString()).ToList(),
         PriceFirstToSecond = pairDTO.PriceFirstToSecond,
         PreviousPriceFirstToSecond = pairDTO.PreviousPriceFirstToSecond,
         TargetPrice = pairDTO.TargetPrice,
         IsNotifyOnPrice = pairDTO.IsNotifyOnPrice
     });
 }
Example #3
0
        public async Task <ActionResult <PairDTO> > PostPair(PairDTO pairDTO)
        {
            if (pairDTO.FirstCurrency.Name == pairDTO.SecondCurrency.Name)
            {
                return(NoContent());
            }
            var             id          = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            ApplicationUser currentUser = await _userManager.FindByIdAsync(id);

            Pair newPair = PairFromDTO(pairDTO, currentUser, _context);

            _context.Pairs.Add(newPair);
            await _context.SaveChangesAsync();

            //PairFromDTO fills a pair with all needed data, such as links, and here we get it back
            pairDTO = PairToDTO(newPair);
            return(pairDTO);
        }
        protected override List <ExchangePairsDTO> MapResponse(BaseCryptoCompareResponse <ExchangesResponse> response)
        {
            List <ExchangePairsDTO> exchangePairs = new List <ExchangePairsDTO>();

            if (response?.IsSuccess == true && response.Data?.Exchanges?.Count > 0)
            {
                foreach (var exchange in response.Data.Exchanges)
                {
                    ExchangePairsDTO exchangePairsDTO = new ExchangePairsDTO
                    {
                        Name  = exchange.Key,
                        Pairs = new List <PairDTO>()
                    };

                    foreach (var pairs in exchange.Value.Pairs)
                    {
                        foreach (var currTo in pairs.Value.TSYMS.Keys)
                        {
                            var pairDTO = new PairDTO
                            {
                                CurrencyFrom = pairs.Key,
                                CurrencyTo   = currTo
                            };

                            exchangePairsDTO.Pairs.Add(pairDTO);
                        }
                    }
                    exchangePairs.Add(exchangePairsDTO);
                }
            }
            else
            {
                ErrorResult(response?.Message);
            }
            return(exchangePairs);
        }