public async Task <Models.KeyValue> Get(Lib.KeyValuePair data) { //get current value var val = await GetValue(data); return(val); }
public async Task <IActionResult> Post([FromBody] Lib.KeyValuePair kvp) { if (!ModelState.IsValid) { return(BadRequest("Please check you request body, something is not correct")); } else if (kvp.Value < 0) { return(BadRequest("Did you mean /Decrement?")); } else if (kvp.Value == 0) { return(Ok("This endpoint does not increment by 0")); } var endPoint = await _bus.GetSendEndpoint(new Uri("queue:kvpQueue")); try { await endPoint.Send(kvp); return(Ok($"Value: {kvp.Value} has been queued for key: {kvp.Key}")); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
private async Task <Models.KeyValue> GetValue(Lib.KeyValuePair rec) { var data = await _ctx.KeyValues .Where(x => x.Key == rec.Key) .FirstOrDefaultAsync(); return(data); }
public async Task <IActionResult> Get(string key) { if (key == null) { return(BadRequest("you must pass a value")); } else { try { var record = new Lib.KeyValuePair(key, 0); var data = await _repo.Get(record); return(Ok(data)); } catch (System.Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } } }
public async Task Upsert(Lib.KeyValuePair data) { //get current val var val = await GetValue(data); if (val != null) { //update val.Value += data.Value; } else { //insert var row = new Models.KeyValue() { Key = data.Key, Value = data.Value }; await _ctx.AddAsync(row); } await _ctx.SaveChangesAsync(); }