public async Task <ActionResult <GetPositionDTO[]> > GetHistoryAsync([FromQuery] PositionFilterModel filter) { var entities = await _manager.GetHistoryAsync(filter); var dtos = _mapper.Map <PositionEntity[], GetPositionDTO[]>(entities); return(Ok(dtos)); }
public async Task <PositionEntity[]> GetHistoryAsync(PositionFilterModel filter) { var entities = await _positionRepository.GetAsync(o => (!filter.MarketId.HasValue || o.MarketId == filter.MarketId) && (filter.UserId == null || o.UserId == filter.UserId) && (!filter.Quantity.HasValue || o.Quantity == filter.Quantity) && (!filter.AveragePrice.HasValue || o.AveragePrice == filter.AveragePrice) && (!filter.ProfitLoss.HasValue || o.ProfitLoss == filter.ProfitLoss) && (!filter.Timestamp.HasValue || o.Timestamp.Ticks == filter.Timestamp) && !o.Kind.IsOpened(), filter.Skip, filter.Take ); if (entities.Length == 0) { throw new NotFoundException(ErrorCode.PositionNotFound); } return(entities); }
public ActionResult Index(PositionFilterModel filter) { var model = _positionIndexBuilder.CreateFrom(filter); return(View(model)); }