public async Task <IActionResult> GetTradeById(int id) { var trade = await _tradeService.GetById(id); if (trade != null) { var resp = TradeMapper.MapTradeLogToDto(trade, _tradeService); return(Ok(resp)); } return(Ok(trade)); }
/// <summary> /// Parses string value /// </summary> /// <param name="value"> String to parse </param> /// <returns> Result of parsing </returns> /// <exception cref="ArgumentException"> /// <paramref name="value"> is invalid. </paramref> /// </exception> public Trade Parse(string value) { if (!_validator.IsValid(value)) { throw new ArgumentException($"The {nameof(value)} = {value} is invalid!"); } var fields = value.Split(new char[] { ',' }); return(TradeMapper.ToEntity(fields[0], fields[1], fields[2])); }
public async Task <IActionResult> SearchTrades([FromQuery(Name = "searchStr")] string searchStr) { var trades = await _tradeService.SearchTrades(searchStr); if (trades != null && trades.Any()) { var resp = new List <TradeResponseDTO>(); foreach (var trade in trades) { resp.Add(TradeMapper.MapTradeLogToDto(trade, _tradeService)); } return(Ok(resp)); } return(Ok(trades)); }
public async Task <IActionResult> GetAllTrades() { var trades = await _tradeService.GetAllTrades(); if (trades != null && trades.Any()) { var resp = new List <TradeResponseDTO>(); foreach (var trade in trades) { resp.Add(TradeMapper.MapTradeLogToDto(trade, _tradeService)); } return(Ok(resp)); } return(Ok(trades)); }
public async Task <IActionResult> ComprehensiveSearch(int?id, DateTime?startDate, DateTime?endDate, string exchange = "", string currencyCode = "") { if (startDate > endDate) { throw new Exception("start date cannot be greater than end date"); } var trades = await _tradeService .GetSearchedTradeLines(id, startDate, endDate, exchange, currencyCode); if (trades != null && trades.Any()) { var resp = new List <TradeResponseDTO>(); foreach (var trade in trades) { resp.Add(TradeMapper.MapTradeLogToDto(trade, _tradeService)); } return(Ok(resp)); } return(Ok(trades)); }