public async Task UpdateAsync(PublicContractKLine publicContractKLine) { await _context.PublicContractKLines.ReplaceOneAsync( doc => doc.Id == publicContractKLine.Id, publicContractKLine, new UpdateOptions { IsUpsert = true }); }
public async Task <ActionResult> RequestKLine() { try { var requestModel = new KLineRequestModel { instrument_id = "BTC-USD-200320", start = "2020-01-01T00:00:00Z", end = "2020-03-19T00:00:00Z", granularity = "900" }; var url = _oKEXSettings.BaseUrl + string.Format(DeliveryContractUrl.KLineUrl, requestModel.instrument_id, requestModel.start, requestModel.end, requestModel.granularity); var response = await _iOKEXHttpClient.GetStringAsync(url); //var result = JsonConvert.DeserializeObject<ArrayList>(response); if (response[0] == '[') { var result = JArray.Parse(response); if (result.Count > 0) { var list = new List <PublicContractKLine>(); foreach (var item in result) { var model = new PublicContractKLine(); model.instrument_id = requestModel.instrument_id; model.start = requestModel.start; model.end = requestModel.end; model.granularity = requestModel.granularity; model.timestamp = item[0].ToString(); model.open = item[1].ToString(); model.high = item[2].ToString(); model.low = item[3].ToString(); model.close = item[4].ToString(); model.volume = item[5].ToString(); model.currency_volume = item[6].ToString(); list.Add(model); } await _publicContractKLineRepository.AddRangeAsync(list); } } else { return(Ok(response)); } return(Ok()); } catch (Exception ex) { _logger.LogError(ex, "失败!"); return(StatusCode(500)); } }
public async Task AddAsync(PublicContractKLine publicContractKLine) { await _context.PublicContractKLines.InsertOneAsync(publicContractKLine); }